Witam.

Mam pewien problem z XSLT. Mianowicie mam szablon XML w którym znajduje się np. <wezelA xpath="/ab:WezelB/text()" />. W XSLT próbuję zamienić podaną w węźle A ścieżkę na wartość w osobnym pliku XML z danymi. Mam coś takiego:

<xsl:variable name="dataDocument" select="document('c:\dane.xml')"/> 

<xsl:template match="xfd:field">
    <fo:inline>
      <xsl:variable name="test_val">
        <xsl:value-of select="@*"/>
      </xsl:variable>
      <xsl:value-of select="co tu wstawić?"/>
    </fo:inline>
  </xsl:template>

Dodam, że:

  • test_val ** w tym przypadku przyjmuje "/ab:WezelB/text()"
  • concat(dataDocument, test_val) ** zwraca całego XML ze wszystkimi węzłami
  • document(''c:\dane.xml')/ab:WezelB/text()) ** co dziwne to działa, ale potrzebuje rozwiązanie w którego nie znam wszystkich nazw węzłów
  • document(''c:\dane.xml')/@*) ** zapis ten powinien wg. mnie być równoważny z tym powyżej lecz tak się nie dzieje i ten sposób również nie działa

Czy ma ktoś z was jakiś pomysł jak rozwiązać ten problem?

Z góry dzięki za pomoc.
Pozdrawiam.