Alex Schneider: Unterstüzung von XPointer

Hallo,

Wie weit wird von aktuellen XSL-Engines XPointer unterstützt?

Ich möchte in Kommentaren Daten ablegen und bei der Konvertierung auf diese zugreifen.
Ich möchte Kommentare benutzen, da ich feste DTDs habe und nicht einfach einen Tag wie <BEMERKUNG> benutzen kann. Das wäre selbstverständlich viel bequemer.
Deswegen bin ich auf XPointer gestoßen, da es potenziell die Möglichkeit dazu bietet.

Gruß
Alex

  1. Hallo Alex,

    Wie weit wird von aktuellen XSL-Engines XPointer unterstützt?

    Gar nicht, XSLT-Prozessoren unterstützen XSLT.

    Ich möchte in Kommentaren Daten ablegen und bei der Konvertierung auf diese zugreifen.

    mit dem Knotentest comment() kannst du auch in XSLT auf Kommentare zugreifen. In den Kommentar rein kommst du aber dann nur über die herkömmlichen String-Funktionen.

    Deswegen bin ich auf XPointer gestoßen, da es potenziell die Möglichkeit dazu bietet.

    Aha.

    Gruß
    Franz

    1. Hallo Alex,

      Wie weit wird von aktuellen XSL-Engines XPointer unterstützt?

      Gar nicht, XSLT-Prozessoren unterstützen XSLT.

      Okay, ich habe das vermutet. Aber die Brgründung leuchtet mir nicht ein. XSLT-Prozessoren verstehen XSL. Aber zugleich verwenden sie XPath-Syntax und XPath-Funktionen. XPointer ist aber - meines Wissens - eine Erweiterung/Ergänzung von XPath. Oder wird XPointer nur als Erweiterung von XML gesehen, respektive Namespace?
      Dazu gibt es noch XLink (XLL) und XQuery...

      Gruß Alex

      Ich möchte in Kommentaren Daten ablegen und bei der Konvertierung auf diese zugreifen.

      mit dem Knotentest comment() kannst du auch in XSLT auf Kommentare zugreifen. In den Kommentar rein kommst du aber dann nur über die herkömmlichen String-Funktionen.

      Deswegen bin ich auf XPointer gestoßen, da es potenziell die Möglichkeit dazu bietet.

      Aha.

      Gruß
      Franz

      1. Hallo,

        Okay, ich habe das vermutet. Aber die Brgründung leuchtet mir nicht ein. XSLT-Prozessoren verstehen XSL. Aber zugleich verwenden sie XPath-Syntax und XPath-Funktionen. XPointer ist aber - meines Wissens - eine Erweiterung/Ergänzung von XPath.

        XPointer basiert auf XPath, ja. Allerdings ist es immer noch keine Empfehlung und es gab auch mal Patentprobleme bei der Weiterentwicklung. Überhaupt scheint das Gespann XLink/XPath ein wenig unbeachtet im Gegensatz zu XSLT, XML-Schema, XPath 2.0. Allerdings bei der Fülle der Standards kriegt man vieles auch nicht mit.
        Aber vieles was du mit XPointer machen kannst, kannst du auch mit XPath und XSLT erreichen. XPointer ist eher eine Erweiterung von XLink, um in XML-Dokumentenstrukturen reinzulinken. Dazu bedient sich XPointer teilweise der XPath-Syntax innerhalb der URIs. XPath innerhalb von XSLT ermöglich einem ja auch in XML-Dokumenten bestimmte Strukturen anzusteuern und auszuwählen. XPath ist sozusagen der gemeinsame Grund und die Frage wäre dann: "was bringt eigentlich der zusätzliche Einsatz von XPointer im Zusamenhang mit XSLT?" Dafür kenne ich aber XPointer zu wenig, um dazu was handfestes zu sagen. Aber interessant wärs schon.....

        Dazu gibt es noch XLink (XLL) und XQuery...

        Ja, und? ;-)

        Gruß
        Franz

        1. Hallo,

          Okay, ich habe das vermutet. Aber die Brgründung leuchtet mir nicht ein. XSLT-Prozessoren verstehen XSL. Aber zugleich verwenden sie XPath-Syntax und XPath-Funktionen. XPointer ist aber - meines Wissens - eine Erweiterung/Ergänzung von XPath.

          XPointer basiert auf XPath, ja. Allerdings ist es immer noch keine Empfehlung und es gab auch mal Patentprobleme bei der Weiterentwicklung. Überhaupt scheint das Gespann XLink/XPath (XPointer?) ein wenig unbeachtet im Gegensatz zu XSLT, XML-Schema, XPath 2.0. Allerdings bei der Fülle der Standards kriegt man vieles auch nicht mit.
          Aber vieles was du mit XPointer machen kannst, kannst du auch mit XPath und XSLT erreichen. XPointer ist eher eine Erweiterung von XLink, um in XML-Dokumentenstrukturen reinzulinken. Dazu bedient sich XPointer teilweise der XPath-Syntax innerhalb der URIs. XPath innerhalb von XSLT ermöglich einem ja auch in XML-Dokumenten bestimmte Strukturen anzusteuern und auszuwählen. XPath ist sozusagen der gemeinsame Grund und die Frage wäre dann: "was bringt eigentlich der zusätzliche Einsatz von XPointer im Zusamenhang mit XSLT?" Dafür kenne ich aber XPointer zu wenig, um dazu was handfestes zu sagen. Aber interessant wärs schon.....

          Der Vorschlag für "comment()" war gut. Allerdings wählt er bis jetzt die ganzen Kommentare aus. Ich versuche gerade nur bestimmte Kommentarknoten anzusteuern.
          Im Kommentar habe ich die schönen Zeichen "<" und ">". Die erscheinen in der Ersatzschreibweise. Ich habe vor, das Dokument in ein erweitertes - mit mehr Elementen - zu verändern. Diese stehen in den Kommentaren.
          Damit könnte ich dann im zweiten Schritt eine weitere Transformation durchführen, in ein ganz anders strukturiertes Dokument, das die zusätzliche Information für die Validität braucht.

          Zu XPath: XPath 2.0? Das ist mir jetzt neu. Lohnt es sich Informationen darüber zu bekommen? Soll heißen: Wird es ausreichend unterstützt?

          Danke Alex

          Gruß
          Franz

          1. Hallo,

            Der Vorschlag für "comment()" war gut. Allerdings wählt er bis jetzt die ganzen Kommentare aus. Ich versuche gerade nur bestimmte Kommentarknoten anzusteuern.
            Im Kommentar habe ich die schönen Zeichen "<" und ">". Die erscheinen in der Ersatzschreibweise. Ich habe vor, das Dokument in ein erweitertes - mit mehr Elementen - zu verändern. Diese stehen in den Kommentaren.
            Damit könnte ich dann im zweiten Schritt eine weitere Transformation durchführen, in ein ganz anders strukturiertes Dokument, das die zusätzliche Information für die Validität braucht.

            Hm, naja, tu was du nicht lassen kannst. Hört sich jedenfalls höchst ausgeklügelt an ;-)

            Zu XPath: XPath 2.0? Das ist mir jetzt neu. Lohnt es sich Informationen darüber zu bekommen? Soll heißen: Wird es ausreichend unterstützt?

            Saxon 7.0 unterstützt XPath 2.0 und XSLT 2.0
            http://saxon.sourceforge.net/#F7.0

            Wenn du langfristig mit XSLT arbeiten wirst, lohnt es sich schon mal reinzuschauen. Sehr gut ist der folgende Artikel, der die wesentlichen Neuerungen auf ein Minimum zusammenfasst:
            http://www.xml.com/pub/a/2002/03/20/xpath2.html

            Allerdings für produktive Entwicklung ist das z.t. noch nicht zu empfehlen. Alles noch Working Draft.

            Gruß
            Franz

          2. hallo,

            Der Vorschlag für "comment()" war gut. Allerdings wählt er bis jetzt die ganzen Kommentare aus. Ich versuche gerade nur bestimmte Kommentarknoten anzusteuern.

            contains(comment(), 'blabla')
            comment()[1]

            etc.

            grüße
            thomas

            1. hallo,

              Der Vorschlag für "comment()" war gut. Allerdings wählt er bis jetzt die ganzen Kommentare aus. Ich versuche gerade nur bestimmte Kommentarknoten anzusteuern.

              contains(comment(), 'blabla')
              comment()[1]

              etc.

              grüße
              thomas

              Toll, das funktioniert wunderbar, danke!