Announcement

Collapse
No announcement yet.

exslt Problem!?

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

  • exslt Problem!?

    Hallo ich probiere gerade folgendes:

    Ich habe in einer xsl-variable "value" eine Html-Tabelle. Ich möchte diese in ein node-set umwandeln um weitere Transformationen durchführen zu können.

    Habe testweise diese xsl geschrieben.

    <xsl:variable name="test"><xsl:copy-of select="$value"/></xsl:variable>
    ...value hat einen String mit den Tags wie in der xsl-variable "test2"

    <xsl:variable name="test2">
    <x>
    <y>
    <c>
    <d />
    </c>
    </x>
    </y>
    </xsl:variable>

    <xsl:value-of select="count(xalan:nodeset($test)//*)" />
    ...liefert mir eine "0".
    <xsl:value-of select="count(xalan:nodeset($test2)//*)" />
    ...liefert mir eine "4".

    Weiss leider nicht mehr weiter.
    Vielen Dank für Antworten.

    Mit freundlichem Gruß, Norman

  • #2
    Hallo Norman,

    Falls es sich bei dem Inhalt der Variablen $value tatsächlich um eine Zeichenfolge handelt, hilft auch die nodeset-Funktion nicht weiter. Allerdings kenne ich die xalan:nodeset-Funktion nicht. Ich kenne nur exslt:node-set. Und diese Funktion ist nur für die Umwandlung eines result tree fragments in ein node-set zuständig.

    Für das Parsen von XML-Daten in einem XSL-Stylesheet stellt z.B. Saxon eine saxonarse-Funktion bereit:

    http://www.saxonica.com/documentation/extensions/functions/parse.html

    Viele Grüße

    Martin
    www.aboutxml.d
    Martin Szugat
    www.aboutxml.de

    Comment


    • #3
      Hallo Martin,

      vielen Dank für die Antwort. Dies ist genau die Funktion die ich benötige.
      Leider setzen wir in unserem Projekt den xalan-Transformer ein.
      Ein baldiger Wechsel steht nicht an.

      Gibt es evt. eine Möglichkeit die Funktion die saxon zur Verfügung stellt mit xalan zu nutzen?

      Mit freundlichem Gruß,
      Norma

      Comment


      • #4
        Hallo Norman,

        Ich kenne mich mit Xalan leider überhaupt nicht aus. Allerdings habe ich auf der Website unter http://xml.apache.org/xalan-j/extensions.html entdeckt, dass man Xalan um eigene Funktionen erweitern kann. Eine Lösung wäre also, eine Erweiterungsfunktion parse zu schreiben (in Java), die ihrerseits die parse-Funktion von Saxon nutzt. Die Saxon-Erweiterungsfunktionen werden als Java-Klassen bereitgestellt.

        Woher kommen denn die String-Daten? Eine andere Möglichkeit wäre eventuell, die Daten als XML-Datei temporär auf der Platte zu speichern und mittels der doc-Funktion (sollte auch in Xalan verfügbar sein) im XSL-Stylesheet zu laden.

        Viele Grüße

        Martin
        www.aboutxml.d
        Martin Szugat
        www.aboutxml.de

        Comment

        Working...
        X