XSLT是扩展样式表转换语言(Extensible Stylesheet Language Transformations)的简称,这是一种对XML文档进行转化的语言,XSLT中的T代表英语中的“转换”(transformation)。它是XSL(Extensiblestylesheetlanguage)规范的一部分。
具体可参考http://www.w3school.com.cn/xsl/
umbraco为什么会用到xsl?
通过查看数据就会明白,当发布一个content时数据库就会生成一条记录,请查看cmsContentXml表,很明显每条记录都是xml的node节点。
节点里的子节点名称我们会发现与你创建document type时定义的Generic properties名称有关。
在Develop里创建一个xslt file,系统会给你生成一些代码
其中<xsl:param name="currentPage"/>代表的是站点的所有已发布的数据,它是一个xml文档。
如何获取我们想要的数据呢?
那么只需要找到相关的节点就OK了,这就和你当初创建document type的名称有关系了。
例如我们创建了一个名为Blog的document type,那么要获取所有的Blog信息可以通过以下代码实现
<xsl:for-each select="$currentPage/ancestor-or-self::Blog"> <xsl:sort select="./PostDate" order="descending" /> <li><xsl:value-of select="./bodyText"/></li> </xsl:for-each> 附:
<xsl:param name="currentPage"/>含义是定义一个名为currentPage的变量
其xml文档结构可在你的网站根目录下/App_Data/umbraco.config找到