Harm, are you sure that the dot "." is an acceptable character for an element
name in XML?
I don't think so.
Maybe you should try to add attributes like <li nr="1">1.</li>.
Sergiu
Hi,
I am having the following problem. I would like to put a list
number in
a seperate element and preserve the other in-line elements.
input:
<?xml version="1.0"?>
<root>
<al>1. This is some very <emphasis>important</emphasis> tekst.</al>
<al>2. And a second line</al>
<al>And a last line</al>
</root>
desired output:
<li><li.nr>1.</li.nr><al>This is some very
<emphasis>important</emphasis> tekst.</al></li>
<li><li.nr>2.</li.nr><al>And a second line</al></li>
<al>And a last line</al>
I can use XSLT 2 for the solution, but even with this I have not been
able to solve the problem.
I have tried the following solution. It works perfectly with strings,
but the inline element <emphasis> is not copied to the output.
Stylesheet:
<xsl:template match="al">
<xsl:param name="first-string">
<xsl:value-of select="substring-before(., ' ')"/>
</xsl:param>
<xsl:choose>
<xsl:when test="matches($first-string,'\d')">
<li>
<xsl:analyze-string select="." regex="^\d\. ">
<xsl:matching-substring>
<nr><xsl:value-of select="."/></nr>
</xsl:matching-substring>
<xsl:non-matching-substring>
<al><xsl:copy-of select="."/>
</al>
</xsl:non-matching-substring>
</xsl:analyze-string>
</li>
</xsl:when>
<xsl:otherwise>
<al><xsl:copy-of select="descendant::node()"/></al>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
How can I achieve this without nodes in stead of strings (in
XSLT1.0 or
XSLT2.0)?
Regards,
Harm
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list