org.xml.sax.AttributeList#getValue ( )源码实例Demo

下面列出了org.xml.sax.AttributeList#getValue ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: jdk1.8-source-analysis   文件: XMLSerializer.java
public void startElement( String tagName, AttributeList attrs )
throws SAXException
{
    int          i;
    boolean      preserveSpace;
    ElementState state;
    String       name;
    String       value;


    if (DEBUG) {
        System.out.println("==>startElement("+tagName+")");
    }

    try {
        if (_printer == null) {
            String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.SERIALIZER_DOMAIN, "NoWriterSupplied", null);
            throw new IllegalStateException(msg);
        }

        state = getElementState();
        if (isDocumentState()) {
            // If this is the root element handle it differently.
            // If the first root element in the document, serialize
            // the document's DOCTYPE. Space preserving defaults
            // to that of the output format.
            if (! _started)
                startDocument( tagName );
        } else {
            // For any other element, if first in parent, then
            // close parent's opening tag and use the parnet's
            // space preserving.
            if (state.empty)
                _printer.printText( '>' );
            // Must leave CData section first
            if (state.inCData) {
                _printer.printText( "]]>" );
                state.inCData = false;
            }
            // Indent this element on a new line if the first
            // content of the parent element or immediately
            // following an element.
            if (_indenting && ! state.preserveSpace &&
                ( state.empty || state.afterElement || state.afterComment))
                _printer.breakLine();
        }
        preserveSpace = state.preserveSpace;

        // Do not change the current element state yet.
        // This only happens in endElement().

        _printer.printText( '<' );
        _printer.printText( tagName );
        _printer.indent();

        // For each attribute print it's name and value as one part,
        // separated with a space so the element can be broken on
        // multiple lines.
        if (attrs != null) {
            for (i = 0 ; i < attrs.getLength() ; ++i) {
                _printer.printSpace();
                name = attrs.getName( i );
                value = attrs.getValue( i );
                if (value != null) {
                    _printer.printText( name );
                    _printer.printText( "=\"" );
                    printEscaped( value );
                    _printer.printText( '"' );
                }

                // If the attribute xml:space exists, determine whether
                // to preserve spaces in this and child nodes based on
                // its value.
                if (name.equals( "xml:space" )) {
                    if (value.equals( "preserve" ))
                        preserveSpace = true;
                    else
                        preserveSpace = _format.getPreserveSpace();
                }
            }
        }
        // Now it's time to enter a new element state
        // with the tag name and space preserving.
        // We still do not change the curent element state.
        state = enterElementState( null, null, tagName, preserveSpace );
        state.doCData = _format.isCDataElement( tagName );
        state.unescaped = _format.isNonEscapingElement( tagName );
    } catch (IOException except) {
        throw new SAXException( except );
    }

}
 
源代码2 项目: jdk1.8-source-analysis   文件: SAXCatalogReader.java
/**
 * The SAX <code>startElement</code> method.
 *
 * <p>The catalog parser is selected based on the namespace of the
 * first element encountered in the catalog.</p>
 */
public void startElement (String name,
                          AttributeList atts)
  throws SAXException {

  if (abandonHope) {
    return;
  }

  if (saxParser == null) {
    String prefix = "";
    if (name.indexOf(':') > 0) {
      prefix = name.substring(0, name.indexOf(':'));
    }

    String localName = name;
    if (localName.indexOf(':') > 0) {
      localName = localName.substring(localName.indexOf(':')+1);
    }

    String namespaceURI = null;
    if (prefix.equals("")) {
      namespaceURI = atts.getValue("xmlns");
    } else {
      namespaceURI = atts.getValue("xmlns:" + prefix);
    }

    String saxParserClass = getCatalogParser(namespaceURI,
                                             localName);

    if (saxParserClass == null) {
      abandonHope = true;
      if (namespaceURI == null) {
        debug.message(2, "No Catalog parser for " + name);
      } else {
        debug.message(2, "No Catalog parser for "
                      + "{" + namespaceURI + "}"
                      + name);
      }
      return;
    }

    try {
      saxParser = (SAXCatalogParser)
        ReflectUtil.forName(saxParserClass).newInstance();

      saxParser.setCatalog(catalog);
      saxParser.startDocument();
      saxParser.startElement(name, atts);
    } catch (ClassNotFoundException cnfe) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cnfe.toString());
    } catch (InstantiationException ie) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, ie.toString());
    } catch (IllegalAccessException iae) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, iae.toString());
    } catch (ClassCastException cce ) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cce.toString());
    }
  } else {
    saxParser.startElement(name, atts);
  }
}
 
源代码3 项目: TencentKona-8   文件: XMLSerializer.java
public void startElement( String tagName, AttributeList attrs )
throws SAXException
{
    int          i;
    boolean      preserveSpace;
    ElementState state;
    String       name;
    String       value;


    if (DEBUG) {
        System.out.println("==>startElement("+tagName+")");
    }

    try {
        if (_printer == null) {
            String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.SERIALIZER_DOMAIN, "NoWriterSupplied", null);
            throw new IllegalStateException(msg);
        }

        state = getElementState();
        if (isDocumentState()) {
            // If this is the root element handle it differently.
            // If the first root element in the document, serialize
            // the document's DOCTYPE. Space preserving defaults
            // to that of the output format.
            if (! _started)
                startDocument( tagName );
        } else {
            // For any other element, if first in parent, then
            // close parent's opening tag and use the parnet's
            // space preserving.
            if (state.empty)
                _printer.printText( '>' );
            // Must leave CData section first
            if (state.inCData) {
                _printer.printText( "]]>" );
                state.inCData = false;
            }
            // Indent this element on a new line if the first
            // content of the parent element or immediately
            // following an element.
            if (_indenting && ! state.preserveSpace &&
                ( state.empty || state.afterElement || state.afterComment))
                _printer.breakLine();
        }
        preserveSpace = state.preserveSpace;

        // Do not change the current element state yet.
        // This only happens in endElement().

        _printer.printText( '<' );
        _printer.printText( tagName );
        _printer.indent();

        // For each attribute print it's name and value as one part,
        // separated with a space so the element can be broken on
        // multiple lines.
        if (attrs != null) {
            for (i = 0 ; i < attrs.getLength() ; ++i) {
                _printer.printSpace();
                name = attrs.getName( i );
                value = attrs.getValue( i );
                if (value != null) {
                    _printer.printText( name );
                    _printer.printText( "=\"" );
                    printEscaped( value );
                    _printer.printText( '"' );
                }

                // If the attribute xml:space exists, determine whether
                // to preserve spaces in this and child nodes based on
                // its value.
                if (name.equals( "xml:space" )) {
                    if (value.equals( "preserve" ))
                        preserveSpace = true;
                    else
                        preserveSpace = _format.getPreserveSpace();
                }
            }
        }
        // Now it's time to enter a new element state
        // with the tag name and space preserving.
        // We still do not change the curent element state.
        state = enterElementState( null, null, tagName, preserveSpace );
        state.doCData = _format.isCDataElement( tagName );
        state.unescaped = _format.isNonEscapingElement( tagName );
    } catch (IOException except) {
        throw new SAXException( except );
    }

}
 
源代码4 项目: TencentKona-8   文件: SAXCatalogReader.java
/**
 * The SAX <code>startElement</code> method.
 *
 * <p>The catalog parser is selected based on the namespace of the
 * first element encountered in the catalog.</p>
 */
public void startElement (String name,
                          AttributeList atts)
  throws SAXException {

  if (abandonHope) {
    return;
  }

  if (saxParser == null) {
    String prefix = "";
    if (name.indexOf(':') > 0) {
      prefix = name.substring(0, name.indexOf(':'));
    }

    String localName = name;
    if (localName.indexOf(':') > 0) {
      localName = localName.substring(localName.indexOf(':')+1);
    }

    String namespaceURI = null;
    if (prefix.equals("")) {
      namespaceURI = atts.getValue("xmlns");
    } else {
      namespaceURI = atts.getValue("xmlns:" + prefix);
    }

    String saxParserClass = getCatalogParser(namespaceURI,
                                             localName);

    if (saxParserClass == null) {
      abandonHope = true;
      if (namespaceURI == null) {
        debug.message(2, "No Catalog parser for " + name);
      } else {
        debug.message(2, "No Catalog parser for "
                      + "{" + namespaceURI + "}"
                      + name);
      }
      return;
    }

    try {
      saxParser = (SAXCatalogParser)
        ReflectUtil.forName(saxParserClass).newInstance();

      saxParser.setCatalog(catalog);
      saxParser.startDocument();
      saxParser.startElement(name, atts);
    } catch (ClassNotFoundException cnfe) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cnfe.toString());
    } catch (InstantiationException ie) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, ie.toString());
    } catch (IllegalAccessException iae) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, iae.toString());
    } catch (ClassCastException cce ) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cce.toString());
    }
  } else {
    saxParser.startElement(name, atts);
  }
}
 
源代码5 项目: jdk8u60   文件: XMLSerializer.java
public void startElement( String tagName, AttributeList attrs )
throws SAXException
{
    int          i;
    boolean      preserveSpace;
    ElementState state;
    String       name;
    String       value;


    if (DEBUG) {
        System.out.println("==>startElement("+tagName+")");
    }

    try {
        if (_printer == null) {
            String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.SERIALIZER_DOMAIN, "NoWriterSupplied", null);
            throw new IllegalStateException(msg);
        }

        state = getElementState();
        if (isDocumentState()) {
            // If this is the root element handle it differently.
            // If the first root element in the document, serialize
            // the document's DOCTYPE. Space preserving defaults
            // to that of the output format.
            if (! _started)
                startDocument( tagName );
        } else {
            // For any other element, if first in parent, then
            // close parent's opening tag and use the parnet's
            // space preserving.
            if (state.empty)
                _printer.printText( '>' );
            // Must leave CData section first
            if (state.inCData) {
                _printer.printText( "]]>" );
                state.inCData = false;
            }
            // Indent this element on a new line if the first
            // content of the parent element or immediately
            // following an element.
            if (_indenting && ! state.preserveSpace &&
                ( state.empty || state.afterElement || state.afterComment))
                _printer.breakLine();
        }
        preserveSpace = state.preserveSpace;

        // Do not change the current element state yet.
        // This only happens in endElement().

        _printer.printText( '<' );
        _printer.printText( tagName );
        _printer.indent();

        // For each attribute print it's name and value as one part,
        // separated with a space so the element can be broken on
        // multiple lines.
        if (attrs != null) {
            for (i = 0 ; i < attrs.getLength() ; ++i) {
                _printer.printSpace();
                name = attrs.getName( i );
                value = attrs.getValue( i );
                if (value != null) {
                    _printer.printText( name );
                    _printer.printText( "=\"" );
                    printEscaped( value );
                    _printer.printText( '"' );
                }

                // If the attribute xml:space exists, determine whether
                // to preserve spaces in this and child nodes based on
                // its value.
                if (name.equals( "xml:space" )) {
                    if (value.equals( "preserve" ))
                        preserveSpace = true;
                    else
                        preserveSpace = _format.getPreserveSpace();
                }
            }
        }
        // Now it's time to enter a new element state
        // with the tag name and space preserving.
        // We still do not change the curent element state.
        state = enterElementState( null, null, tagName, preserveSpace );
        state.doCData = _format.isCDataElement( tagName );
        state.unescaped = _format.isNonEscapingElement( tagName );
    } catch (IOException except) {
        throw new SAXException( except );
    }

}
 
源代码6 项目: jdk8u60   文件: SAXCatalogReader.java
/**
 * The SAX <code>startElement</code> method.
 *
 * <p>The catalog parser is selected based on the namespace of the
 * first element encountered in the catalog.</p>
 */
public void startElement (String name,
                          AttributeList atts)
  throws SAXException {

  if (abandonHope) {
    return;
  }

  if (saxParser == null) {
    String prefix = "";
    if (name.indexOf(':') > 0) {
      prefix = name.substring(0, name.indexOf(':'));
    }

    String localName = name;
    if (localName.indexOf(':') > 0) {
      localName = localName.substring(localName.indexOf(':')+1);
    }

    String namespaceURI = null;
    if (prefix.equals("")) {
      namespaceURI = atts.getValue("xmlns");
    } else {
      namespaceURI = atts.getValue("xmlns:" + prefix);
    }

    String saxParserClass = getCatalogParser(namespaceURI,
                                             localName);

    if (saxParserClass == null) {
      abandonHope = true;
      if (namespaceURI == null) {
        debug.message(2, "No Catalog parser for " + name);
      } else {
        debug.message(2, "No Catalog parser for "
                      + "{" + namespaceURI + "}"
                      + name);
      }
      return;
    }

    try {
      saxParser = (SAXCatalogParser)
        ReflectUtil.forName(saxParserClass).newInstance();

      saxParser.setCatalog(catalog);
      saxParser.startDocument();
      saxParser.startElement(name, atts);
    } catch (ClassNotFoundException cnfe) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cnfe.toString());
    } catch (InstantiationException ie) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, ie.toString());
    } catch (IllegalAccessException iae) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, iae.toString());
    } catch (ClassCastException cce ) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cce.toString());
    }
  } else {
    saxParser.startElement(name, atts);
  }
}
 
源代码7 项目: JDKSourceCode1.8   文件: XMLSerializer.java
public void startElement( String tagName, AttributeList attrs )
throws SAXException
{
    int          i;
    boolean      preserveSpace;
    ElementState state;
    String       name;
    String       value;


    if (DEBUG) {
        System.out.println("==>startElement("+tagName+")");
    }

    try {
        if (_printer == null) {
            String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.SERIALIZER_DOMAIN, "NoWriterSupplied", null);
            throw new IllegalStateException(msg);
        }

        state = getElementState();
        if (isDocumentState()) {
            // If this is the root element handle it differently.
            // If the first root element in the document, serialize
            // the document's DOCTYPE. Space preserving defaults
            // to that of the output format.
            if (! _started)
                startDocument( tagName );
        } else {
            // For any other element, if first in parent, then
            // close parent's opening tag and use the parnet's
            // space preserving.
            if (state.empty)
                _printer.printText( '>' );
            // Must leave CData section first
            if (state.inCData) {
                _printer.printText( "]]>" );
                state.inCData = false;
            }
            // Indent this element on a new line if the first
            // content of the parent element or immediately
            // following an element.
            if (_indenting && ! state.preserveSpace &&
                ( state.empty || state.afterElement || state.afterComment))
                _printer.breakLine();
        }
        preserveSpace = state.preserveSpace;

        // Do not change the current element state yet.
        // This only happens in endElement().

        _printer.printText( '<' );
        _printer.printText( tagName );
        _printer.indent();

        // For each attribute print it's name and value as one part,
        // separated with a space so the element can be broken on
        // multiple lines.
        if (attrs != null) {
            for (i = 0 ; i < attrs.getLength() ; ++i) {
                _printer.printSpace();
                name = attrs.getName( i );
                value = attrs.getValue( i );
                if (value != null) {
                    _printer.printText( name );
                    _printer.printText( "=\"" );
                    printEscaped( value );
                    _printer.printText( '"' );
                }

                // If the attribute xml:space exists, determine whether
                // to preserve spaces in this and child nodes based on
                // its value.
                if (name.equals( "xml:space" )) {
                    if (value.equals( "preserve" ))
                        preserveSpace = true;
                    else
                        preserveSpace = _format.getPreserveSpace();
                }
            }
        }
        // Now it's time to enter a new element state
        // with the tag name and space preserving.
        // We still do not change the curent element state.
        state = enterElementState( null, null, tagName, preserveSpace );
        state.doCData = _format.isCDataElement( tagName );
        state.unescaped = _format.isNonEscapingElement( tagName );
    } catch (IOException except) {
        throw new SAXException( except );
    }

}
 
源代码8 项目: JDKSourceCode1.8   文件: SAXCatalogReader.java
/**
 * The SAX <code>startElement</code> method.
 *
 * <p>The catalog parser is selected based on the namespace of the
 * first element encountered in the catalog.</p>
 */
public void startElement (String name,
                          AttributeList atts)
  throws SAXException {

  if (abandonHope) {
    return;
  }

  if (saxParser == null) {
    String prefix = "";
    if (name.indexOf(':') > 0) {
      prefix = name.substring(0, name.indexOf(':'));
    }

    String localName = name;
    if (localName.indexOf(':') > 0) {
      localName = localName.substring(localName.indexOf(':')+1);
    }

    String namespaceURI = null;
    if (prefix.equals("")) {
      namespaceURI = atts.getValue("xmlns");
    } else {
      namespaceURI = atts.getValue("xmlns:" + prefix);
    }

    String saxParserClass = getCatalogParser(namespaceURI,
                                             localName);

    if (saxParserClass == null) {
      abandonHope = true;
      if (namespaceURI == null) {
        debug.message(2, "No Catalog parser for " + name);
      } else {
        debug.message(2, "No Catalog parser for "
                      + "{" + namespaceURI + "}"
                      + name);
      }
      return;
    }

    try {
      saxParser = (SAXCatalogParser)
        ReflectUtil.forName(saxParserClass).newInstance();

      saxParser.setCatalog(catalog);
      saxParser.startDocument();
      saxParser.startElement(name, atts);
    } catch (ClassNotFoundException cnfe) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cnfe.toString());
    } catch (InstantiationException ie) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, ie.toString());
    } catch (IllegalAccessException iae) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, iae.toString());
    } catch (ClassCastException cce ) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cce.toString());
    }
  } else {
    saxParser.startElement(name, atts);
  }
}
 
源代码9 项目: openjdk-jdk8u   文件: XMLSerializer.java
public void startElement( String tagName, AttributeList attrs )
throws SAXException
{
    int          i;
    boolean      preserveSpace;
    ElementState state;
    String       name;
    String       value;


    if (DEBUG) {
        System.out.println("==>startElement("+tagName+")");
    }

    try {
        if (_printer == null) {
            String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.SERIALIZER_DOMAIN, "NoWriterSupplied", null);
            throw new IllegalStateException(msg);
        }

        state = getElementState();
        if (isDocumentState()) {
            // If this is the root element handle it differently.
            // If the first root element in the document, serialize
            // the document's DOCTYPE. Space preserving defaults
            // to that of the output format.
            if (! _started)
                startDocument( tagName );
        } else {
            // For any other element, if first in parent, then
            // close parent's opening tag and use the parnet's
            // space preserving.
            if (state.empty)
                _printer.printText( '>' );
            // Must leave CData section first
            if (state.inCData) {
                _printer.printText( "]]>" );
                state.inCData = false;
            }
            // Indent this element on a new line if the first
            // content of the parent element or immediately
            // following an element.
            if (_indenting && ! state.preserveSpace &&
                ( state.empty || state.afterElement || state.afterComment))
                _printer.breakLine();
        }
        preserveSpace = state.preserveSpace;

        // Do not change the current element state yet.
        // This only happens in endElement().

        _printer.printText( '<' );
        _printer.printText( tagName );
        _printer.indent();

        // For each attribute print it's name and value as one part,
        // separated with a space so the element can be broken on
        // multiple lines.
        if (attrs != null) {
            for (i = 0 ; i < attrs.getLength() ; ++i) {
                _printer.printSpace();
                name = attrs.getName( i );
                value = attrs.getValue( i );
                if (value != null) {
                    _printer.printText( name );
                    _printer.printText( "=\"" );
                    printEscaped( value );
                    _printer.printText( '"' );
                }

                // If the attribute xml:space exists, determine whether
                // to preserve spaces in this and child nodes based on
                // its value.
                if (name.equals( "xml:space" )) {
                    if (value.equals( "preserve" ))
                        preserveSpace = true;
                    else
                        preserveSpace = _format.getPreserveSpace();
                }
            }
        }
        // Now it's time to enter a new element state
        // with the tag name and space preserving.
        // We still do not change the curent element state.
        state = enterElementState( null, null, tagName, preserveSpace );
        state.doCData = _format.isCDataElement( tagName );
        state.unescaped = _format.isNonEscapingElement( tagName );
    } catch (IOException except) {
        throw new SAXException( except );
    }

}
 
源代码10 项目: openjdk-jdk8u   文件: SAXCatalogReader.java
/**
 * The SAX <code>startElement</code> method.
 *
 * <p>The catalog parser is selected based on the namespace of the
 * first element encountered in the catalog.</p>
 */
public void startElement (String name,
                          AttributeList atts)
  throws SAXException {

  if (abandonHope) {
    return;
  }

  if (saxParser == null) {
    String prefix = "";
    if (name.indexOf(':') > 0) {
      prefix = name.substring(0, name.indexOf(':'));
    }

    String localName = name;
    if (localName.indexOf(':') > 0) {
      localName = localName.substring(localName.indexOf(':')+1);
    }

    String namespaceURI = null;
    if (prefix.equals("")) {
      namespaceURI = atts.getValue("xmlns");
    } else {
      namespaceURI = atts.getValue("xmlns:" + prefix);
    }

    String saxParserClass = getCatalogParser(namespaceURI,
                                             localName);

    if (saxParserClass == null) {
      abandonHope = true;
      if (namespaceURI == null) {
        debug.message(2, "No Catalog parser for " + name);
      } else {
        debug.message(2, "No Catalog parser for "
                      + "{" + namespaceURI + "}"
                      + name);
      }
      return;
    }

    try {
      saxParser = (SAXCatalogParser)
        ReflectUtil.forName(saxParserClass).newInstance();

      saxParser.setCatalog(catalog);
      saxParser.startDocument();
      saxParser.startElement(name, atts);
    } catch (ClassNotFoundException cnfe) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cnfe.toString());
    } catch (InstantiationException ie) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, ie.toString());
    } catch (IllegalAccessException iae) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, iae.toString());
    } catch (ClassCastException cce ) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cce.toString());
    }
  } else {
    saxParser.startElement(name, atts);
  }
}
 
源代码11 项目: openjdk-jdk8u-backup   文件: XMLSerializer.java
public void startElement( String tagName, AttributeList attrs )
throws SAXException
{
    int          i;
    boolean      preserveSpace;
    ElementState state;
    String       name;
    String       value;


    if (DEBUG) {
        System.out.println("==>startElement("+tagName+")");
    }

    try {
        if (_printer == null) {
            String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.SERIALIZER_DOMAIN, "NoWriterSupplied", null);
            throw new IllegalStateException(msg);
        }

        state = getElementState();
        if (isDocumentState()) {
            // If this is the root element handle it differently.
            // If the first root element in the document, serialize
            // the document's DOCTYPE. Space preserving defaults
            // to that of the output format.
            if (! _started)
                startDocument( tagName );
        } else {
            // For any other element, if first in parent, then
            // close parent's opening tag and use the parnet's
            // space preserving.
            if (state.empty)
                _printer.printText( '>' );
            // Must leave CData section first
            if (state.inCData) {
                _printer.printText( "]]>" );
                state.inCData = false;
            }
            // Indent this element on a new line if the first
            // content of the parent element or immediately
            // following an element.
            if (_indenting && ! state.preserveSpace &&
                ( state.empty || state.afterElement || state.afterComment))
                _printer.breakLine();
        }
        preserveSpace = state.preserveSpace;

        // Do not change the current element state yet.
        // This only happens in endElement().

        _printer.printText( '<' );
        _printer.printText( tagName );
        _printer.indent();

        // For each attribute print it's name and value as one part,
        // separated with a space so the element can be broken on
        // multiple lines.
        if (attrs != null) {
            for (i = 0 ; i < attrs.getLength() ; ++i) {
                _printer.printSpace();
                name = attrs.getName( i );
                value = attrs.getValue( i );
                if (value != null) {
                    _printer.printText( name );
                    _printer.printText( "=\"" );
                    printEscaped( value );
                    _printer.printText( '"' );
                }

                // If the attribute xml:space exists, determine whether
                // to preserve spaces in this and child nodes based on
                // its value.
                if (name.equals( "xml:space" )) {
                    if (value.equals( "preserve" ))
                        preserveSpace = true;
                    else
                        preserveSpace = _format.getPreserveSpace();
                }
            }
        }
        // Now it's time to enter a new element state
        // with the tag name and space preserving.
        // We still do not change the curent element state.
        state = enterElementState( null, null, tagName, preserveSpace );
        state.doCData = _format.isCDataElement( tagName );
        state.unescaped = _format.isNonEscapingElement( tagName );
    } catch (IOException except) {
        throw new SAXException( except );
    }

}
 
源代码12 项目: openjdk-jdk8u-backup   文件: SAXCatalogReader.java
/**
 * The SAX <code>startElement</code> method.
 *
 * <p>The catalog parser is selected based on the namespace of the
 * first element encountered in the catalog.</p>
 */
public void startElement (String name,
                          AttributeList atts)
  throws SAXException {

  if (abandonHope) {
    return;
  }

  if (saxParser == null) {
    String prefix = "";
    if (name.indexOf(':') > 0) {
      prefix = name.substring(0, name.indexOf(':'));
    }

    String localName = name;
    if (localName.indexOf(':') > 0) {
      localName = localName.substring(localName.indexOf(':')+1);
    }

    String namespaceURI = null;
    if (prefix.equals("")) {
      namespaceURI = atts.getValue("xmlns");
    } else {
      namespaceURI = atts.getValue("xmlns:" + prefix);
    }

    String saxParserClass = getCatalogParser(namespaceURI,
                                             localName);

    if (saxParserClass == null) {
      abandonHope = true;
      if (namespaceURI == null) {
        debug.message(2, "No Catalog parser for " + name);
      } else {
        debug.message(2, "No Catalog parser for "
                      + "{" + namespaceURI + "}"
                      + name);
      }
      return;
    }

    try {
      saxParser = (SAXCatalogParser)
        ReflectUtil.forName(saxParserClass).newInstance();

      saxParser.setCatalog(catalog);
      saxParser.startDocument();
      saxParser.startElement(name, atts);
    } catch (ClassNotFoundException cnfe) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cnfe.toString());
    } catch (InstantiationException ie) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, ie.toString());
    } catch (IllegalAccessException iae) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, iae.toString());
    } catch (ClassCastException cce ) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cce.toString());
    }
  } else {
    saxParser.startElement(name, atts);
  }
}
 
源代码13 项目: openjdk-8   文件: SAXCatalogReader.java
/**
 * The SAX <code>startElement</code> method.
 *
 * <p>The catalog parser is selected based on the namespace of the
 * first element encountered in the catalog.</p>
 */
public void startElement (String name,
                          AttributeList atts)
  throws SAXException {

  if (abandonHope) {
    return;
  }

  if (saxParser == null) {
    String prefix = "";
    if (name.indexOf(':') > 0) {
      prefix = name.substring(0, name.indexOf(':'));
    }

    String localName = name;
    if (localName.indexOf(':') > 0) {
      localName = localName.substring(localName.indexOf(':')+1);
    }

    String namespaceURI = null;
    if (prefix.equals("")) {
      namespaceURI = atts.getValue("xmlns");
    } else {
      namespaceURI = atts.getValue("xmlns:" + prefix);
    }

    String saxParserClass = getCatalogParser(namespaceURI,
                                             localName);

    if (saxParserClass == null) {
      abandonHope = true;
      if (namespaceURI == null) {
        debug.message(2, "No Catalog parser for " + name);
      } else {
        debug.message(2, "No Catalog parser for "
                      + "{" + namespaceURI + "}"
                      + name);
      }
      return;
    }

    try {
      saxParser = (SAXCatalogParser)
        ReflectUtil.forName(saxParserClass).newInstance();

      saxParser.setCatalog(catalog);
      saxParser.startDocument();
      saxParser.startElement(name, atts);
    } catch (ClassNotFoundException cnfe) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cnfe.toString());
    } catch (InstantiationException ie) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, ie.toString());
    } catch (IllegalAccessException iae) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, iae.toString());
    } catch (ClassCastException cce ) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cce.toString());
    }
  } else {
    saxParser.startElement(name, atts);
  }
}
 
源代码14 项目: openjdk-jdk9   文件: XMLSerializer.java
public void startElement( String tagName, AttributeList attrs )
throws SAXException
{
    int          i;
    boolean      preserveSpace;
    ElementState state;
    String       name;
    String       value;


    if (DEBUG) {
        System.out.println("==>startElement("+tagName+")");
    }

    try {
        if (_printer == null) {
            String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.SERIALIZER_DOMAIN, "NoWriterSupplied", null);
            throw new IllegalStateException(msg);
        }

        state = getElementState();
        if (isDocumentState()) {
            // If this is the root element handle it differently.
            // If the first root element in the document, serialize
            // the document's DOCTYPE. Space preserving defaults
            // to that of the output format.
            if (! _started)
                startDocument( tagName );
        } else {
            // For any other element, if first in parent, then
            // close parent's opening tag and use the parnet's
            // space preserving.
            if (state.empty)
                _printer.printText( '>' );
            // Must leave CData section first
            if (state.inCData) {
                _printer.printText( "]]>" );
                state.inCData = false;
            }
            // Indent this element on a new line if the first
            // content of the parent element or immediately
            // following an element.
            if (_indenting && ! state.preserveSpace &&
                ( state.empty || state.afterElement || state.afterComment))
                _printer.breakLine();
        }
        preserveSpace = state.preserveSpace;

        // Do not change the current element state yet.
        // This only happens in endElement().

        _printer.printText( '<' );
        _printer.printText( tagName );
        _printer.indent();

        // For each attribute print it's name and value as one part,
        // separated with a space so the element can be broken on
        // multiple lines.
        if (attrs != null) {
            for (i = 0 ; i < attrs.getLength() ; ++i) {
                _printer.printSpace();
                name = attrs.getName( i );
                value = attrs.getValue( i );
                if (value != null) {
                    _printer.printText( name );
                    _printer.printText( "=\"" );
                    printEscaped( value );
                    _printer.printText( '"' );
                }

                // If the attribute xml:space exists, determine whether
                // to preserve spaces in this and child nodes based on
                // its value.
                if (name.equals( "xml:space" )) {
                    if (value.equals( "preserve" ))
                        preserveSpace = true;
                    else
                        preserveSpace = _format.getPreserveSpace();
                }
            }
        }
        // Now it's time to enter a new element state
        // with the tag name and space preserving.
        // We still do not change the curent element state.
        state = enterElementState( null, null, tagName, preserveSpace );
        state.doCData = _format.isCDataElement( tagName );
        state.unescaped = _format.isNonEscapingElement( tagName );
    } catch (IOException except) {
        throw new SAXException( except );
    }

}
 
源代码15 项目: openjdk-jdk9   文件: SAXCatalogReader.java
/**
 * The SAX <code>startElement</code> method.
 *
 * <p>The catalog parser is selected based on the namespace of the
 * first element encountered in the catalog.</p>
 */
public void startElement (String name,
        AttributeList atts)
                throws SAXException {

    if (abandonHope) {
        return;
    }

    if (saxParser == null) {
        String prefix = "";
        if (name.indexOf(':') > 0) {
            prefix = name.substring(0, name.indexOf(':'));
        }

        String localName = name;
        if (localName.indexOf(':') > 0) {
            localName = localName.substring(localName.indexOf(':')+1);
        }

        String namespaceURI = null;
        if (prefix.length() == 0) {
            namespaceURI = atts.getValue("xmlns");
        } else {
            namespaceURI = atts.getValue("xmlns:" + prefix);
        }

        String saxParserClass = getCatalogParser(namespaceURI,
                localName);

        if (saxParserClass == null) {
            abandonHope = true;
            if (namespaceURI == null) {
                debug.message(2, "No Catalog parser for " + name);
            } else {
                debug.message(2, "No Catalog parser for "
                        + "{" + namespaceURI + "}"
                        + name);
            }
            return;
        }

        try {
            saxParser = (SAXCatalogParser)
                    ReflectUtil.forName(saxParserClass).newInstance();

            saxParser.setCatalog(catalog);
            saxParser.startDocument();
            saxParser.startElement(name, atts);
        } catch (ClassNotFoundException cnfe) {
            saxParser = null;
            abandonHope = true;
            debug.message(2, cnfe.toString());
        } catch (InstantiationException ie) {
            saxParser = null;
            abandonHope = true;
            debug.message(2, ie.toString());
        } catch (IllegalAccessException iae) {
            saxParser = null;
            abandonHope = true;
            debug.message(2, iae.toString());
        } catch (ClassCastException cce ) {
            saxParser = null;
            abandonHope = true;
            debug.message(2, cce.toString());
        }
    } else {
        saxParser.startElement(name, atts);
    }
}
 
源代码16 项目: hottub   文件: XMLSerializer.java
public void startElement( String tagName, AttributeList attrs )
throws SAXException
{
    int          i;
    boolean      preserveSpace;
    ElementState state;
    String       name;
    String       value;


    if (DEBUG) {
        System.out.println("==>startElement("+tagName+")");
    }

    try {
        if (_printer == null) {
            String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.SERIALIZER_DOMAIN, "NoWriterSupplied", null);
            throw new IllegalStateException(msg);
        }

        state = getElementState();
        if (isDocumentState()) {
            // If this is the root element handle it differently.
            // If the first root element in the document, serialize
            // the document's DOCTYPE. Space preserving defaults
            // to that of the output format.
            if (! _started)
                startDocument( tagName );
        } else {
            // For any other element, if first in parent, then
            // close parent's opening tag and use the parnet's
            // space preserving.
            if (state.empty)
                _printer.printText( '>' );
            // Must leave CData section first
            if (state.inCData) {
                _printer.printText( "]]>" );
                state.inCData = false;
            }
            // Indent this element on a new line if the first
            // content of the parent element or immediately
            // following an element.
            if (_indenting && ! state.preserveSpace &&
                ( state.empty || state.afterElement || state.afterComment))
                _printer.breakLine();
        }
        preserveSpace = state.preserveSpace;

        // Do not change the current element state yet.
        // This only happens in endElement().

        _printer.printText( '<' );
        _printer.printText( tagName );
        _printer.indent();

        // For each attribute print it's name and value as one part,
        // separated with a space so the element can be broken on
        // multiple lines.
        if (attrs != null) {
            for (i = 0 ; i < attrs.getLength() ; ++i) {
                _printer.printSpace();
                name = attrs.getName( i );
                value = attrs.getValue( i );
                if (value != null) {
                    _printer.printText( name );
                    _printer.printText( "=\"" );
                    printEscaped( value );
                    _printer.printText( '"' );
                }

                // If the attribute xml:space exists, determine whether
                // to preserve spaces in this and child nodes based on
                // its value.
                if (name.equals( "xml:space" )) {
                    if (value.equals( "preserve" ))
                        preserveSpace = true;
                    else
                        preserveSpace = _format.getPreserveSpace();
                }
            }
        }
        // Now it's time to enter a new element state
        // with the tag name and space preserving.
        // We still do not change the curent element state.
        state = enterElementState( null, null, tagName, preserveSpace );
        state.doCData = _format.isCDataElement( tagName );
        state.unescaped = _format.isNonEscapingElement( tagName );
    } catch (IOException except) {
        throw new SAXException( except );
    }

}
 
源代码17 项目: hottub   文件: SAXCatalogReader.java
/**
 * The SAX <code>startElement</code> method.
 *
 * <p>The catalog parser is selected based on the namespace of the
 * first element encountered in the catalog.</p>
 */
public void startElement (String name,
                          AttributeList atts)
  throws SAXException {

  if (abandonHope) {
    return;
  }

  if (saxParser == null) {
    String prefix = "";
    if (name.indexOf(':') > 0) {
      prefix = name.substring(0, name.indexOf(':'));
    }

    String localName = name;
    if (localName.indexOf(':') > 0) {
      localName = localName.substring(localName.indexOf(':')+1);
    }

    String namespaceURI = null;
    if (prefix.equals("")) {
      namespaceURI = atts.getValue("xmlns");
    } else {
      namespaceURI = atts.getValue("xmlns:" + prefix);
    }

    String saxParserClass = getCatalogParser(namespaceURI,
                                             localName);

    if (saxParserClass == null) {
      abandonHope = true;
      if (namespaceURI == null) {
        debug.message(2, "No Catalog parser for " + name);
      } else {
        debug.message(2, "No Catalog parser for "
                      + "{" + namespaceURI + "}"
                      + name);
      }
      return;
    }

    try {
      saxParser = (SAXCatalogParser)
        ReflectUtil.forName(saxParserClass).newInstance();

      saxParser.setCatalog(catalog);
      saxParser.startDocument();
      saxParser.startElement(name, atts);
    } catch (ClassNotFoundException cnfe) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cnfe.toString());
    } catch (InstantiationException ie) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, ie.toString());
    } catch (IllegalAccessException iae) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, iae.toString());
    } catch (ClassCastException cce ) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cce.toString());
    }
  } else {
    saxParser.startElement(name, atts);
  }
}
 
源代码18 项目: openjdk-8-source   文件: XMLSerializer.java
public void startElement( String tagName, AttributeList attrs )
throws SAXException
{
    int          i;
    boolean      preserveSpace;
    ElementState state;
    String       name;
    String       value;


    if (DEBUG) {
        System.out.println("==>startElement("+tagName+")");
    }

    try {
        if (_printer == null) {
            String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.SERIALIZER_DOMAIN, "NoWriterSupplied", null);
            throw new IllegalStateException(msg);
        }

        state = getElementState();
        if (isDocumentState()) {
            // If this is the root element handle it differently.
            // If the first root element in the document, serialize
            // the document's DOCTYPE. Space preserving defaults
            // to that of the output format.
            if (! _started)
                startDocument( tagName );
        } else {
            // For any other element, if first in parent, then
            // close parent's opening tag and use the parnet's
            // space preserving.
            if (state.empty)
                _printer.printText( '>' );
            // Must leave CData section first
            if (state.inCData) {
                _printer.printText( "]]>" );
                state.inCData = false;
            }
            // Indent this element on a new line if the first
            // content of the parent element or immediately
            // following an element.
            if (_indenting && ! state.preserveSpace &&
                ( state.empty || state.afterElement || state.afterComment))
                _printer.breakLine();
        }
        preserveSpace = state.preserveSpace;

        // Do not change the current element state yet.
        // This only happens in endElement().

        _printer.printText( '<' );
        _printer.printText( tagName );
        _printer.indent();

        // For each attribute print it's name and value as one part,
        // separated with a space so the element can be broken on
        // multiple lines.
        if (attrs != null) {
            for (i = 0 ; i < attrs.getLength() ; ++i) {
                _printer.printSpace();
                name = attrs.getName( i );
                value = attrs.getValue( i );
                if (value != null) {
                    _printer.printText( name );
                    _printer.printText( "=\"" );
                    printEscaped( value );
                    _printer.printText( '"' );
                }

                // If the attribute xml:space exists, determine whether
                // to preserve spaces in this and child nodes based on
                // its value.
                if (name.equals( "xml:space" )) {
                    if (value.equals( "preserve" ))
                        preserveSpace = true;
                    else
                        preserveSpace = _format.getPreserveSpace();
                }
            }
        }
        // Now it's time to enter a new element state
        // with the tag name and space preserving.
        // We still do not change the curent element state.
        state = enterElementState( null, null, tagName, preserveSpace );
        state.doCData = _format.isCDataElement( tagName );
        state.unescaped = _format.isNonEscapingElement( tagName );
    } catch (IOException except) {
        throw new SAXException( except );
    }

}
 
源代码19 项目: openjdk-8-source   文件: SAXCatalogReader.java
/**
 * The SAX <code>startElement</code> method.
 *
 * <p>The catalog parser is selected based on the namespace of the
 * first element encountered in the catalog.</p>
 */
public void startElement (String name,
                          AttributeList atts)
  throws SAXException {

  if (abandonHope) {
    return;
  }

  if (saxParser == null) {
    String prefix = "";
    if (name.indexOf(':') > 0) {
      prefix = name.substring(0, name.indexOf(':'));
    }

    String localName = name;
    if (localName.indexOf(':') > 0) {
      localName = localName.substring(localName.indexOf(':')+1);
    }

    String namespaceURI = null;
    if (prefix.equals("")) {
      namespaceURI = atts.getValue("xmlns");
    } else {
      namespaceURI = atts.getValue("xmlns:" + prefix);
    }

    String saxParserClass = getCatalogParser(namespaceURI,
                                             localName);

    if (saxParserClass == null) {
      abandonHope = true;
      if (namespaceURI == null) {
        debug.message(2, "No Catalog parser for " + name);
      } else {
        debug.message(2, "No Catalog parser for "
                      + "{" + namespaceURI + "}"
                      + name);
      }
      return;
    }

    try {
      saxParser = (SAXCatalogParser)
        ReflectUtil.forName(saxParserClass).newInstance();

      saxParser.setCatalog(catalog);
      saxParser.startDocument();
      saxParser.startElement(name, atts);
    } catch (ClassNotFoundException cnfe) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cnfe.toString());
    } catch (InstantiationException ie) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, ie.toString());
    } catch (IllegalAccessException iae) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, iae.toString());
    } catch (ClassCastException cce ) {
      saxParser = null;
      abandonHope = true;
      debug.message(2, cce.toString());
    }
  } else {
    saxParser.startElement(name, atts);
  }
}
 
源代码20 项目: openjdk-8   文件: XMLSerializer.java
public void startElement( String tagName, AttributeList attrs )
throws SAXException
{
    int          i;
    boolean      preserveSpace;
    ElementState state;
    String       name;
    String       value;


    if (DEBUG) {
        System.out.println("==>startElement("+tagName+")");
    }

    try {
        if (_printer == null) {
            String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.SERIALIZER_DOMAIN, "NoWriterSupplied", null);
            throw new IllegalStateException(msg);
        }

        state = getElementState();
        if (isDocumentState()) {
            // If this is the root element handle it differently.
            // If the first root element in the document, serialize
            // the document's DOCTYPE. Space preserving defaults
            // to that of the output format.
            if (! _started)
                startDocument( tagName );
        } else {
            // For any other element, if first in parent, then
            // close parent's opening tag and use the parnet's
            // space preserving.
            if (state.empty)
                _printer.printText( '>' );
            // Must leave CData section first
            if (state.inCData) {
                _printer.printText( "]]>" );
                state.inCData = false;
            }
            // Indent this element on a new line if the first
            // content of the parent element or immediately
            // following an element.
            if (_indenting && ! state.preserveSpace &&
                ( state.empty || state.afterElement || state.afterComment))
                _printer.breakLine();
        }
        preserveSpace = state.preserveSpace;

        // Do not change the current element state yet.
        // This only happens in endElement().

        _printer.printText( '<' );
        _printer.printText( tagName );
        _printer.indent();

        // For each attribute print it's name and value as one part,
        // separated with a space so the element can be broken on
        // multiple lines.
        if (attrs != null) {
            for (i = 0 ; i < attrs.getLength() ; ++i) {
                _printer.printSpace();
                name = attrs.getName( i );
                value = attrs.getValue( i );
                if (value != null) {
                    _printer.printText( name );
                    _printer.printText( "=\"" );
                    printEscaped( value );
                    _printer.printText( '"' );
                }

                // If the attribute xml:space exists, determine whether
                // to preserve spaces in this and child nodes based on
                // its value.
                if (name.equals( "xml:space" )) {
                    if (value.equals( "preserve" ))
                        preserveSpace = true;
                    else
                        preserveSpace = _format.getPreserveSpace();
                }
            }
        }
        // Now it's time to enter a new element state
        // with the tag name and space preserving.
        // We still do not change the curent element state.
        state = enterElementState( null, null, tagName, preserveSpace );
        state.doCData = _format.isCDataElement( tagName );
        state.unescaped = _format.isNonEscapingElement( tagName );
    } catch (IOException except) {
        throw new SAXException( except );
    }

}