param wert aus xml datei ziehen
partisan
- xsl
0 Thomas J.S.0 ThomasM
Hallo,
ich habe in einer xml datei in einem Element ein Attribut definiert:
<document NS0:noNamespaceSchemaLocation="xxx_schulung.xsd"
xmlns:NS0="http://www.w3.org/2001/XMLSchema-instance">
<structure project="XXX80" version="1">
</structure>
</document
Das Attribut project mit dem Wert XXX80
Jetzt möchte ich gern diesen Wert herausziehen mittels xslt aber irgendwie funktioniert das nicht:
<xsl:param name="project">
<xsl:for-each select="document/structure">
<xsl:value-of select="@project"/>
</xsl:for-each>
</xsl:param>
vorher hab ich den paramter so gesetzt:
<xsl:param name="project">XXX80</xsl:param>
aber der Wert soll jetzt über die XML Datei gesetzt werden.
Was mach ich falsch?
Hallo,
ich habe in einer xml datei in einem Element ein Attribut definiert:
<document NS0:noNamespaceSchemaLocation="xxx_schulung.xsd"
xmlns:NS0="http://www.w3.org/2001/XMLSchema-instance">
^^^^^^^^^^^
Jetzt möchte ich gern diesen Wert herausziehen mittels xslt aber irgendwie funktioniert das nicht:
[code lang=xml]<xsl:param name="project">
<xsl:for-each select="NSO:document/NSO:structure">
^^^^^^^^^^^^^^^^^^^^^^^^^^
<xsl:value-of select="@project"/>
</xsl:for-each>
</xsl:param>
> Was mach ich falsch?
Du solltest besonders auf die Namensräume achten.
Grüße
Thomas
Hallo Thomas & partisan,
»» ~~~xml
<xsl:param name="project">
»» <xsl:for-each select="NSO:document/NSO:structure">
^^^^^^^^^^^^^^^^^^^^^^^^^^
»» <xsl:value-of select="@project"/>
»» </xsl:for-each>
»» </xsl:param>
>
>
> »» Was mach ich falsch?
>
> Du solltest besonders auf die Namensräume achten.
Die Elemente leben doch gar nicht im NSO-Namensraum, dieser referenziert nur das Schema. So funktioniert das bei mir problemlos (@partisan: Wozu das xsl:for-each?):
~~~xml
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="project" select="document/structure/@project"/>
<xsl:template match="/">
<xsl:value-of select="$project"/>
</xsl:template>
</xsl:stylesheet>
Ergebnis: XXX80
Grüße
Thomas
Ebenso.
Hallo,
Die Elemente leben doch gar nicht im NSO-Namensraum, dieser referenziert nur das Schema.
Ja, du hast natürlich recht.
*argh, was für ein dummer Fehler*
Grüße
Thomas