snow_white: XSLT/ result-document() / doppelte Dateien

Hallo,
ich erzeuge mit result-document() XML-Dateien.
...
<xsl:result-document href="{@dateiname}.xml">
...
</xsl:result-document>
...
Wenn in meinem XML-Dokument das Attribut dateiname einen Wert enthält, der doppelt vorkommt, dann schlägt das Stylesheet fehlt.
Was ich auch logisch finde, da man auch nicht zwei Dateien mit dem selben Namen in einem Ordner speichern kann.
Gibt es in XSLT die Möglichkeit zu prüfen, bevor die einzelnen Dateien erzeugt werden, ob das Attribute dateiname doppelt vorkommt und dass in diesem Fall nur eine XML-Datei erzeugt wird.

Vielen Dank im voraus.
Viele Grüße
snow_white

  1. Hallo,

    Gibt es in XSLT die Möglichkeit zu prüfen, bevor die einzelnen Dateien erzeugt werden, ob das Attribute dateiname doppelt vorkommt und dass in diesem Fall nur eine XML-Datei erzeugt wird.

    Natürlich gibt es diese Möglichkeit. Wie ich deinem result-document entnehmen kann verwendest du XSLT in Version 2.0. In XSLT 2 ist es erlaubt eigene Funktionen zu schreiben. Siehe dazu http://www.w3.org/TR/xslt20/#element-function und http://www.w3.org/TR/xpath-functions/.

    Dort kannst du dir dann eine eigene Funktion aus deinem eigenen Namespace erstellen, die du in deinem href aufrufst.

    Grüße aus Leipzig

  2. Hallo,

    ich erzeuge mit result-document() XML-Dateien.
    ...
    <xsl:result-document href="{@dateiname}.xml">
    ...
    </xsl:result-document>
    ...
    Wenn in meinem XML-Dokument das Attribut dateiname einen Wert enthält, der doppelt vorkommt,
    Gibt es in XSLT die Möglichkeit zu prüfen, bevor die einzelnen Dateien erzeugt werden, ob das Attribute dateiname doppelt vorkommt und dass in diesem Fall nur eine XML-Datei erzeugt wird.

    Ja, eine Möglichkeit gigt es fast immer. Aber mir sind die Infos in deiner Frage zu wenig um eine hilfreiche Antwort geben zu können.
    In welchem Kontext rufst du xsl:result-document auf?

    Grüße
    Thomas