Hallo
ich habe hier ein xml Dokument und ein xsl Dokument.
Das xsl Dokument macht in Zeile 12 Probleme. select="substring-after($ntext,``)"/> wenn icch die zwei einfachen Anführungszeichen nach dem Komma in der Klammer weglasse (das komma auch) dann ist das Dokument gültig läßt sich aber nicht transformieren.
Wo liegt hier der Fehler?
MfG
Daniel
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book SYSTEM "docbookx.dtd">
<?xml-stylesheet type="text/xsl" href="docbook.xsl"?>
<!--Dies ist ein DocBook-Dokument-->
<book lang="de">
<title>Ein sehr einfaches Buch</title>
<chapter>
<title>Einführung DocBook</title>
<para>So ist das also</para>
<figure>
<title>An Example Node Tree</title>
<graphic fileref="figures/node-tree.png"/>
</figure>
</chapter>
</book>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl
utput method="html"/>
<xsl:template name="WasTueIch">
<xsl
aram name="text"/>
<xsl:variable name="ntext" select="normalize-space($text)"/>
<xsl:choose>
<xsl:when test="$ntext">
<xsl:variable name="remainder">
<xsl:call-template name="WasTueIch">
<xsl:with-param name="text" select="substring-after($ntext,``)"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="$remainder + 1"/>
</xsl:when>
<xsl
therwise>0</xsl
therwise>
</xsl:choose>
</xsl:template>
<xsl:template match="/">
<html>
<head>
<title>WasTueIch</title>
</head>
<body>
<xsl:for-each select="//*">
<xsl:variable name="length">
<xsl:call-template name="WasTueIch">
<xsl:with-param name="text" select="."/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="name()"/>
<xsl:text>: </xsl:text>
<xsl:value-of select="$length"/>
<br/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
ich habe hier ein xml Dokument und ein xsl Dokument.
Das xsl Dokument macht in Zeile 12 Probleme. select="substring-after($ntext,``)"/> wenn icch die zwei einfachen Anführungszeichen nach dem Komma in der Klammer weglasse (das komma auch) dann ist das Dokument gültig läßt sich aber nicht transformieren.
Wo liegt hier der Fehler?
MfG
Daniel
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book SYSTEM "docbookx.dtd">
<?xml-stylesheet type="text/xsl" href="docbook.xsl"?>
<!--Dies ist ein DocBook-Dokument-->
<book lang="de">
<title>Ein sehr einfaches Buch</title>
<chapter>
<title>Einführung DocBook</title>
<para>So ist das also</para>
<figure>
<title>An Example Node Tree</title>
<graphic fileref="figures/node-tree.png"/>
</figure>
</chapter>
</book>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl

<xsl:template name="WasTueIch">
<xsl

<xsl:variable name="ntext" select="normalize-space($text)"/>
<xsl:choose>
<xsl:when test="$ntext">
<xsl:variable name="remainder">
<xsl:call-template name="WasTueIch">
<xsl:with-param name="text" select="substring-after($ntext,``)"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="$remainder + 1"/>
</xsl:when>
<xsl


</xsl:choose>
</xsl:template>
<xsl:template match="/">
<html>
<head>
<title>WasTueIch</title>
</head>
<body>
<xsl:for-each select="//*">
<xsl:variable name="length">
<xsl:call-template name="WasTueIch">
<xsl:with-param name="text" select="."/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="name()"/>
<xsl:text>: </xsl:text>
<xsl:value-of select="$length"/>
<br/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>