Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich habe ein Problem mit XML-Transformationen.

Ich möchste einen Teilbaum in einer Variable speichern um den Inhalt später wieder lesen zu können.

Es funktioniert aber überhaupt nicht. Die Fehlermeldung ist immer

>>

ERROR: Description: Expression must evaluate to a node-set.

-->$data<--/message

<<

Ich verstehe den Fehler nicht. Ich copiere doch einen Node-set (wege copy-of anstatt value-of)

Wieos kann ich dann nicht auf die Unterelemente zugreifen.

Anmerkung: Der Zugriff auf die Variable selbst funktioniert.

Bisher habe ich soetwas:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:output method="xml" />

<xsl:variable name="currenttype" select="'idoc'"/>

<xsl:variable name="currentclient" select="/content/rule-result/client"/>

<xsl:variable name="data">

<xsl:for-each select="/content/datasource/client">

<xsl:if test="./name=$currentclient">

<xsl:if test="type=$currenttype">

<xsl:copy-of select="."/> </xsl:if>

</xsl:if>

</xsl:for-each>

</xsl:variable>

<xsl:template match="/">

<test><xsl:value-of select="$data/message"/></test>

</xsl:template>

</xsl:stylesheet>

Die XML-Datei sieht so aus:

<content>

<!--cut-->

<datasource>

<client>

<name>218</name>

<type>bim</type>

<mail>a@a.de</mail>

<message>Nachricht1</message>

</client>

<client>

<name>218</name>

<type>idoc</type>

<mail>b@b.de</mail>

<mail>c@c.de</mail>

<message>Nachricht2</message>

</client>

<client>

<name>201</name>

<type>idoc</type>

<mail>d@d.de</mail>

<message>Nachricht3</message

</client>

</datasource>

</content>

Kann mir irgendwer helfen?

:confused:

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...