我是XSLT的新手,对格式化列表有点困惑。基本上我需要我的XML结构,其中有一部分:
<slideshow>
<slide id="A1">
<title>XML techniques</title>
<paragraph> Slideshow prepresents different kind of <bold>XML</bold> techniques </paragraph>
<paragraph> Most common XML Techniques are </paragraph>
<numberedlist>
<item> Basic XML, DTD (version 1.0) </item>
<item> XHTML </item>
<itemizedlist>
<item> XHTML 1.0 </item>
<item> XHTML basic </item>
<numberedlist>
<item> for mobile phones </item>
<item> basic set for all XHTML documents</item>
</numberedlist>
</itemizedlist>
<item> XML namespace </item>
<item> XSL </item>
<itemizedlist>
<item> XSLT - template based programming language</item>
<item> XSL-FO - formating output like CSS </item>
</itemizedlist>
<item> Programming API (like SAX and DOM) </item>
<item> XML Schemas </item>
</numberedlist>
</slide>
..
</slideshow>
看起来像这样:
我想尽可能简单地做到这一点,所以我只是使用模板而没有复杂的XPath面具,但似乎没有简单的方法..有人可以帮忙吗?谢谢!
答案 0 :(得分:2)
实际上,这在XSLT中是微不足道的,因为它是递归的processing model。
XSLT 1.0
#include <iostream>
#include "sqlite3.h"
<强>结果强>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8"/>
<xsl:strip-space elements="*"/>
<xsl:template match="numberedlist">
<ol>
<xsl:apply-templates/>
</ol>
</xsl:template>
<xsl:template match="itemizedlist">
<ul>
<xsl:apply-templates/>
</ul>
</xsl:template>
<xsl:template match="item">
<li>
<xsl:value-of select="." />
</li>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
<强>呈现强>