Witam,
Mam taki plik XML:
<?xml version="1.0" encoding="utf-8"?>
<library xmlns="http://void.net/library/1.0">
<catalog>
<cd id="c1">
<singer id="s1">
<name>Kate</name>
<surname>Apple</surname>
</singer>
<title>Great CD</title>
</cd>
<cd id="c2">
<singer id="s2">
<name>Mary</name>
<surname>Orange</surname>
</singer>
<title>Even better CD</title>
</cd>
</catalog>
</library>
Umiem stworzyć plik dla niego plik XSLT, ale tylko wtedy gdy pozbędę się lini:
<library xmlns="http://void.net/library/1.0">
...
</library>.
Te dwie linie mówią o przestrzeni nazw (namespace) w pliku XML. Czytałem nieco o tym, ale nie potrafię tak zmodyfikować pliku XSLT aby wszystko działało. Mój w pełni działający plik XSLT (bez przestrzeni nazw):
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="no" />
<xsl:template match="/catalog">
<xsl:text>singer,title
</xsl:text>
<xsl:for-each select="cd">
<xsl:value-of select="concat(singer/name, ' ', singer/surname, ', ', title, '
')" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>