# Transformer verschluckt Attribute bei der Ausgabe



## Lito (27. Sep 2017)

Hallo ich möchte gerne ein XML erstellen in dem mehrfach ein Attribut verwendet wird. 
mittels Javax.xml klappt das auch super allerdings nutze ich das Attribut 
element.setAttribute("xmlns:xsi", XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI);
mehrfach im document.  Beim transform wird dann nur an oberster stelle das Attribut eingefügt und danach nicht mehr. Es muss beim transform passieren den im Debugger sehe ich bei document und source noch die Attribute an den gewünschten stellen.
TransformerFactory transformerFactory = TransformerFactory.newInstance();         
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(System.out);
transformer.transform(source, result);

Ich habe keine Property gefunden weder bei der TransformerFactory noch beim transfromer oder document die mir das XML wie im document erstellt ausgibt.

Hat da jemand eine Idee oder Erfahrungen mit ?


----------



## Flown (27. Sep 2017)

Wie sieht denn dein XML aus?


----------



## Lito (27. Sep 2017)

Flown hat gesagt.:


> Wie sieht denn dein XML aus?


 ZB: das funzt schon nicht:
Element ele1 = document.createElement("1");
ele1.setAttribute("xmlns","urn:iso:std:iso:2002...");
ele1.setAttribute("xmlns:xsi", XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI);

Element eleHdr = document.createElement("Hdr");
ele1.appendChild(eleHdr);

Element eleAppHdr = document.createElement("AppHdr");
eleAppHdr.setAttribute("xmlns", "urn:iso:std:iso:2003...");
eleAppHdr.setAttribute("xmlns:xsi", XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI);
eleHdr.appendChild(eleAppHdr);


Ich nehme an das die Konstante XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI verschluckt wird weil sie nur 1x pro XML File benötigt wird.... brauche das Attribut aber mehrfach.


----------



## Flown (27. Sep 2017)

Wie soll ich sagen, der Namespace darf sich nicht überlappen, sonst ist das kein gültiges XML.


----------

