Announcement

Collapse
No announcement yet.

Problem der Generierung eindeutiger lokaler IDs

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem der Generierung eindeutiger lokaler IDs

    Hallo zusammen,

    ich versuche eine Transformation zwischen zwei XML-Files durchzuführen. Mein Input-XML soll eine Stückliste darstellen, deren Elemente jeweils in eigenen Dateien stehen, die über XLinks verbunden sind. D.h. jede Komponente kennt sich selbst und die Links auf ihre Unterkomponenten.

    Beispiel einer Komponente:
    <TEIL>
    <TEIL xlink:href="nocheinteil.xml"/>
    <TEIL xlink:href="undnocheins.xml"/>
    </TEIL>

    In meinem Ziel-XML müssen alle Teile in einer flachen Liste stehen, wobei für jedes Teil eine Unique-ID vergeben werden soll (idealerweise über generate_id()).

    Das Problem ist, wenn in dem Input-XML das gleiche Teil mehrmals an verschiedenen Stellen der Stückliste vorkommt, dann wird es auch mehrmals (wenn auch mit der gleichen ID) in das Ziel-XML geschrieben. Das führt schließlich zu einer nicht möglichen Validierung der Ziel-XML Datei.

    Hat jemand von Euch einen Vorschlag für die Lösung des Problems?

    Vielen Dank und viele Grüße.

  • #2
    Versuche eine Gruppierung der auszugebenden Elemente mittels der Muench'schen Methode
    oder bei Verwendung von XSLT 2.0 über xsl:for-each-group (siehe dieses Forum), wobei dann etwa das erste gleichartige Element[1] verwendet wird.

    Comment


    • #3
      Danke für die schnelle Antwort.

      Ja diese Gruppierung habe ich bereits versucht, leider ohne Erfolg, d.h. ich habe noch immer Teile die zweimal in der Eingabe vorkommen auch zweimal in der Ausgabe. Ich vermute die Gruppierung scheitert an der Tatsache, dass bei jedem Teil eine neue Datei über document geöffnet werden muss und dann jedesmal mit der Zählung wieder bei 1 begonnen wird.

      Vllt. hab ich auch nur etwas falsch gemacht.

      Comment

      Working...
      X