Stefan: xlst document()

Hallo Leute,

wie der Betreff schon sagt. es geht um die Funktion document() von xlst.
Irgendwie hänge ich da und komme nicht weiter

Ich habe eine xlst Datei, und 2 xml Datein.
index.xml hat nichts besonders. hier geht es nur darum sich was ausgeben zu lassen.

  
<?xml version="1.0" encoding="UTF-8"?>  
<?xml-stylesheet type="text/xsl" href="test.xsl" ?>  
  
<page source="lang_test.xml">  
	<test></test>  
</page>  

nun ein ausschnitt aus der "test.xsl"

  
<?xml version='1.0' encoding="UTF-8"?>  
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
<xsl:output method="html" encoding="UTF-8"/>  
<xsl:template match="/">  
        <html>  
	      <body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">  
                  <xsl:value-of select="document('./@source')/languages/language[1]/subtitlebold" />  
...  
  

und zu guter letzt noch die lang_test.xml

  
<?xml version="1.0" encoding="UTF-8"?>  
<languages>  
<language name="de">  
	<subtitlebold>Bla bla bla auf deutsch</subtitlebold>  
...  

Alle Tag sind selbstverständlich wieder geschlossen.
So nun zum Problem. ich würde gerne in meiner xlst Datei, auf diese xml datei zugreifen.

document('lang_test.xml')/languages/language[1]/subtitlebold" hat nicht funktioniert daher habe ich es in die xml Datei mit "source" eingebunden (was ich allerdings nicht brauchen kann. Die index.xml Datei wird mir im Projekt vorgegeben und ich habe eine gewissen syntax die ich einhalten muss)

Scheinbar habe ich einige grundsätzliche Züge des xml nicht verstanden, denn in allen Foren und beispielen wird es genau so praktiziert....nur bei mir funktioniert das nicht.

Den ganzen Spaß habe ich nur Clientseitig. Hat jemand eine Idee? oder sieht jemand meinen groben Unfug (auch Fehler genannt)?

  1. Hallo Stefan,

    Den ganzen Spaß habe ich nur Clientseitig. Hat jemand eine Idee? oder sieht jemand meinen groben Unfug (auch Fehler genannt)?

    Bei mir funktioniert im IE9 und FF4 sowohl

    <xsl:value-of select="document('lang_test.xml')/languages/language[1]/subtitlebold"/>

    als auch

    <xsl:value-of select="document(/page/@source)/languages/language[1]/subtitlebold"/>

    Im letzteren Fall dürfen natürlich keine '...' um den XPath-Ausdruck gesetzt werden.

    Grüße,
    Thomas