Kommentieren einer XML-Instanz aus einer Liste von xpath-Anweisungen mit xslt

Bei einer gegebenen Liste von xpath-Anweisungen möchte ich ein Stylesheet schreiben, das ein xml-Dokument durchläuft und dasselbe Dokument mit einem Kommentar ausgibt, der vor dem in jeder xpath-Anweisung angegebenen Knoten eingefügt wird. Machen wir uns ein Beispiel. Beginnen Sie mit einer XML-Instanz, die die Anweisungen xpath enthält:

<paths>
  <xpath location="/root/a" annotate="1"/>
  <xpath location="/root/a/b" annotate="2"/>
</paths>

Angesichts der Eingabe:

<root>
  <a>
    <b>B</b>
  </a>
  <c>C</c>
</root>

Es sollte produzieren:

<root>
  <!-- 1 -->
  <a>
    <!-- 2 -->
    <b>B</b>
  </a>
  <c>C</c>
</root>

Mein erster Gedanke ist, ein Identitäts-Stylesheet zu haben, das einefile-list param, ruft diedocument Funktion darauf, um die Liste der xpath-Knoten zu erhalten. Es würde dann jeden Knoten der Eingabe mit dieser Liste vergleichen und dann den Kommentarknoten einfügen, wenn er einen findet, aber ich gehe davon aus, dass dies höchst ineffizient sein könnte, wenn die Liste der xpaths groß wird (oder vielleicht nicht, sag es mir. Ich verwende Saxon 9).

Also meine Frage: Gibt es eine effiziente Möglichkeit, so etwas zu tun?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage