Anfaengerproblem mit <xsl:copy-of select="document('datei.xml')" />

RabeDev

Grünschnabel
Hallo,

kaempfe gerade mit meinen ersten Stylesheets + versuche mit

<xsl:template match="/">
<xsl:copy-of select="document('datei.xml')//app_list" />
</xsl:template>

einen Teilbaum aus einer anderen XML-Datei in mein Zieldokument zu bekommen. Der Teilbaum hat folgendes Aussehen:

<app_list>
<app id="1">Programm 1</app>
<app id="2">Programm 2</app>
<app id="3">Programm 3</app>
</app_list>

Leider kommt aber immer nur
<app id="1">Programm 1</app>
<app id="2">Programm 2</app>
<app id="3">Programm 3</app>
</app_list>

an, d.h. das Starttag <app_list> geht verloren.

Wahrscheinlich ist das ja total easy, aber ich komme (mit meinen kleinen Tutorials) nicht dahinter ... :-((

Kann mir jemand sagen, wie man das richtig macht?

Danke + Gruß
Rabe
 
Ziehe die Frage zurueck ...

Sorry all, war ein reines Konzentrationsproblem ... - es funktioniert natuerlich genau so!

Saxon (mit dem ich meine Fingeruebungen auswerte) hat das Starttag einfach nur an die (ziemlich lange) Vorgaengerzeile angehaengt + außerdem den Namespace im Tag expandiert, sodass ich's einfach nicht gesehen habe.

Kann man dieses Verhalten eigentlich unterdruecken (+ warum werden diese Zeilen ueberhaupt konkateniert )?
 
Re: Ziehe die Frage zurueck ...

Original geschrieben von RabeDev
Kann man dieses Verhalten eigentlich unterdruecken (+ warum werden diese Zeilen ueberhaupt konkateniert )?

Es kommt auf den Prozessor an, ob ggf. return-zeichen berücksichtigt werden oder nicht. XML-Ausgabe mit Zeileneinzug kann mit dem indent-Attribut in xsl:output direkt nach em sytlesheet-element erreicht werden:

Code:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml" indent="yes" /> 

.. rest...

</xsl:stylesheet>

Benutze zwar xalan, aber mit saxon sollte es auch gehen.
 

Neue Beiträge

Zurück