in impl/src/main/java/org/apache/tuscany/sdo/util/resource/XMLStreamSerializer.java [167:226]
protected void serializeElementWithOptions(XMLStreamReader reader, XMLStreamWriter writer) throws XMLStreamException {
++nest;
boolean brk=false;
if(oldNest != nest){
if(oldNest < nest) brk = true;
oldNest = nest;
}
startElement(writer);
String prefix = reader.getPrefix();
String nameSpaceName = reader.getNamespaceURI();
if (nameSpaceName != null) {
String writer_prefix = writer.getPrefix(nameSpaceName);
if (writer_prefix != null) {
if(brk && nest != 1){
breakLine(writer, true, true);
}
else{
breakLine(writer, false, true);
}
writer.writeStartElement(nameSpaceName, reader.getLocalName());
} else {
if (prefix != null) {
if(brk && nest == 1){
breakLine(writer, false, true);
}
writer.writeStartElement(prefix, reader.getLocalName(), nameSpaceName);
writer.writeNamespace(prefix, nameSpaceName);
writer.setPrefix(prefix, nameSpaceName);
} else {
if(brk && nest == 1){
breakLine(writer, false, true);
}
writer.writeStartElement(nameSpaceName, reader.getLocalName());
writer.writeDefaultNamespace(nameSpaceName);
writer.setDefaultNamespace(nameSpaceName);
if(brk && nest == 1){
breakLine(writer, false, true);
}
}
}
} else {
writer.writeStartElement(reader.getLocalName());
}
// add the namespaces
int count = reader.getNamespaceCount();
String namespacePrefix;
for (int i = 0; i < count; i++) {
namespacePrefix = reader.getNamespacePrefix(i);
if (namespacePrefix != null && namespacePrefix.length() == 0)
continue;
serializeNamespace(namespacePrefix, reader.getNamespaceURI(i), writer);
}
// add attributes
serializeAttributes(reader, writer);
}