stevemartin: XPointer in XSL verwenden

Betriebssystem: WinXP
Browser: IE 6.0

Ich habe eine XML Datei geschrieben und sie mittels XSLT transformiert. Das Ergebnis wird im Browser, in einem XHTML Format angezeigt. Da man nun den altbekannten Anker <a name=""/> nicht mehr benutzen kann, hab ich es mit Xpointer versucht. Die XML Datei zeigt alles ohne irgendeinen Fehler an.

XML Tag Inhalt:
xmlns:xlink="http://www.w3.org/2000/xlink"
xlink:type="simple"
xlink:href="xpointer(wert)"

Wie kann ich den XPointer nun in XSLT verwenden, um zu den Abschnitten zu springen?

  1. Hallo,

    xmlns:xlink="http://www.w3.org/2000/xlink"

    ^^^^
                                      2000 --> 1999

    xlink:href="xpointer(wert)"

    Wenn wert fuer eine ID steht, also mittels id="wert" definiert wurde, dann ist das aequivalent:

    xlink:href="#wert"
    xlink:href="#xpointer(id('wert'))"

    Wie kann ich den XPointer nun in XSLT verwenden, um zu den Abschnitten zu springen?

    Die Sprungmarke soll doch erst im Ziel-(X)HTML-Dokument Verwendung finden, oder? Dann eben im XHTML 1.0-Kontext die entsprechende ID definieren und ueber <a href="#id"> navigieren. Explizite XLink/XPointer-Notationen duerften hier und speziell im IE keine Vorteile bringen.

    MfG, Thomas

  2. Hallo,

    Ich habe eine XML Datei geschrieben und sie mittels XSLT transformiert. Das Ergebnis wird im Browser, in einem XHTML Format angezeigt. Da man nun den altbekannten Anker <a name=""/> nicht mehr benutzen kann, hab ich es mit Xpointer versucht.

    Du kannst statt @name @id benutzen und das für jedes Element. XPointer ist also nicht unbedingt notwendig. Du kannst sowohl die IDs wie die Verweise auf sie mittels XPath generate-id() erzeugen.

    Grüße
    Thomas