⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlparser.java

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    this.validating = validating;    this.namespaceAware = namespaceAware;    this.coalescing = coalescing;    this.replaceERefs = replaceERefs;    this.externalEntities = externalEntities;    this.supportDTD = supportDTD;    this.baseAware = baseAware;    this.stringInterning = stringInterning;    this.extendedEventTypes = extendedEventTypes;    this.reporter = reporter;    this.resolver = resolver;    if (validating)      {        validationStack = new LinkedList();        ids = new HashSet();        idrefs = new HashSet();      }    pushInput(new Input(null, reader, null, systemId, null, null, false, true));  }  // -- NamespaceContext --  public String getNamespaceURI(String prefix)  {    if (XMLConstants.XML_NS_PREFIX.equals(prefix))      return XMLConstants.XML_NS_URI;    if (XMLConstants.XMLNS_ATTRIBUTE.equals(prefix))      return XMLConstants.XMLNS_ATTRIBUTE_NS_URI;    for (Iterator i = namespaces.iterator(); i.hasNext(); )      {        LinkedHashMap ctx = (LinkedHashMap) i.next();        String namespaceURI = (String) ctx.get(prefix);        if (namespaceURI != null)          return namespaceURI;      }    return null;  }  public String getPrefix(String namespaceURI)  {    if (XMLConstants.XML_NS_URI.equals(namespaceURI))      return XMLConstants.XML_NS_PREFIX;    if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(namespaceURI))      return XMLConstants.XMLNS_ATTRIBUTE;    for (Iterator i = namespaces.iterator(); i.hasNext(); )      {        LinkedHashMap ctx = (LinkedHashMap) i.next();        if (ctx.containsValue(namespaceURI))          {            for (Iterator j = ctx.entrySet().iterator(); j.hasNext(); )              {                Map.Entry entry = (Map.Entry) i.next();                String uri = (String) entry.getValue();                if (uri.equals(namespaceURI))                  return (String) entry.getKey();              }          }      }    return null;  }  public Iterator getPrefixes(String namespaceURI)  {    if (XMLConstants.XML_NS_URI.equals(namespaceURI))      return Collections.singleton(XMLConstants.XML_NS_PREFIX).iterator();    if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(namespaceURI))      return Collections.singleton(XMLConstants.XMLNS_ATTRIBUTE).iterator();    LinkedList acc = new LinkedList();    for (Iterator i = namespaces.iterator(); i.hasNext(); )      {        LinkedHashMap ctx = (LinkedHashMap) i.next();        if (ctx.containsValue(namespaceURI))          {            for (Iterator j = ctx.entrySet().iterator(); j.hasNext(); )              {                Map.Entry entry = (Map.Entry) i.next();                String uri = (String) entry.getValue();                if (uri.equals(namespaceURI))                  acc.add(entry.getKey());              }          }      }    return acc.iterator();  }  // -- XMLStreamReader --  public void close()    throws XMLStreamException  {    stack = null;    namespaces = null;    bases = null;    buf = null;    attrs = null;    doctype = null;    inputStack = null;    validationStack = null;    ids = null;    idrefs = null;  }  public NamespaceContext getNamespaceContext()  {    return this;  }  public int getAttributeCount()  {    return attrs.size();  }  public String getAttributeLocalName(int index)  {    Attribute a = (Attribute) attrs.get(index);    return a.localName;  }  public String getAttributeNamespace(int index)  {    String prefix = getAttributePrefix(index);    return getNamespaceURI(prefix);  }  public String getAttributePrefix(int index)  {    Attribute a = (Attribute) attrs.get(index);    return a.prefix;  }  public QName getAttributeName(int index)  {    Attribute a = (Attribute) attrs.get(index);    String namespaceURI = getNamespaceURI(a.prefix);    return new QName(namespaceURI, a.localName, a.prefix);  }  public String getAttributeType(int index)  {    Attribute a = (Attribute) attrs.get(index);    return a.type;  }  private String getAttributeType(String elementName, String attName)  {    if (doctype != null)      {        AttributeDecl att = doctype.getAttributeDecl(elementName, attName);        if (att != null)          return att.type;      }    return "CDATA";  }  public String getAttributeValue(int index)  {    Attribute a = (Attribute) attrs.get(index);    return a.value;  }  public String getAttributeValue(String namespaceURI, String localName)  {    for (Iterator i = attrs.iterator(); i.hasNext(); )      {        Attribute a = (Attribute) i.next();        if (a.localName.equals(localName))          {            String uri = getNamespaceURI(a.prefix);            if ((uri == null && namespaceURI == null) ||                (uri != null && uri.equals(namespaceURI)))              return a.value;          }      }    return null;  }  boolean isAttributeDeclared(int index)  {    if (doctype == null)      return false;    Attribute a = (Attribute) attrs.get(index);    String qn = ("".equals(a.prefix)) ? a.localName :      a.prefix + ":" + a.localName;    String elementName = buf.toString();    return doctype.isAttributeDeclared(elementName, qn);  }    public String getCharacterEncodingScheme()  {    return xmlEncoding;  }  public String getElementText()    throws XMLStreamException  {    if (event != XMLStreamConstants.START_ELEMENT)      throw new XMLStreamException("current event must be START_ELEMENT");    StringBuffer elementText = new StringBuffer();    int depth = stack.size();    while (event != XMLStreamConstants.END_ELEMENT || stack.size() > depth)      {        switch (next())          {          case XMLStreamConstants.CHARACTERS:          case XMLStreamConstants.SPACE:            elementText.append(buf.toString());          }      }    return elementText.toString();  }  public String getEncoding()  {    return (input.inputEncoding == null) ? "UTF-8" : input.inputEncoding;  }  public int getEventType()  {    return event;  }  public String getLocalName()  {    switch (event)      {      case XMLStreamConstants.START_ELEMENT:      case XMLStreamConstants.END_ELEMENT:        String qName = buf.toString();        int ci = qName.indexOf(':');        return (ci == -1) ? qName : qName.substring(ci + 1);      default:        return null;      }  }  public Location getLocation()  {    return input;  }  public QName getName()  {    switch (event)      {      case XMLStreamConstants.START_ELEMENT:      case XMLStreamConstants.END_ELEMENT:        String qName = buf.toString();        int ci = qName.indexOf(':');        String localName = (ci == -1) ? qName : qName.substring(ci + 1);        String prefix = (ci == -1) ?          (namespaceAware ? XMLConstants.DEFAULT_NS_PREFIX : null) :          qName.substring(0, ci);        String namespaceURI = getNamespaceURI(prefix);        return new QName(namespaceURI, localName, prefix);      default:        return null;      }  }  public int getNamespaceCount()  {    if (!namespaceAware || namespaces.isEmpty())      return 0;    switch (event)      {      case XMLStreamConstants.START_ELEMENT:      case XMLStreamConstants.END_ELEMENT:        LinkedHashMap ctx = (LinkedHashMap) namespaces.getFirst();        return ctx.size();      default:        return 0;      }  }  public String getNamespacePrefix(int index)  {    LinkedHashMap ctx = (LinkedHashMap) namespaces.getFirst();    int count = 0;    for (Iterator i = ctx.keySet().iterator(); i.hasNext(); )      {        String prefix = (String) i.next();        if (count++ == index)          return prefix;      }    return null;  }  public String getNamespaceURI()  {    switch (event)      {      case XMLStreamConstants.START_ELEMENT:      case XMLStreamConstants.END_ELEMENT:        String qName = buf.toString();        int ci = qName.indexOf(':');        if (ci == -1)          return null;        String prefix = qName.substring(0, ci);        return getNamespaceURI(prefix);      default:        return null;      }  }  public String getNamespaceURI(int index)  {    LinkedHashMap ctx = (LinkedHashMap) namespaces.getFirst();    int count = 0;    for (Iterator i = ctx.values().iterator(); i.hasNext(); )      {        String uri = (String) i.next();        if (count++ == index)          return uri;      }    return null;  }  public String getPIData()  {    return piData;  }  public String getPITarget()  {    return piTarget;  }  public String getPrefix()  {    switch (event)      {      case XMLStreamConstants.START_ELEMENT:      case XMLStreamConstants.END_ELEMENT:        String qName = buf.toString();        int ci = qName.indexOf(':');        return (ci == -1) ?          (namespaceAware ? XMLConstants.DEFAULT_NS_PREFIX : null) :          qName.substring(0, ci);      default:        return null;      }  }  public Object getProperty(String name)    throws IllegalArgumentException  {    if (name == null)      throw new IllegalArgumentException("name is null");    if (XMLInputFactory.ALLOCATOR.equals(name))      return null;    if (XMLInputFactory.IS_COALESCING.equals(name))      return coalescing ? Boolean.TRUE : Boolean.FALSE;    if (XMLInputFactory.IS_NAMESPACE_AWARE.equals(name))      return namespaceAware ? Boolean.TRUE : Boolean.FALSE;    if (XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES.equals(name))      return replaceERefs ? Boolean.TRUE : Boolean.FALSE;    if (XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES.equals(name))      return externalEntities ? Boolean.TRUE : Boolean.FALSE;    if (XMLInputFactory.IS_VALIDATING.equals(name))      return Boolean.FALSE;    if (XMLInputFactory.REPORTER.equals(name))      return reporter;    if (XMLInputFactory.RESOLVER.equals(name))      return resolver;    if (XMLInputFactory.SUPPORT_DTD.equals(name))      return supportDTD ? Boolean.TRUE : Boolean.FALSE;    if ("gnu.xml.stream.stringInterning".equals(name))      return stringInterning ? Boolean.TRUE : Boolean.FALSE;    if ("gnu.xml.stream.xmlBase".equals(name))      return baseAware ? Boolean.TRUE : Boolean.FALSE;    if ("gnu.xml.stream.baseURI".equals(name))      return getXMLBase();    return null;  }  public String getText()  {    return buf.toString();  }  public char[] getTextCharacters()  {    return buf.toString().toCharArray();  }  public int getTextCharacters(int sourceStart, char[] target,                               int targetStart, int length)    throws XMLStreamException  {    length = Math.min(sourceStart + buf.length(), length);    int sourceEnd = sourceStart + length;    buf.getChars(sourceStart, sourceEnd, target, targetStart);    return length;  }  public int getTextLength()  {    return buf.length();  }  public int getTextStart()  {    return 0;  }  public String getVersion()  {    return (xmlVersion == null) ? "1.0" : xmlVersion;  }  public boolean hasName()  {    switch (event)      {      case XMLStreamConstants.START_ELEMENT:      case XMLStreamConstants.END_ELEMENT:        return true;      default:        return false;      }  }  public boolean hasText()  {    switch (event)      {      case XMLStreamConstants.CHARACTERS:      case XMLStreamConstants.SPACE:        return true;      default:        return false;      }  }  public boolean isAttributeSpecified(int index)  {    Attribute a = (Attribute) attrs.get(index);    return a.specified;  }  public boolean isCharacters()  {    return (event == XMLStreamConstants.CHARACTERS);  }  public boolean isEndElement()  {    return (event == XMLStreamConstants.END_ELEMENT);  }  public boolean isStandalone()  {    return Boolean.TRUE.equals(xmlStandalone);  }  public boolean isStartElement()  {    return (event == XMLStreamConstants.START_ELEMENT);  }  public boolean isWhiteSpace()  {    return (event == XMLStreamConstants.SPACE);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -