xslt元素详解

元素
 
--------------------------------------------------------------------------------
 
定义与用法
运用了一个从外部导入的xsl作为Template.
导入的Template的样式表比宿主xsl的样式表优先级要低.
 
--------------------------------------------------------------------------------
 
语法

 
Attributes
None
 
例子
假设我们有一个样式表叫"standard.xsl",它包含一个为message elements定义的template
 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 






宿主样式表要能导入"standard.xsl",并且修改message elements,像如下这样:
 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 
   

     
   

 


 
结果会把message elements转变成如下这样:
 

...


用这种方式,可以实现xsl的重用。
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
元素将模版运用到当前元素或者是当前元素的子节点。
 
如果我们在元素中增加一个select属性,它将只对与属性匹配的子元素有效。我们可以用select属性来指定要处理的子节点。
 
--------------------------------------------------------------------------------
 
语法
  


 
属性
属性 值 说明
select  expression  select表达式是可选的用于指定要处理的节点。一个星号*选择了全部的节点集。如果属性省略了,那么所有的子节点都将被选择。
mode  name  mode也是可选的,如果对一个相同的元素有很多定义,那么用mode可以区分他们。

 
 
例子 1
对于文档中的每一个tiltle元素用h1元素包装。

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  
     


  

 
例子 2
对于文档中的所有message 元素的子元素tiltle用h1元素包装。
 


 
    


 


 
例子 3
对于文档中的所有message 元素的所有子元素用h1元素包装,mode属性被置为”big”。
 


  
     


 


 
 
元素
定义与用法
元素被用来向元素添加属性
 
说明:当有相同的名称时元素会替代当前的属性。
 
 
--------------------------------------------------------------------------------
 
语法
  


 
属性
属性 值 说明
name  attributename  必需的。指定属性的名称
namespace  URI  可选。为属性定义命名空间。

 
 
例子 1
在picture元素里添加一个source属性:
 

 

 
例子 2
在picture元素里添加一个source属性,并用"images/name"付值:
 

 
   
 


 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
 
元素创建一个属性集。
 

说明:必须是 或者 的子元素。
 
--------------------------------------------------------------------------------
 
语法

 

 
属性
属性 值 说明
name  name  必需。用来指定attribute-set的名称。
use-attribute-sets  name-list  可选。 

 
 
 
例子 1
建立一个可以应用于任何输出元素的属性集:
 

 Arial
 14px
 red

 
元素
定义与用法
元素调用一个命名的template。
 
--------------------------------------------------------------------------------
 
语法
  


 
属性
属性 值 说明
name  templatename  必须。指定被调用的template的名字

 
 
例子 1
当发现car元素时,调用名为"description"的template
 

 

 
 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
结合使用,表示多条件选择。
 
不为真时,的内容就被执行。
 
都不为真时,什么都不执行。
 
说明:对于简单的条件选择,用即可。
 
--------------------------------------------------------------------------------
 
语法

 
属性

 
例子 1
下面的代码展示了如何将价格高于10 的CD的artist列背景颜色设为粉红色

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
 
   

My CD Collection


   
     
       
       
     
     
     

       
      
         
           

         
         
           

         
       
     
     
   
Title Artist

           

 
 

 
例子 2
声明一个名为"color"的变量。把当前元素color属性的值赋给"color"变量。如果当前元素没有color属性,则"color"变量的值将为"green":

 
   
     
   
  
    green
 


 
元素
 
 
元素
定义和用法
元素被用来在结果树中创建一个注释节点。
 
 
--------------------------------------------------------------------------------
 
语法

 
属性

 
例子 1
This is a comment!
 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
创建当前节点的一份拷贝
 
说明:当前节点的命称空间被自动拷贝,但是子节点和当前节点的属性不会被自动拷贝!
 
--------------------------------------------------------------------------------
 
语法

 
属性
属性 值 说明
use-attribute-sets  name-list  可选。

 
 
 
例子 1
把message节点拷贝到输出文档中:
 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 

 
   
 


 

 
 
元素
定义与用法
元素创建当前节点的一份拷贝。
 
注意:命名空间节点,自节点和当前节点的属性都会被自动拷贝。
 
提示:这个元素能够向输出的不同位置插入多个相同节点的拷贝。
 
--------------------------------------------------------------------------------
 
语法

 
属性
属性 值 说明
select  expression  需要,用来指定要拷贝的部分

 
 
例子1



 
 Element
 Description
 


 
 
 


   
   
   

   
     

     
   
   
   
 

 

 
   
   
   

   
     

     
   
   
   
 

 
 

元素
 
--------------------------------------------------------------------------------
 
定义与用法
 
元素定义字符和符号使用format-number()函数来把数字转换为字符串。
 
每个国家使用不同的字符分割整数部分,以及整数分组符号。元素让您可以自己定义它们。
元素您可以把特殊字符转为其他的符号。
 
这个元素是个顶级元素。
 
format-number()函数可以用name指定元素。
 
--------------------------------------------------------------------------------
 
语法
name="name"
decimal-separator="char"
grouping-separator="char"
infinity="string"
minus-sign="char"
NaN="string"
percent="char"
per-mille="char"
zero-digit="char"
digit="char"
pattern-separator="char"/>  
 
属性
属性 值 说明
name  name  可选。指定这个format的name 
decimal-separator  char  可选。指定小数点,默认是“.”
grouping-separator  char  可选。指定千分割符,默认是“,”(比如2,000) 
infinity  string  可选。指定“无穷大”字符串,默认是“Infinity”
minus-sign  char  可选。指定负数符号。默认是“-”
NaN  string  可选。当值不是数字时,指定使用的字符串。默认是“NaN”
percent  char  可选。指定百分号,默认是“%”
per-mille  char  可选。指定千分号,默认是“‰”
zero-digit  char  可选。指定零。默认是“0”
digit  char  可选。指定字符用来指出需要使用数字的地方。默认是#(看下面的例子您会明白) 
pattern-separator  char  可选。指定字符用来在一个样式中分割正数和负数,默认是“;”

 
 
例子 1
下面的这个例子展示了如何格式化为欧洲流通样式。(注意在format-number()中的第三个变量运用了定义的的名称):
(PS:欧洲使用这种标准?我也是才知道)
下面这个例子用“.”作为千分割符,用“;”作为小数点。

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


 

 


 
输出: 26.825,80
 
 
元素
 
--------------------------------------------------------------------------------
 
定义和用法
元素用来创建一个元素到输出文档。
 
--------------------------------------------------------------------------------
 
语法
name="name"
namespace="URI"
use-attribute-sets="namelist">

 
 
 属性
属性 值 说明
name  name  必须。指定创建的元素的名称(元素名称可以动态赋予,比如
namespace  URI  可选。指定元素的名称空间(可以动态赋予,比如:
use-attribute-sets  namelist  可选。指定添加的属性列表。

 
 
例子 1
 
创建一个名为“singer”的元素,此元素包含每一个artist元素的值。
 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 

     

   

 



 
 
元素
 
--------------------------------------------------------------------------------
 
定义和用法
The 元素,当XSL 处理器不能处理某个XSL 元素时,元素指定了一个替换代码去执行。
 
--------------------------------------------------------------------------------
 
语法

 
属性

 
例子 1
 
这个例子假设处理器对元素不支持,它将会用<:xsl:for-each>元素替代。
 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
   
   
        
       
     
  
   
  
 



 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
元素在每一个指定的节点集中循环。
 
--------------------------------------------------------------------------------
 
语法
  


 
属性
属性 值 说明
select  expression  必须。指定要处理的节点。

 
 
例子 1
在每个cd节点中循环,使用把每一个cd节点中的title和artist的节点值写到输出中:
 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 
 
   

My CD Collection


   
     
       
       
     
     
     

       
       
     
     
   
Title Artist

 
 


 
 
例子 2
在每个cd节点中循环,使用把每一个cd节点中的title和artist的节点值写到输出中(用artist作为排序条件):
 
 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 
 
   

My CD Collection


   
     
       
       
     
     
     
     

       
       
     
     
   
Title Artist

 
 

元素
 
--------------------------------------------------------------------------------
 
定义和用法
元素包含一个样规,该样规当指定的条件为真时应用。
 
提示:可以使用结合,表达多条件控制!
 
--------------------------------------------------------------------------------
 
语法



 
属性
属性 值 说明
test  expression  必须。指定要被检查的条件。

 
 
例子 1
选择CD中price的值大于10的。
 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
 
   

My CD Collection


   
     
       
       
     
     
            
       

         
         
       
     
     
   
Title Artist

 
 


 
 
例子 2
展示每一个CD的title。
1、在每一个CD-title后插入“,”(条件:不是最后一个)
2、如果是倒数第二个插入“, and”
3、如果是最后一个插入“!”
 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
 
   

My CD Collection


   

Titles:
   
     
     
        ,
     

     
        and
     

     
        !
     

   

   


 
 


 
 
元素
 
--------------------------------------------------------------------------------
 
定义和用法
元素是一个高级(原文是top-level)的元素用来把一个样式表的内容导入到另外一个。
 
说明:一个被导入的样式表比导入它的样式表的优先级要低。
 
说明:这个元素必须在元素中作为第一个子节点出现。
 
说明:在Netscape 6中不支持import优先级规则,所以这个元素在Netscape 6中与是一样的。
 
--------------------------------------------------------------------------------
 
语法
_fcksavedurl=""URI"/>"
 
属性
属性 值 说明
href  URI  必须。指定要被导入的样式表的URI 

 
 
例子 1
假设你有一个称为"cdcatalog_ex3.xsl"的样式表。
 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
 
  

My CD Collection


  
    
      
      
    
    
     
     
    
  
Title Artist

 
 

 
第二个称为"cdcatalog_import.xsl"的样式表导入"cdcatalog_ex3.xsl":

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
_fcksavedurl=""cdcatalog_ex3.xsl"/>"
 

 
 
 


 
说明:这个例子不能运行在Netscape 6中,因为它不支持 元素。
 
 
元素
 
--------------------------------------------------------------------------------
 
定义和用法
 
元素是一个高级(原文是top-level)的元素用来把一个样式表的内容导入到另外一个。
 
说明:Included的样式表与including的样式表有相同的优先级。
 
说明:这个元素必须作为的一个子节点出现。
 
--------------------------------------------------------------------------------
 
语法

 
属性
属性 值 说明
href  URI  必须。指定include的样式表的URI。


元素
 
--------------------------------------------------------------------------------
 
定义与用法
 
元素是一个高级(原文是top-level)的元素,用来声明一个被key()函数使用的key
 
说明:一个key不一定是唯一的!
 
--------------------------------------------------------------------------------
 
语法

 
属性
属性 值 说明
name  name  必须。指定key的名称。
match  pattern  必须。定义key将应用的节点。
use  expression  必须。Key对于每一个节点的值。

 
 
例子 1
假设你有一个称为"persons.xml"的XML文件:

 
 
 

 
你可以在一个XSL文件中这样定义一个key:
 

 
查找id="050676"的person。
 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 

 

 
 
 
   


    Id:

    Name:
   


 
 
 

 

 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
元素向输出发送一条消息。这个元素首先被用来报告错误。
 
这个元素能够包含几乎所有其它的XSL元素(比如:等)。
 
当一个错误发生时,Terminate属性为您提供选择是继续执行还是退出。
 
--------------------------------------------------------------------------------
 
语法

 

 
属性
属性 值 说明
terminate  yes no  可选。当消息写到输出后“yes”将终止执行,而“no”继续执行。默认是“no”。

 
 
例子 1
检查artist是否是一个空串。如果是,我们结束XSL处理并显示一条消息:

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 

 
 
 
   

Title:

    Artist:
   
     
        Error: Artist is an empty string!
     

   

   
   


 
 
 


 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
 
元素用来在输出中用不同的名称空间替代样式表中原来的名称空间。
 
说明:是一个高级的元素,必须是或者的子节点。
 
--------------------------------------------------------------------------------
 
语法
stylesheet-prefix="prefix|#default"
result-prefix="prefix|"#default"/>
 
属性
属性 值 说明
stylesheet-prefix  prefix #default  必须。指定您想要改变的名称空间。
result-prefix  prefix #default  必须. 指定输出想要的名称空间。

 
 
例子 1
 
wxsl前缀在输出中被转换为xsl前缀。
 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wxsl="http://www.w3schools.com/w3style.xsl">
 

 

 
   
 


 

 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
元素被用来确定当前节点中的整数位置。也被用来格式化一个数字。
 
--------------------------------------------------------------------------------
 
语法
count="expression"
level="single|multiple|any"
from="expression"
value="expression"
format="formatstring"
lang="languagecode"
letter-value="alphabetic|traditional"
grouping-separator="character"
grouping-size="number"/>
 
属性
Attribute  Value  Description 
count  expression  可选. An XPath expression that specifies what nodes areto be counted
一个XPath表达式用来指定什么样的节点被计数。
level  single multiple any 

可选。对数字串产生像目录树一样的分级。
&S226;single (默认)
&S226;multiple (多级)
&S226;any (Netscape 6不支持)
 
from  expression  可选。用一个XPath表达式指定从哪里开始计数。
value  expression  可选。由用户指定一个数字来产生数字序列。
format  formatstring 

可选。定义了输出的数字的样式。可以是下述之一:
&S226;format="1" results in 1 2 3 . .
&S226;format="01" results in 01 02 03 (not supportedby Netscape 6)
&S226;format="a" results in a b c . . (not supported byNetscape 6)
&S226;format="A" results in A B C. . (not supported byNetscape 6)
&S226;format="i" results in i ii iii iv . . (not supportedby Netscape 6)
&S226;format="I" results in I II III IV . . (not supported by Netscape 6)
 
lang  languagecode 可选。指定语言的字母表。(ps:有疑问)
Netscape 6不支持。
letter-value  alphabetic traditional  可选。指定数字化时是用字母表还是传统。默认是字母表。(ps:有疑问)
grouping-separator  character  可选,指定数字组的分割符,默认是”,” 
grouping-size  number  可选。指定多少个数字为一组,使用一个分割符,默认是3 

 
 
例子1

 
输出:
250.000
 
例子2

 
输出:
25,00,00
 
例子3
grouping-separator="#" format="I"/>
 
输出:
X#I#I
 
例子 4
 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
 
 


 
   
   

 

 


 
 

元素
 
--------------------------------------------------------------------------------
 
定义与用法
 
元素为元素指定一个默认的动作。这个动作当的条件不满足的时候发生。
 
--------------------------------------------------------------------------------
 
语法



 
属性

 
例子 1
下面这段代码将把cd的price高于10的artist列的背景色设为粉红色,OTHERWISE只是打印artist的name:

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
 
   

My CD Collection


   
     
       
       
     
     
    

       
      
         
           

         
         
           

         
       
     
     
   
Title Artist

           

 
 

 
例子 2
声明一个名为"color"的变量。设置变量的值为当前元素的color属性的值。如果当前元素没有color属性,"color"的值将为"green":
 

 
   
     
   
  
    green
 


 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
 
元素定义了输出文档的格式:
 
说明:是一个高级的(top level)元素,必须作为的子节点出现:
 
--------------------------------------------------------------------------------
 
语法
method="xml|html|text|name"
version="string"
encoding="string"
omit-xml-declaration="yes|no"
standalone="yes|no"
doctype-public="string"
doctype-system="string"
cdata-section-elements="namelist"
indent="yes|no"
media-type="string"/>
 
属性
属性 值 说明
method  xml html text name  可选。定义了输出的格式。默认是XML(如果根节点的第一个子节点是并且没有其他高优先级的文本节点,那么默认是HTML)
Netscape 6只支持"html" 和 "xml" 
version  string  可选。设置版本。当用method="html" 或者 method="xml"时才用到。
encoding  string  可选。设置输出的编码。
omit-xml-declaration  yes no  可选。如果为"yes",则XML声明()在输出中会被省略,否则就会加入。默认是"no" 
standalone  yes no  可选。"yes"时standalone要在输出中声明,"no"时不必在输出中声明。默认是"no"。
Netscape 6不支持
doctype-public  string  可选。设置输出的public DOCTYPE值。
doctype-system  string  可选。设置输出的system DOCTYPE。
cdata-section-elements namelist  可选。用空格来分割内容为字符数据类型的元素。(ps:有疑问)
indent  yes no  可选。缩进选项。"yes"时要根据结构缩进,"no"时不缩进。默认是"yes"
Netscape 6不支持
media-type  string  可选。定义输出的MIME类型。默认是"text/xml"
Netscape 6不支持

 
 
 
例子 1
 
下面这段代码以XML格式输出,xml版本是1.0,编码是"ISO-8859-1",并且为了易读文档要缩进。

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
encoding="iso-8859-1" indent="yes"/>......

 
例子 2
下面这段代码以HTML格式输出,HTML版本是4.0,编码是"ISO-8859-1",并且为了易读文档要缩进。

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">encoding="iso-8859-1" indent="yes"/>......
 
 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
 
元素被用来声明一个局部或者全局的参数。
 
说明:如果声明的是一个高级(top-level)的元素那么参数是全局的,
如果在一个样规中声明那么是局部的。
 
--------------------------------------------------------------------------------
 
语法
name="name"
select="expression">

 
属性
属性 值 说明
name  name  必须。指定参数的名称。
select  expression  可选。指定一个XPath表达式作为参数的默认值。

 
 
例子 1

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 
 
 
   
 

 
 


 
 
   

Title:


 


 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
 
元素用来定义必须保留空白空间的元素。
 
元素用来定义必须移除空白空间的元素。
 
说明:因为保留空白空间是默认设置,所以只有当元素被使用时才有必要使用元素。
 
说明:元素和元素是高级(top-level)元素。
 
--------------------------------------------------------------------------------
 
语法

 

 
属性
属性 值 说明
elements  list-of-element-names 必须。对列表中的元素加上/除去白色空间。
说明:列表可以包含“*”和“prefix:*”这样所有的元素或者一个特定的命名空间所有的元素能够加入。

 
 
 
例子 1
 
下面的这个例子,title 和 artist 元素保留白色空间,country, company, price, 和 year 元素移除白色空间:
 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 



 
 
 
   


   

   

   

   

   

   
   


 
 
 

 

 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
 
元素向输出写一条执行指令。
 
--------------------------------------------------------------------------------
 
语法
  


 
属性
属性 值 说明
name  process-name 必须。指定执行指令的名称。 

 
 
例子 1
下面的代码:

href="style.css" type="text/css"

 
生成如下的标记:
 

元素
 
--------------------------------------------------------------------------------
 
定义与用法
 
元素被用来对输出排序。
 
说明:通常与 或者 一起使用。
 
--------------------------------------------------------------------------------
 
语法
select="expression"
lang="language-code"
data-type="text|number|qname"
order="ascending|descending"
case-order="upper-first|lower-first"/>
 
属性
属性 值 说明
select  XPath-expression 可选。指定根据哪一个node/node-set为关键字来排序。
lang  language-code  可选。指定用哪一种语言来排序。
data-type  text number qname  可选。指定数据用来排序的数据类型。默认是“text”
order  ascending descending  可选。指定排序方式。默认是升序。
case-order  upper-first lower-first  可选。指定是按大写字母先排序还是按小写字母先排序。

 
 
例子 1
The example below will sort the output by artist:
下面例子的输出会以artist为关键字排序。

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
 
   

My CD Collection


   
     
       
       
     
     
     
     

       
       
     
     
   
Title Artist

 
 


 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
元素是两个意思完全一样的元素。都被用来定义样式表的根元素。
 
--------------------------------------------------------------------------------
 
语法
exclude-result-prefixes="list">  


 
 
exclude-result-prefixes="list">


 
属性
属性 值 说明
version  version  必须。指定样式表的XSLT版本
extension-element-prefixes list  可选。
扩展元素的命名空间前缀(以空格分割)
Netscape 6不支持该属性
exclude-result-prefixes  list  可选。
不因该在输出中出现的扩展元素的命名空间前缀(以空格分割)
id  name  可选。样式表的唯一id
Netscape 6不支持该属性

 
 
 
例子 1

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">........
 
例子 2

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">........
 
 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
The element contains rules to apply when a specified node is matched.
元素包含一些对匹配节点有用的规则。
 
match属性用来匹配XML节点。也可以匹配全部XML文档(比如match="/")
说明: 是一个高级(top-level)元素。
 
 
--------------------------------------------------------------------------------
 
语法

 

 
Attributes
属性 值 说明
name  name  可选。指定该template的名称。
说明:如果这个属性被省略了,一定会有match属性。
match  pattern  可选。template匹配的模式
说明:如果这个属性被省略了,一定会有name属性
mode  mode  可选。
指定这个template的模式
priority  number  可选。
用一个数字指出了template的数字的优先级

 
 
例子

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
 
 

My CD Collection


 
 
 


 


 
 
 




 Title:
 

 



 Artist:
 

 



 
 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
元素用来向输出写一段文字。
 
提示:这个元素可以包含文字,实体引用和任何非xml元素的数据。
 
--------------------------------------------------------------------------------
 
语法
  


 
属性
属性 值 说明
disable-output-escaping yes no  可选。当为"yes"时,特殊的字符(比如"<")照原样输出,当为"no"时,输出为"<"。默认是"no"。
这个属性在Netscape 6中不被支持

 
 
 
例子 1
展示每一个CD的title。
1、在每一个CD-title后插入“,”(条件:不是最后一个)
2、如果是倒数第二个插入“, and”
3、如果是最后一个插入“!”
 
显示每一个CD的标题。

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
 
   

My CD Collection


   

Titles:
   
     
     
        ,
     

     
        , and
     

     
        !
     

   

   


 
 

元素
 
--------------------------------------------------------------------------------
 
定义与用法
 
元素取出选择的节点的值。
 
元素可以被用来取出XML元素的值,并输出。
 
说明:value使用XPath表达式取值,使用像文件系统那样的方法用(/)选择子文件夹。
--------------------------------------------------------------------------------
 
语法

 
属性
属性 值 说明
select  expression  必须。一个XPath表达式用来指定从哪一个节点/属性来取值。
disable-output-escaping  yes no  可选。当为"yes"时,特殊的字符(比如"<")照原样输出,当为"no"时,输出为"<"。默认是"no"。

 
 
例子 1

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
 
  

My CD Collection


  
    
      
      
    
    
     
     
    
 
Title Artist

 
 

 
 
例子 2

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
 
   

My CD Collection


   
     
       
       
     
     
     

       
       
     
     
   
Title Artist

 
 

 
 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
 
元素被用来声明一个局部或者全局的变量。
 
说明:当声明为高级(top-level)元素时,变量是全局的,当在一个template中声明时,作为局部变量。
 
说明:一旦您设置了一个变量的值,您就不能修改这个值!
 
提示:您可以通过增加的内容或者用select属性来设置变量值!
 
--------------------------------------------------------------------------------
 
语法

 

 
属性
属性 值 说明
name  name  必须。指定变量名称
select  expression  可选。指定变量的值

 
 
例子 1
如果select属性被设置了,那么元素就不可以包含任何内容。如果select属性包含字符串,则在设置时必须用引号。
下面的两行示例代码分别给变量"color"赋值为"red"。

 

 
例子 2
如果元素仅有name属性,元素间没有内容,那么就定义了一个空字符串变量。

 
例子 3
下面的这个例子用元素将

 title
 year

作为变量传递给输出:


 
 
   title
   year
 
 

 
 
  
   


    
    
     year = 1982
    

    
     
      

       
       
      
     
    
   

        
       

        
       

   

   
    
    
     year = 1985
    

    
     
      

       
       
      
     
    
   

        
       

        
       

  
 
 

 
元素
 
--------------------------------------------------------------------------------
 
定义和用法
 
元素为元素指定一个动作。当符合元素的条件时,动作就被激活。
 
说明:元素与元素一同使用,来表达多条件选择。
 
--------------------------------------------------------------------------------
 
语法
  


 
属性
属性 值 说明
test  boolean-expression  必须。指定执行条件。

 
 
例子 1
下面的这段代码将把cd /price高于10 artist列的背景色设为粉红色。

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
 
   

My CD Collection


   
     
       
       
     
     
     

       
      
         
           

         
         
           

         
       
     
     
   
Title Artist

           

 
 

 
 
例子 2
声明一个名为"color"的变量。把当前元素color属性的值赋给"color"变量。如果当前元素没有color属性,则"color"变量的值将为"green":

 
   
     
   
  
    green
 


 
 
 
元素
 
--------------------------------------------------------------------------------
 
定义与用法
 
元素向模板传递的参数的值。
 
 
说明:元素的name属性的值必须与一个元素的name相匹配(否则元素将被忽略)。
 
说明:元素在之内使用。
 
提示:您可以通过两种方式向元素赋值
1、用select属性。
2、在元素中写。
 
 
--------------------------------------------------------------------------------
 
语法
  


 
属性
属性 值 说明
name  name  必须。指定参数的名字
select  expression  可选。 An XPath expression that defines the value of the parameter
一个XPath表达式定义了参数的值

 
 
例子 1


 
 
 
  
 

 

 
 
 
 
  

   
   Title:
  


 
 

例子2

 
 
 
   11
   33
 

 
   55
 

 

 
 
 111
     
  
      

 
  +
 
  =
 
 


这个例子的输出结果为
11 + 33 = 44 55 + 111 = 166  

你可能感兴趣的:(xml)