young.han

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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找到

posted on 2013-11-11 11:56  young.han  阅读(288)  评论(0编辑  收藏  举报