in shared-libraries/servicemix-soap2/src/main/java/org/apache/servicemix/soap/util/stax/StaxSource.java [57:126]
protected void parse() throws SAXException {
try {
contentHandler.startDocument();
while (true) {
switch (streamReader.getEventType()) {
case XMLStreamConstants.ATTRIBUTE:
case XMLStreamConstants.CDATA:
break;
case XMLStreamConstants.CHARACTERS:
int length = streamReader.getTextLength();
int start = streamReader.getTextStart();
char[] chars = streamReader.getTextCharacters();
contentHandler.characters(chars, start, length);
/*
for (int textLength = streamReader.getTextLength(); textLength > 0; textLength -= chars.length) {
int l = Math.min(textLength, chars.length);
streamReader.getTextCharacters(0, chars, 0, l);
contentHandler.characters(chars, 0, l);
}
*/
break;
case XMLStreamConstants.COMMENT:
case XMLStreamConstants.DTD:
break;
case XMLStreamConstants.END_DOCUMENT:
contentHandler.endDocument();
return;
case XMLStreamConstants.END_ELEMENT: {
String uri = streamReader.getNamespaceURI();
String localName = streamReader.getLocalName();
String prefix = streamReader.getPrefix();
String qname = prefix != null && prefix.length() > 0 ? prefix + ":" + localName : localName;
contentHandler.endElement(uri, localName, qname);
for (int i = 0; i < streamReader.getNamespaceCount(); i++) {
//contentHandler.endPrefixMapping(streamReader.getNamespaceURI(i));
}
break;
}
case XMLStreamConstants.ENTITY_DECLARATION:
case XMLStreamConstants.ENTITY_REFERENCE:
case XMLStreamConstants.NAMESPACE:
case XMLStreamConstants.NOTATION_DECLARATION:
case XMLStreamConstants.PROCESSING_INSTRUCTION:
case XMLStreamConstants.SPACE:
case XMLStreamConstants.START_DOCUMENT:
break;
case XMLStreamConstants.START_ELEMENT: {
for (int i = 0; i < streamReader.getNamespaceCount(); i++) {
//contentHandler.startPrefixMapping(streamReader.getNamespacePrefix(i),
// streamReader.getNamespaceURI(i));
}
String uri = streamReader.getNamespaceURI();
String localName = streamReader.getLocalName();
String prefix = streamReader.getPrefix();
String qname = prefix != null && prefix.length() > 0 ? prefix + ":" + localName : localName;
contentHandler.startElement(uri != null ? uri : XMLConstants.NULL_NS_URI, localName, qname, getAttributes());
break;
}
}
streamReader.next();
}
} catch (XMLStreamException e) {
if (e.getLocation() != null) {
throw new SAXParseException(e.getMessage(), null, null, e.getLocation().getLineNumber(), e.getLocation()
.getColumnNumber(), e);
} else {
throw new SAXParseException(e.getMessage(), null, null, -1, -1, e);
}
}
}