param wert aus xml datei ziehen
    
partisan
    
    
      
    
  - xsl
- 0 Thomas J.S.- 0 ThomasM
 
 nicht angemeldet
 nicht angemeldetHallo,
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