Мне нужно преобразовать XML в XHTML. В XML есть несколько абзацев и вложенные цитаты, например.Преобразование XML в XHTML
<para>SomeText</para>
<para><quote>SomeText</quote></para>
<para>SomeText</para>
Я попытался это:
<xsl:choose>
<xsl:when test="//text/para">
<xsl:for-each select="//text">
<xsl:for-each select="//para">
<p><xsl:value-of select="text()"/></p>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<xsl:when test="//text/para[quote]">
<xsl:for-each select="//text">
<xsl:for-each select="//para/quote">
<p><q><xsl:value-of select="text()"/></q></p>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
</xsl:choose>
Второе условие просто игнорируется, однако.
Вы должны сделать некоторые серьезное чтение, прежде чем делать какие-либо более кодирования. Прочитайте правила шаблонов, динамический контекст XPath и значение «//» в начале выражения пути. –