深入XSL (2)---样式表结构(转)

样式表

  深入XSL (2)
---样式表结构
翻译:孙一中
  
在XML文件中样式表用元素xsl:stylesheet来表示. XSL处理器处理源文件和样式表时都必须采用XML的名域(Namespace)机制[W3C XML Names].所有XSL定义的元素(在文件中带有前缀xsl)只有是属于URI为http://www.w3.org/TR/WD-xsl中的某一个名域时才会被XSL识别; XSL 定义的元素只是在样式表中才认得,而并不是在源文件中.

xsl:stylesheet元素有一项可选的属性result-ns;它的值需要有一个名域前缀.如果规定了这项属性,所有的结果元素必须属于前缀所确定的名域.如果有名域被确定为缺省名域, 那么属于该名域的结果元素可以用一个空字符串来赋值.result-ns属性规定了XSL格式化对象的名域, 那么除了构造XML结果树之外,XSL处理器还根据必须文件中定义的语义来解释它.XSL格式化对象的名域的URI为http://www.w3.org/TR/WD-xsl/FO.例中用前缀fo:代表该名域.xsl:stylesheet元素可以包含以下类型的元素:

1. xsl:import
2. xsl:include
3. xsl:id
4. xsl:strip-space
5. xsl:preserve-space
6. xsl:define-macro
7. xsl:define-attribute-set
8. xsl:define-constant
9. xsl:template

下例表现了一个样式表的结构. 省略号表示那里的属性值或内容可以省略.其中的元素可以在样式表中出现多次或者不出现.

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:import href="..."/>

<xsl:include href="..."/>

<xsl:id attribute="..."/>

<xsl:strip-space element="..."/>

<xsl:preserve-space element="..."/>

<xsl:define-macro name="...">
...
</xsl:define-macro>

<xsl:define-attribute-set name="...">
...
</xsl:define-attribute-set>

<xsl:define-constant name="..." value="..."/>

<xsl:template match="...">
...
</xsl:template>

</xsl:stylesheet>

元素出现的顺序没有特殊的规定除了xsl:import元素和错误恢复.用户可以根据自己的需要自由排序, 样式表的产生工具也不需要去控制元素出现的次序.

--------------------------------------------------------------------------------

时间: 2024-08-31 03:07:54

深入XSL (2)---样式表结构(转)的相关文章

深入XSLT第三章 --- 样式表结构

深入XSLT第三章 --- 样式表结构 在XML文件中样式表用元素xsl:stylesheet来表示. XSL处理器处理源文件和样式表时都必须采用XML的名域(Namespace)机制[W3C XML Names].所有XSL定义的元素(在文件中带有前缀xsl)只有是属于URI为http://www.w3.org/TR/WD-xsl中的某一个名域时才会被XSL识别; XSL 定义的元素只是在样式表中才认得,而并不是在源文件中.  xsl:stylesheet元素有一项可选的属性result-ns

CSS样式表创建美妙绝伦的网站

想成为一名css专家,仅仅熟练使用CSS选择符(selectors)是远远不够的.还在于对工作的整体规划,工作流程的掌握以及提高样式表的可维护性和效率.在这篇文章里Jina Bolton从12个顶尖设计师那里精选出了10种css应用技巧推荐给大家. 最近,我一直在研究如何创建更具吸引力的样式表的方法.用css可以创建出我们想要的美妙绝伦的网站,而写css本身就是一种享受. 如何创建更具吸引力的样式表?你的样式表应该具有哪些特性? 几个月前,我有幸出席了在美国俄勒冈州波兰特举办的2007年网页视觉

在模板中指定XSL样式表

模板|样式表 模板文件如下: <?xml version="1.0" encoding="UTF-8"?><root xmlns:sql="urn:schemas-microsoft-com:xml-sql" sql:xsl="MyXsl.xsl"><sql:query>    Select FirstName,LastName from Employees For XML auto<

深入XSL(5)---联合样式表(转)

样式表   深入XSL(5)---联合样式表翻译:孙一中  XSL提供两种机制来联合样式表: 1.样式表导入,允许样式表之间相互引用2.样式表包含,允许样式表被原文组合. 样式表导入一个XSL样式表可以包含xsl:import元素.所有xsl:import元素必须出现在样式表的开头. xsl:import元素有一个 href 属性,它的值就表示要导入的样式表的URI. 相对URI是指相对于xsl:import元素的基URI. <xsl:stylesheet xmlns:xsl="http:

使用 XSL 样式表无法查看 XML 输入

xml|样式表 无法显示 XML 页. 使用 XSL 样式表无法查看 XML 输入.请更正错误然后单击 刷新按钮,或以后重试. -------------------------------------------------------------------------------- 名称以无效字符开头.处理资源 'http://localhost/Asp.net/Default.aspx' 时出错.第 1 行,位置: 2 <%@ Page Language="C#" Aut

IE9 IE10火狐谷歌都可以跑 但是IE8报错无法显示 XML 页。 无法查看使用 XSL 样式表的 XML 输入。 其他页面都可以用。未读这个页面

问题描述 大神求解决啊IE910火狐谷歌都可以跑起来,但是IE8报错.无法显示XML页.无法查看使用XSL样式表的XML输入. 解决方案 解决方案二:你提供的错误信息太少了.死马当活马医你看看http://www.cnblogs.com/carekee/articles/1614505.html

CSS样式表也要玩结构化

很多人可能会觉得奇怪,这标题是什么意思,不过就一个样式表而已,还谈什么结构化?且听如下理由: 玩Web重构的朋友对CSS应该都不会陌生了,都知道CSS里面有几种常用的选择符的样式定义方法,才子将常用的几种大致讲解一下:第一种是通配选择符,就是将所有的元素先预定义一个样式,如: * { margin:0px; padding:0px; } 这样设置之后,所有的元素都已经将内边距和外边距都设置成0px了.PS:才子从来不这样设置,因为它会直接影响ul和ol之类的列表元素的样式. 第二种是类型选择符,

串接样式表(CSS)来显示XML文件

css|xml|显示|样式表     在本章中,你将学习显示XML 文件于Microsoft Internet Explorer 5 中的第一种方法:串接样式表(CSS).串接样式表是一个包含安排XML 文件中元素相关指令的档案.因为你已经利用XML创造了自己的元素,浏览器并不知道如何适当地显示这些元素.建立串接样式表并将它链接到XML 文件中便是一种告诉浏览器如何显示文件中每个元素的方法.附加串接样式表的XML 文件可以直接在Internet Explorer 5 中被开启.你不需要使用HTM

运行时将数据与XSLT样式表集成

本文描述了一种用于进行下列操作的机制:分别开发应用程序业务数据和表示数据,然后使用通用的 XSLT 样式表将它们组合在一起.应用程序业务数据被格式化成 XML 形式,而表示数据可以用传统工具来创建.附加属性增强了表示数据,样式表使用这些属性来将表示细节应用于实际内容.对于最终格式的创建,不需要专门的编程,因为这个过程是由 XSLT 处理器完成的. 为最充分地理解本文,您应该了解 XML 和 XSLT 的基础知识.请参阅 参考资料一节,以获得至可作为这些主题介绍的教程和文章的链接.这里显示的所有示