Johannes: Hilfe bei Aufruf von dynamischer datei mit document() (XPATH)

Hey hab das Problem dass ich abhängig von dem attribut >name< eine datei in einem bestimmten ordner aufrufen muss und die datei hat den namen der in der variable $locale definiert ist. Ich weis klingt alles etwas kompliziert aber ich denke mein "Versuch" zeigt was ich will... nur geht das halt dummerweise nicht.

btw - kann mir jemand sagen wie ich sowas angehen kann außer hier zu fragen ? selfhtml u.a. geben irgendwie nur infos zu standard anwendungen aber so spezielle sachen find ich irgendwie nirgens. wäre für tipps dankbar ^^

<xsl:value-of select="document('../../'@name'xsl/standard/'$locale'.xsl')//xsl:variable[@name = '@name']"/>

Danke Johannes

  1. Hallo,

    Hey hab das Problem dass ich abhängig von dem attribut >name< eine datei in einem bestimmten ordner aufrufen muss und die datei hat den namen der in der variable $locale definiert ist. Ich weis klingt alles etwas kompliziert aber ich denke mein "Versuch" zeigt was ich will... nur geht das halt dummerweise nicht.

    <xsl:value-of select="document('../../'@name'xsl/standard/'$locale'.xsl')//xsl:variable[@name = '@name']"/>

    Das ist, wie du gemerkt hast ein wenig Tohuwabohu. ;-)
    So wie du es erklärst und versucht hast, kann ich nicht nachvollziehen was du erreichen möchtest.

    1. "abhängig von dem attribut >name< eine datei in einem bestimmten ordner aufrufen muss "
      Was enthält dieses Attribut? Den Namen der Ordner?

    Den Dateinamen kann es ja nicht enthalten denn du schreibst:

    1. "und die datei hat den namen der in der variable $locale definiert ist."

    Möchtest du eine XML-Datei oder eine XSL-Datei aufrufen?

    <xsl:value-of select="document(concat('../../', @name, 'xsl/standard/', $locale, '.xml'))"/>

    Das würde dir den Wurzelknoten der Datei $locale.xml liefern.

    Nur ich weiss jetzt eben nicht warum du .xsl angegeben hast? Möchtest du in einer anderen xsl-Datei dann auf eine Variable zugreifen?

    Fragen über Fragen ...

    Grüße
    Thomas