in src/main/java/org/apache/servicemix/jbi/jaxp/XMLStreamHelper.java [168:203]
public static void writeStartElement(XMLStreamWriter writer, String uri, String local, String prefix) throws XMLStreamException {
if (prefix == null) {
prefix = "";
}
if (uri == null) {
uri = "";
}
String boundPrefix = writer.getPrefix(uri);
boolean writeElementNS = false;
if (boundPrefix == null || !prefix.equals(boundPrefix)) {
writeElementNS = true;
}
// Write out the element name
if (prefix.length() == 0) {
writer.writeStartElement(local);
writer.setDefaultNamespace(uri);
} else {
writer.writeStartElement(prefix, local, uri);
writer.setPrefix(prefix, uri);
}
// Check if the namespace still needs to be written.
// We need this check because namespace writing works
// different on Woodstox and the RI.
if (writeElementNS) {
if (prefix.length() == 0) {
writer.writeDefaultNamespace(uri);
} else {
writer.writeNamespace(prefix, uri);
}
}
}