Katkrümel: XSLT Problem mit xmlns bei Transform XML zu XML

Beitrag lesen

Hallo in die Runde, ich hoffe ich bin hier richtig und jemand kann mir einen Tipp geben. Ich habe folgende Problematik: Ich soll einen Import/Exportfilter für ein Programm bauen, um Daten maschinell als XML zwischen unterschiedlichen Systemen auszutauschen. Der Importfilter funktioniert, die ankommende XML-Datei wird mit einer XSLT-Transformationsdatei in das von unserer Software verstandenes XML-Schema umgewandelt. Aber beim Exportfilter beiße ich mir gerade die Zähne aus. Die Schwierigkeit ist, dass die XML beim Export komplett umgebaut werden muss, Struktur und Elementnamen sind komplett unterschiedlich. Hier ist beispielhaft die Quell-XML:

<?xml version="1.0" encoding="UTF-8"?>  
<rootalt xmlns="programm.export" xsi:schemaLocation="programm.export export.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
  <KnotenAlt xmlns="programm.export">  
    <Element1>a</Element1>  
    <Element2>b</Element2>  
    <Element3>c</Element3> 
    ...  
  </KnotenAlt>  
</rootalt>

Die neue XML-Datei muss zwingend diese Struktur haben:

<?xml version="1.0" encoding="UTF-8"?>  
<rootNeu>  
  <KnotenNeu>
    <Unterknoten>
      <ElementNeu1>a</ElementNeu1>
    </Unterknoten>
    <Unterknoten2>
      <ElementNeu2>b</ElementNeu2>
      <ElementNeu3>c</ElementNeu3> 
     </Unterknoten2>
     ...
  </KnotenNeu>
</rootNeu>

Jetzt kommt mein Dillemma.
Das Attribut xmlns in den beiden Knoten der Quelldatei sorgt dafür, dass ich mit der XSLT entweder nur die neuen Knoten und Elemente erhalte aber keine Werte, oder mit xsl:apply-templates/ alle Werte hintereinander ausgegeben werden und keine Elementnamen. In beiden Fällen ist die ausgegebenen XML-Datei unbrauchbar. Wenn ich manuell die Attribute in der Original-XML lösche funktioniert die Umwandlung perfekt. Leider kann ich in der Software diese Attribute nicht abschalten, da sie im XSD-Schema programmtechnisch fest im Quellcode programmiert wurde. Und wegen der anderen Struktur funktioniert auch der "xsl:copy" - Trick aus anderen Foren nicht.

Wie kann ich die dieses Namespace-Problem lösen?
Hat jemand einen Rat für mich? Danke für Eure Hilfe.
Bitte verzeiht, dass ich noch nicht so bewandert in der Formatierung in diesem Forum bin.