[Umbraco] xslt语言介绍及与umbraco的关系
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找到
[Umbraco] xslt语言介绍及与umbraco的关系的更多相关文章
- R语言实战读书笔记1—语言介绍
第一章 语言介绍 1.1 典型的数据分析步骤 1.2 获取帮助 help.start() help("which") help.search("which") ...
- Arduino语言介绍
Arduino语言介绍 Arduino语言是建立在C/C++基础上的,其基础是C语言,Arduino语言只不过把AVR单片机(微控制器)相关的一些参数设置都函数化,不用我们去了解他的底层,让不了解AV ...
- day02编程语言,Python语言介绍,Python解释器安装,环境变量,Python代码执行,pip,应用程序使用文件的三步骤,变量,变量的三大组成,比较,pycharm
复习 重点: 1.进制转换:二进制 与十六进制 2.内存分布:栈区 与堆区 # 二进制1111转换十六进制 => 8 4 2 1 => f 10101100111011 => 2a7 ...
- (转)expect命令脚本语言介绍及生产实践
原文:http://www.fblinux.com/?p=526 Expect介绍 expect是一个用来实现自动交互功能的软件套件,是用来实现自动和交互式任务程序进行通信,无需人的手工干预.比如SS ...
- Java众神之路(1)-语言介绍
Java语言介绍 1.Java的历史 我个人认为,学习一种技术,不止要关注技术本身,也应该去了解一下它的发展史,这一方面是对技术本身的尊重,另一方面也是希望能够通过该技术的发展历史推测出其未来可能的发 ...
- C语言基础 (3) C语言介绍
01回顾 02 语言介绍 语言是人和人交流,C语言是人和机器交流. 03_为什么学C语言 04_第一个C代码编译运行 #include <stdio.h> int main() { // ...
- solidity语言介绍以及开发环境准备
solidity语言介绍以及开发环境准备 Solidity 是一门面向合约的.为实现智能合约而创建的高级编程语言.这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的 ...
- 尚学python课程---12、python语言介绍
尚学python课程---12.python语言介绍 一.总结 一句话总结: 1.操作简单:简便计算:允许通过单个“import”语句后跟一个函数调用来完成复杂的计算.虽慢 2.库丰富:比如人工智能和 ...
- 1、Go语言介绍
一 Go语言介绍 Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言. Go是静态强类型语言,是区别于解析型语言的编译型语言. 解析型语言--源代码是先翻译为中间代码, ...
随机推荐
- openstack 租户、用户管理
创建domain [root@cc01 ~]# openstack domain create --description "Default Domain" default +-- ...
- IntelliJ IDEA 2017版 spring-boot2.0.4+mybatis+Redis处理高并发,穿透问题
一.当采用reddis缓存的时候,如果同时,一万次访问,那么就会有10000次访问数据库所以就会对数据库造成巨大压力,这时候,就要用到线程 1.方法体上加锁(优点,防护住了并发锁,缺点降低了内存效率) ...
- javascript总结集合
前言:下面的总结都是自己测试过的,绝大多数都是没问题的,但是不敢保证一定全面,还需要诸君自己独立思考: 1)基础:在nodejs里全局对象是global,而网页里js的全局对象是window:对于所有 ...
- ID、句柄、指针、对象互相转换
/*************************************************************************************************** ...
- mach_absolute_time 使用
今天看荣哥时间常用函数封装里有个不常见的函数 ,mach_absolute_time() ,经查询后感觉是个不错的函数,网上关于这个函数搜索以后简单整理来一下. 什么事Mach? 时间例程依赖于所需要 ...
- 使用Servlet动态生成验证码
最近在重新看了一遍servlert,看到篇优质博客推荐给大家:https://www.cnblogs.com/xdp-gacl/p/3798190.html 顺便把学习过程中的知识记录下来. 今天是如 ...
- C++ 中的continue理解
continue的在循环中的作用: 1. 跳过当前循环,但是还需要执行自增条件, 如下程序:当i == 3时,执行i++, 即if判定{}执行完毕,则i==4, 然后 for最后一条语句i++, 然后 ...
- jQuery插件初级练习1
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- Android-Java静态代码块&局部代码块
静态代码块: 静态代码块什么时候执行,是由当前类被加载进内存的时候,什么时候当前类被加载进内存? 答:例如 描述好了Student对象,当 new Student(); 的时候,第一步:是把Stude ...
- Android-Kotlin-具名参数
先看一个这样的案例,[案例一]: package cn.kotlin.kotlin_base05 fun showAction1(country: String, volk: String) { pr ...