@Override public int getAttributeCount() { if (!event.isStartElement()) { throw new IllegalStateException(); } Iterator attributes = event.asStartElement().getAttributes(); return countIterator(attributes); }
@Override public String getAttributeValue(int index) { return getAttribute(index).getValue(); }
@Override public int next() throws XMLStreamException { final int eventType = super.next(); if (eventType == XMLEvent.START_DOCUMENT) { version = super.getVersion(); } return eventType; } }
protected Element convertToElement(Source source) { if (source instanceof StAXSource) { final StAXSource staxSource = (StAXSource) source; final DOMConverter domConverter = new DOMConverter(); final Document document; try { XMLStreamReader xmlStreamReader = staxSource.getXMLStreamReader(); if (xmlStreamReader == null) { final XMLEventReader xmlEventReader = staxSource.getXMLEventReader(); xmlStreamReader = new FixedXMLEventStreamReader(xmlEventReader); } document = domConverter.buildDocument(xmlStreamReader); } catch (XMLStreamException e) { throw new RuntimeException("Failed to parse StAX Reader into Dom4J Element", e); } final DOMReader domReader = new DOMReader(); final org.dom4j.Document dom4JDocument = domReader.read(document); dom4JDocument.setName(source.getSystemId()); return dom4JDocument.getRootElement(); } throw new IllegalArgumentException( "Source of type " + source.getClass() + " is not supported"); } }
@Override public String getNamespacePrefix(int index) { return getNamespace(index).getPrefix(); }
@Override public String getVersion() { final String superVersion = super.getVersion(); if (superVersion != null) { return superVersion; } return version; }
streamReader = new FixedXMLEventStreamReader(eventReader); } catch (XMLStreamException e) { throw new RuntimeException("Failed to create XMLStreamReader from XMLEventReader", e);
@Override public String getNamespaceURI(int index) { return getNamespace(index).getNamespaceURI(); }
public VersionCachingXMLEventStreamReader(XMLEventReader eventReader) throws XMLStreamException { super(eventReader); if (this.getEventType() == XMLEvent.START_DOCUMENT) { version = super.getVersion(); } }
@Override public QName getAttributeName(int index) { return getAttribute(index).getName(); }
streamReader = new FixedXMLEventStreamReader(eventReader); } catch (XMLStreamException e) { throw new RuntimeException("Failed to create XMLStreamReader from XMLEventReader", e);
@Override public String getNamespacePrefix(int index) { return getNamespace(index).getPrefix(); }
@Override public int getAttributeCount() { if (!event.isStartElement()) { throw new IllegalStateException(); } Iterator attributes = event.asStartElement().getAttributes(); return countIterator(attributes); }
@Override public String getAttributeValue(int index) { return getAttribute(index).getValue(); }
@Override public String getNamespaceURI(int index) { return getNamespace(index).getNamespaceURI(); }
@Override public int getNamespaceCount() { Iterator namespaces; if (event.isStartElement()) { namespaces = event.asStartElement().getNamespaces(); } else if (event.isEndElement()) { namespaces = event.asEndElement().getNamespaces(); } else { throw new IllegalStateException(); } return countIterator(namespaces); }
@Override public QName getAttributeName(int index) { return getAttribute(index).getName(); }
@Override public int getNamespaceCount() { Iterator namespaces; if (event.isStartElement()) { namespaces = event.asStartElement().getNamespaces(); } else if (event.isEndElement()) { namespaces = event.asEndElement().getNamespaces(); } else { throw new IllegalStateException(); } return countIterator(namespaces); }
@Override public String getAttributeType(int index) { return getAttribute(index).getDTDType(); }
@Override public boolean isAttributeSpecified(int index) { return getAttribute(index).isSpecified(); }