cms系统要用到xslt+xml进行动态输出。现在学习一下xslt。
下面是一个转贴 http://dev.csdn.net/develop/article/59/59298.shtm
《Java与XSLT》读书笔记
一,所有的XSLT处理器必须包括四个内置的模版规则,它们的优先级要低于任何其他规则,所以只要编写一个新的模版规则来匹配相同的式样,就可以覆盖它们。理解内置规则的最好方法就是架设它们总是位于后台,如果没有找到其他匹配一个节点的规则,就应用这些内置规则。
<xsl:template match="*|/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="*|/" mode="m">
<xsl:apply-templates mode="m"/>
</xsl:template>
<xsl:template match="text()|@*">
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="processing-instruction()|comment()">
二,XPath
<message>
<header>
<subject>Hello,World</subject>
<date mm="03" dd="01" yy="2002">
<sender>pres@whitehouse.gov</sender>
<recipient>burke_e@ociWeb.com</recipient>
<recipient>burke_e@yahoo.com</recipient>
<recipient>aidan@burke.com</recipient>
</header>
<body>
…
</body>
</message>
如果<header>为上下文节点,那么child::sbject将选择<subject>节点,而child::recipient将选择所有的<recipient>节点集,child::*将选择<header>的所有子节点。星号(*)字符是一个通配符,表示主要节点类型的所有节点。每个轴都有一个主要节点类型,它始终为元素,除非该轴为属性或命名空间。如果<date>为上下文节点,那么attribute::yy将选择yy属性,而attribute::*将选择<date>元素的所有属性。
简单增加一个谓词过滤结果节点集,通常会减少结果集的大小。增加额外的谓词可进行额外的过滤。例如child::recipient[position()=1]最初将从前一个实例中选择所有的<recipient>元素,然后向下过滤(减少)这个列表直到第一个:
burke_e@ociWeb.com 位置