public String getNamespaceURI() { switch (getEventType()) { case XMLStreamConstants.START_ELEMENT : case XMLStreamConstants.END_ELEMENT : return getName().getNamespaceURI(); default : throw new IllegalStreamStateException( "Expected START_ELEMENT or END_ELEMENT state, but found " + getEventTypeName(), getStableLocation()); } }
public String getPrefix() { switch (getEventType()) { case XMLStreamConstants.START_ELEMENT : case XMLStreamConstants.END_ELEMENT : return getName().getPrefix(); default : throw new IllegalStreamStateException( "Expected START_ELEMENT or END_ELEMENT but was " + getEventTypeName(), getStableLocation()); } }
public String getElementText() throws XMLStreamException { if (getEventType() != XMLStreamConstants.START_ELEMENT) { throw new XMLStreamException("Expected START_ELEMENT but found " + getEventTypeName(), getStableLocation()); } // save the element name and location so we can use it in the error message // as needed. QName elemName = getName(); Location elemLocation = getStableLocation(); // read text events until the end tag is reached StringBuffer content = null; for (int eventType = next(); eventType != END_ELEMENT; eventType = next()) { if (hasText()) { if (content == null) { content = new StringBuffer(); } content.append(getText()); } else { throw new XMLStreamException("Encountered " + getEventTypeName() + " event within text-only element " + elemName, elemLocation); } } // return content return (content == null ? "" : content.toString()); }