xsl:value-of,xsl:copy,xsl:copy-of的区别?

大可山人
博客专家认证
2004-03-16 05:45:31
请举例说明。
...全文
178 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
luluso 2004-03-16
  • 打赏
  • 举报
回复
xsl:value-of 把来源树中的某个结点的内容复制到结果树上(跟取值差不多)
xsl:copy 复制当前结点
xsl:copy-of 复制当前结点按select属性指定的表达式评算后的结果来复制
请注意。第一个是节点的内容,后面两个是结点..........
在IE5.5+中开始支持的Popup窗口有很多很特别的特性: Popup窗口可以超出浏览器窗口区域; 可以不用担心被下拉框、flash、Iframe等这些东西遮挡; 一个Popup窗口打开后,当在它的区域以外点击或者另一个Popup窗口被打开时都会自动关闭; Popup窗口是没有焦点的; 用户不能改变Popup窗口大小; Popup窗口中的内容是不能被选择的; ...... 因为这些特征,Popup窗口制作的菜单比起传统的div(层)实现的菜单有着得天独厚的优势,不仅效果会非常好,而且代码也会是非常少的,只是对于实现起来却有几个需要解决的棘手问题:多个Popup共存的问题、如何递归生成菜单、如何控制Popup的显示隐藏…… 要用Popup制作菜单一个最重要的问题就是要解决多个Popup共存的问题,Msdn上的描述是:“一个Popup窗口打开后,当另一个Popup窗口被打开时就会自动关闭”。我本来一直以为Popup窗口是不可以多个共存的,不过偶然从51js上知道:父Popup窗口可以创建子Popup窗口,子Popup窗口又可以创建子Popup窗口,这样就可以同时存在一个Popup窗口家族,当父Popup窗口关闭,所有的子孙窗口都会关闭。这点恰好可以运用在菜单中——父菜单关闭子菜单一起关闭,省去很多繁琐的判断。 最开始,我写了一个简单的两层的Popup右键菜单,为此专门写了一个根据级数生成Popup窗口家族的递归方法: var pops = new Array(); // 用来存储Popup窗口家族的数组 function CreatePopup(degree) { if (degree < 0) // 层数不能小于0 return null; if (pops[degree] != null) //如果已经存在则不需创建 return pops[degree]; if (degree == 0) pops[0] = window.createPopup(); //创建最顶层Popup窗口 else{ if (pops[degree - 1] == null) pops[degree - 1] = CreatePopup(degree - 1) //递归回溯一层一层开始创建 pops[degree] = pops[degree - 1].document.parentWindow.createPopup(); //从父Popup窗口创建子Popup窗口 } pops[degree].document.body.setAttribute("degree", degree); return pops[degree]; } CreatePopup(1); //创建一个2层的Popup家族 这个方法可以解决多个Popup共存的问题,只是如果要使用这个方法来实现无限级菜单代码恐怕就比较繁琐了。这个例子,只是为我验证了无限级Popup窗口共存的可能,并没有继续走下去,因为我有了更好的思路。 Xml真是好东西,在Web控件中,可以得到灵活的运用(在我的上篇随笔《xml+xsl+htc,web控件开发的理想组合》中,已经简单提到了xml+xsl+htc的理想组合),在这里也不例外,先用Xml来定义好菜单的数据menu.xml: 通过Xml,可以很方便直观的定义菜单数据。 菜单数据已经定义好了,现在问题就是如何来把这些xml数据变成Popup菜单?!在传统的用div(层)来实现的菜单,一般都是一次性将所有级菜单数据生成HTML,放在各个层中,然后动态在制定位置显示隐藏这些层来实现模拟菜单的效果,在这里当然也可以这么做。回想一下菜单的特征:每次显示一级菜单,如果该级菜单中某菜单项中有子菜单,当鼠标经过或者点击该菜单项时弹出下级子菜单,这是一个递归的过程。如果我们可以:每次显示一级xml的内容,如果该级xml中某节点有子节点,当鼠标经过该节点时读取下级xml的内容,这也是一个递归的过程,而且恰好和菜单的显示过程是一一对应的。 既然大胆假设了一把,那么就来小心求证一下:首先,用xsl来实现解析一级xml很容易搞定,使用xsl:for-each遍历生成子菜单,并且,如果子菜单中还有子xml数据,将这些子xml数据存在子菜单对应的数据岛中,以备后面处理鼠标经过或点击菜单项时用到。下面是Menu.xsl用来生成子菜单的部分: <xsl:for-each select="MenuItem"> <xsl:value-of select="@Text" /> <xsl:if test="count(MenuItem) > 0"> <xsl:copy-of select="."/> xsl:if> <xsl:if test="count(MenuItem) > 0"> xsl:if> xsl:for-each> 现在就是解决鼠标经过菜单项时,如果有子菜单则解析子菜单数据,并使用子Popup窗口显示子菜单数据,刚才我们存的数据岛这时候就可以派上用场了。在xsl中,需要用到一些客户端脚本来辅助完成了 // 创建当前窗体(可以是IE窗体也可以是Popup窗体)的Popup对象 // 这个Popup对象就是用来存储子菜单数据的 var oPopup = document.parentWindow.createPopup(); // 装载xsl var stylesheet = new ActiveXObject("Microsoft.XMLDOM"); stylesheet.async = false; stylesheet.load( "menu.xsl" ); // 鼠标经过菜单项 function ItemOver(obj) { // 隐藏已经打开的菜单项 if (preObj != null) { if (preObj == obj) return; oPopup.hide(); // 要清空原Popup中的数据——document.write()方法是接着原来的内容往里面写,所以如果不清空会出现重复数据 oPopup = document.parentWindow.createPopup(); // 恢复前一个菜单项的状态 ItemNormal(preObj); preObj = null; } obj.className='PopMenuItemOver'; if (obj.cells(2).children.length > 0) //有子菜单 { obj.cells(2).children(0).src = "images/ArrowRHighlight.gif"; // 获取子菜单xml数据 var subMenuData = obj.all.tags("xml")(0).XMLDocument; // 根据子菜单xml数据和当前xsl文档生成HTML var sHtml = subMenuData.transformNode(stylesheet); // 将解析出来的HTML全部输出到Popup中,在Popup中,又可以利用这些脚本再Popup…… oPopup.document.write(sHtml); // 计算popup内容的实际宽度高度 oPopup.show(0, 0, 1, 1, obj); var width = oPopup.document.body.scrollWidth; var height = oPopup.document.body.scrollHeight; oPopup.hide(); // 显示菜单 oPopup.show(obj.offsetWidth, 0, width, height, obj); preObj = obj; } } // 鼠标移出菜单项 function ItemOut(obj) { if (oPopup.isOpen && preObj == obj) // 如果子菜单被打开则跳过 return; ItemNormal(obj); } // 恢复到菜单项的默认状态 function ItemNormal(obj) { obj.className='PopMenuItem'; if (obj.cells(2).children.length > 0) { obj.cells(2).children(0).src = "images/ArrowR.gif"; } } 这样:使用menu.xsl解析一级xml的内容生成一级菜单,如果该级xml中某节点有子节点,当鼠标经过该节点时,创建当前窗口/Popup窗口的子Popup窗口,使用menu.xsl解析子节点中xml的内容并输出显示到子Popup中,递归,即可通过Popup显示所有子菜单。 作为一个菜单来讲,这个例子还有很多要完善的地方(当我再结合htc时它绝对是一个非常棒的菜单控件),但是这个例子已经完整地实现了一个xml结合xsl递归生成无限Popup菜单的例子,这个简洁的代码再次印证了xml+xsl+htc的理想组合。
三个资料: xml实用大全 无废话xml xml轻松学习手册 XML轻松学习手册: · 第一章:XML快速入门 · 一. 什么是XML? · 二. XML是新概念吗? · 三. 使用XML有什么好处? · 四. XML很难学吗? · 五. XML和HTML的区别 · 六. XML的严格格式 · 七. 关于XML的更多 · 第二章:XML概念 · 一. 扩展性 · 二. 标识 · 三. 语言 · 四. 结构化 · 五. Meta数据 · 六. 显示 · 七. DOM · 第三章:XML的术语 · 导言 · 一.XML文档的有关术语 · 二.DTD的有关术语 · 第四章:XML的语法 · 一.XML语法规则 · 二.元素的语法 · 三.注释的语法 · 四.CDATA的语法 · 五.Namespaces的语法 · 六.entity的语法 · 七.DTD的语法 · 第五章:XML实例解释 · 一.定义新标识 · 二.建立XML文档 · 三.建立相应的HTML文件 · 第六章:XML相关资源 《XML实用大全》 先睹为快 第一部分 XML简介 9 第1章 XML概览 9 1.1 什么是XML 10 1.1.1 XML是元标记语言 10 1.1.2 XML描述的是结构和语义,而不是格式化 10 1.2 为什么开发人员对XML感到激动 13 1.2.1 设计与特定领域有关的标记语言 13 1.2.2 自描述数据 13 1.2.3 应用间交换数据 14 1.2.4 结构化和集成的数据 14 1.3 XML文档的“生命” 15 1.3.1 编辑器 15 1.3.2 语法分析程序和处理程序 15 1.3.3 浏览器和其他工具 15 1.3.4 处理过程总结 15 .4 相关技术 17 1.4.1 超文本标记语言(Hypertext Markup Language) 17 1.4.2 级联样式单(Cascading Style Sheets) 17 1.4.3 可扩展的样式语言(Extensible Style Language) 17 1.4.4 URL和URI 18 1.4.5 XLink和XPointer 18 1.4.6 Unicode字符集 19 1.4.7 如何将这些技术融合在一起 19 1.5 本章小结 20 第2章 XML应用简介 21 2.1 什么是XML应用程序 21 2.1.1 化学标记语言(Chemical Markup Language) 21 2.1.2 数学标记语言(Mathematical Markup Language) 22 2.1.3 频道定义格式 25 2.1.4 经典文学 26 2.2 用于XML的XML 28 2.2.1 XSL 28 2.2.2 XLL 28 2.2.3 DCD 29 2.3 XML的后台应用 30 2.4 本章小结 33 第3章 第一个XML文档 34 3.1 Hello XML 34 3.1.1 创建一个简单的XML文档 34 3.1.2 保存XML文件 35 3.1.3 将XML文件装入Web浏览器 35 .2 考察简单的XML文档 37 3.3 赋于XML标记以意义 39 .4 为XML文档编写样式单 40 .5 将样式单附加到XML文档上 41 3.6 本章小结 43 第4章 数据的结构化 44 4.1 检查数据 44 4.1.1 击球手 44 4.1.2 投球手 46 4.1.3 XML数据的组织 46 4.2 数据的XML化 48 4.2.1 开始编写文档:XML声明和根元素 48 4.2.2 联赛(League)、(分部)Division和(球队)Team数据的XML化 49 4.2.3 球员数据的XML化 52 4.2.4 球员统计数据的XML化 53 4.2.5 将XML组装在一起 56 4.3 XML格式的优点 71 4.4 编制样式单以便显示文档 72 4.4.1 与样式单连接 73 4.4.2 为根元素指定样式规则 74 4.4.3 为标题指定样式规则 75 4.4.4 为球员和统计元素指定样式规则 79 4.4.5 本节小结 80 4.5 本章小结 85 第5章 属性、空标记和XSL 86 5.1 属性 86 5.2 属性与元素的对比 95 5.2.1 结构化的元数据 95 5.2.2 元元数据 99 5.2.3 有关元数据的说明 100 5.2.4 元素更具扩展性 100 5.2.5 使用属性的最佳时机 100 5.3 空标记 102 5.4 XSL 103 5.4.1 XSL样式单模板 103 5.4.2 文档的主体 104 5.4.3 标题 106 5.4.4 联赛、分部和球队 108
(很全的XML的学习资料。) 第一部分 XML简介 9 第1章 XML概览 9 1.1 什么是XML 10 1.1.1 XML是元标记语言 10 1.1.2 XML描述的是结构和语义,而不是格式化 10 1.2 为什么开发人员对XML感到激动 13 1.2.1 设计与特定领域有关的标记语言 13 1.2.2 自描述数据 13 1.2.3 应用间交换数据 14 1.2.4 结构化和集成的数据 14 1.3 XML文档的“生命” 15 1.3.1 编辑器 15 1.3.2 语法分析程序和处理程序 15 1.3.3 浏览器和其他工具 15 1.3.4 处理过程总结 15 .4 相关技术 17 1.4.1 超文本标记语言(Hypertext Markup Language) 17 1.4.2 级联样式单(Cascading Style Sheets) 17 1.4.3 可扩展的样式语言(Extensible Style Language) 17 1.4.4 URL和URI 18 1.4.5 XLink和XPointer 18 1.4.6 Unicode字符集 19 1.4.7 如何将这些技术融合在一起 19 1.5 本章小结 20 第2章 XML应用简介 21 2.1 什么是XML应用程序 21 2.1.1 化学标记语言(Chemical Markup Language) 21 2.1.2 数学标记语言(Mathematical Markup Language) 22 2.1.3 频道定义格式 25 2.1.4 经典文学 26 2.2 用于XML的XML 28 2.2.1 XSL 28 2.2.2 XLL 28 2.2.3 DCD 29 2.3 XML的后台应用 30 2.4 本章小结 33 第3章 第一个XML文档 34 3.1 Hello XML 34 3.1.1 创建一个简单的XML文档 34 3.1.2 保存XML文件 35 3.1.3 将XML文件装入Web浏览器 35 .2 考察简单的XML文档 37 3.3 赋于XML标记以意义 39 .4 为XML文档编写样式单 40 .5 将样式单附加到XML文档上 41 3.6 本章小结 43 第4章 数据的结构化 44 4.1 检查数据 44 4.1.1 击球手 44 4.1.2 投球手 46 4.1.3 XML数据的组织 46 4.2 数据的XML化 48 4.2.1 开始编写文档:XML声明和根元素 48 4.2.2 联赛(League)、(分部)Division和(球队)Team数据的XML化 49 4.2.3 球员数据的XML化 52 4.2.4 球员统计数据的XML化 53 4.2.5 将XML组装在一起 56 4.3 XML格式的优点 71 4.4 编制样式单以便显示文档 72 4.4.1 与样式单连接 73 4.4.2 为根元素指定样式规则 74 4.4.3 为标题指定样式规则 75 4.4.4 为球员和统计元素指定样式规则 79 4.4.5 本节小结 80 4.5 本章小结 85 第5章 属性、空标记和XSL 86 5.1 属性 86 5.2 属性与元素的对比 95 5.2.1 结构化的元数据 95 5.2.2 元元数据 99 5.2.3 有关元数据的说明 100 5.2.4 元素更具扩展性 100 5.2.5 使用属性的最佳时机 100 5.3 空标记 102 5.4 XSL 103 5.4.1 XSL样式单模板 103 5.4.2 文档的主体 104 5.4.3 标题 106 5.4.4 联赛、分部和球队 108 5.4.5 球员 114 5.4.6 区分投手与击球手 117 5.4.7 元素内容与select属性 125 5.4.8 CSS还是XSL 129 5.5 本章小结 130 第6章 结构完整的XML文档 131 6.1 XML文档的组成 131 6.2 置标和字符数据 132 6.2.1 注释 132 6.2.2 实体引用 134 6.2.3 CDATA 135 6.2.4 标记 136 6.2.5 属性 138 6.3 独立文档中结构完整的XML 140 6.4 结构完整的HTML 145 6.4.1 现实的Web页面存在的问题 145 6.4.2 HTML整理工具 153 6.5 本章小结 156 第7章 外文和非罗马文本 157 7.1 Web上的非罗马文字 157 .2 文字、字符集、字体和字形 161 7.2.1 文字的字符集 161 7.2.2 字符集的字体 161 7.2.3 字符集的输入法 161 7.2.4 操作系统和应用软件 162 7.3传统字符集 163 7.3.1 ASCII字符集 163 7.3.2 ISO字符集 164 7.3.3 MacRoman字符集 166 7.3.4 Windows ANSI字符集 167 7.4 Unicode字符集 169 7.4.1 UTF-8 171 7.4.2 通用字符系统 171 7.5 如何使用Unicode编写XML 173 7.5.1 利用字符引用在XML文件中插入字符 173 7.5.2 其他字符集与Unicode字符集之间的转换 173 7.5.3 如何使用其他字符集编写XML 174 7.6 本章小结 176 第二部分 文档类型定义 177 第8章 文档类型定义和合法性 177 8.1 文档类型定义 177 8.2 文档类型声明 179 8.3 根据DTD的合法性检验 182 8.4 列出元素 187 8.5 元素声明 195 8.5.1 ANY 195 8.5.2 #PCDATA 195 8.5.3 子元素列表 198 8.5.4 序列 200 8.5.5 一个或多个子元素 200 8.5.6 零或多个子元素 201 8.5.7 零或一个子元素 201 8.5.8 完整的文档和DTD 203 8.5.9 选择 214 8.5.10 带括号的子元素 215 8.5.11 混合内容 217 8.5.12 空元素 218 8.6 DTD中的注释 220 8.7 在文档间共享通用的DTD 228 8.7.1 远程URL上的DTD 235 8.7.2 公共的DTD 236 8.7.3 内部和外部DTD子集 237 8.8 本章小结 241 第9章 实体和外部DTD子集 242 9.1 什么是实体? 242 .2 内部通用实体 244 9.2.1 定义内部通用实体引用 244 9.2.2 在DTD中使用通用实体引用 246 9.2.3 预定义通用实体引用 247 9.3 外部通用实体 248 .4 内部参数实体 251 9.5 外部参数实体 253 .6 根据片段创建文档 260 9.7 结构完整的文档中的实体和DTD 274 9.7.1 内部实体 274 9.7.2 外部实体 276 9.8 本章小结 283 第10章 DTDs中的属性声明 284 10.1 什么是属性? 284 10.2 在DTD中声明属性 285 10.3 声明多个属性 287 10.4 指定属性的缺省值 288 10.4.1 #REQUIRED 288 10.4.2 #IMPLIED 288 10.4.3 #FIXED 289 10.5 属性类型 290 10.5.1 CDATA属性类型 290 10.5.2 Enumerated属性类型 290 10.5.3 NMTOKEN属性类型 291 10.5.4 NMTOKENS属性类型 291 10.5.5 ID属性类型 292 10.5.6 IDREF属性类型 292 10.5.7 ENTITY属性类型 293 10.5.8 ENTITIES 属性类型 294 10.5.9 NOTATION属性类型 294 10.6 预定义属性 296 10.6.1 xml:space 296 10.6.2 xml:lang 297 10.7 基于属性的棒球统计数据的DTD 300 10.7.1 在DTD中声明SEASON的属性 302 10.7.2 在DTD中声明DIVISION和LEAGUE属性 302 10.7.3 在DTD中声明TEAM属性 302 10.7.4 在DTD中声明PLAYER的属性 303 10.7.5 棒球比赛统计数据示例的完整DTD 306 10.8 本章小结 309 第11章 嵌入非XML数据 310 11.1 记号 310 11.2 不可析外部实体 314 11.2.1 声明不可析实体 314 11.2.2 嵌入不可析实体 314 11.2.3 嵌入多个不可析实体 317 11.3 处理指令 319 11.4 DTD的条件部分 322 11.5 本章小结 324 第三部分 样式语言 325 第12章 级联样式单级别1 325 12.1 什么是CSS? 325 12.2 样式单与文档的链接 327 12.3 选择元素 331 12.3.1 成组选择符 331 12.3.2 伪元素 331 12.3.3 伪类(pseudo-classe) 332 12.3.4 由ID来选择 335 12.3.5 上下文的选择符 335 12.3.6 STYLE特性 336 12.4 继承性 337 12.5 级联过程 339 12.5.1 @import指令 339 12.5.2 !important声明 339 12.5.3 级联顺序 339 12.6 在CSS样式单中添加注释 341 12.7 CSS中的单位 342 12.7.1 长度值 342 12.7.2 URL值 344 12.7.3 颜色值 345 12.7.4 关键字值 346 12.8 块、内联或列表项元素 347 12.8.1 列表项 352 12.8.2 whitespace属性 354 12.9 字体属性 357 12.9.1 font-family属性 357 12.9.2 font-style属性 358 12.9.3 font-variant属性 359 12.9.4 font-weight属性 359 12.9.5 font-size属性 360 12.9.6 font简略属性 362 12.10 颜色属性 364 12.11 背景属性 365 12.11.1 background-color属性 365 12.11.2 background-image属性 365 12.11.3 background-repeat属性 367 12.11.4 background-attachment属性 368 12.11.5 background-position属性 369 12.12 文本属性 373 12.12.1 word-spacing属性 373 12.12.2 letter-spacing属性 374 12.12.3 text-decoration属性 374 12.12.4 vertical-align属性 375 12.12.5 text –transform属性 376 12.12.6 text-align属性 377 12.12.7 text-indent属性 378 12.12.8 line-height属性 378 12.13 框属性 380 12.13.1 页边距属性 380 12.13.2 边框线属性 381 12.13.3 贴边属性 384 12.13.4 大小属性 385 12.13.5 定位属性 386 12.13.6 float属性 386 12.13.7 clear属性 387 12.14 本章小结 389 第13章 级联样式单级别2 389 13.1 CSS2中有哪些新特点? 389 13.1.1 新的伪类 390 13.1.2 新的伪元素 390 13.1.3 媒体类型 390 13.1.4 分页媒体 390 13.1.5 国际化 390 13.1.6 可视格式化控制 391 13.1.7 表格 391 13.1.8 生成的内容 391 13.1.9 有声样式单 391 13.1.10 新工具 391 13.2 选择元素 393 13.2.1 式样匹配 393 13.2.2 通配符 394 13.2.3 后代和子代选择符 394 13.2.4 直系同属选择符 396 13.2.5 特性选择符 396 13.2.6 @规则 396 13.2.7 伪元素 400 13.2.8 伪类 401 13.3 格式化页面 403 13.3.1 大小属性 403 13.3.2 页边距属性 403 13.3.3 标记属性 403 13.3.4 页面属性 403 13.3.5 分页符属性 404 13.4 可视格式化 405 13.4.1 显示属性 405 13.4.2 宽度和高度属性 407 13.4.3 overflow属性 407 13.4.4 clip属性 408 13.4.5 visibility属性 408 13.4.6 cursor属性 409 13.4.7 相关的颜色属性 410 13.5 框 412 13.5.1 轮廓属性 412 13.5.2 定位属性 413 13.6 计数器和自动编号 417 13.7 有声样式单 419 13.7.1 说话属性 420 13.7.2 音量属性 420 13.7.3 暂停属性 420 13.7.4 提示属性 421 13.7.5 同期播放属性 421 13.7.6 空间属性 421 13.7.7 音质属性 422 13.7.8 话音属性 424 13.8 本章小结 425 第14章 XSL变换 426 14.1 何为XSL? 426 14.2 XSL变换概述 428 14.2.1 树形结构 428 14.2.2 XSL 样式单文档 430 14.2.3 在何处进行XML变换 431 14.2.4 如何使用XT 432 14.2.5 直接显示带有XSL样式单的XML文件 434 14.3 XSL模板 436 14.3.1 xsl:apply-templates元素 436 14.3.2 select特性 438 14.4 使用xsl:value-of来计算节点值 440 14.5 使用xsl:for-each处理多个元素 442 14.6 匹配节点的模式 444 14.6.1 匹配根节点 444 14.6.2 匹配元素名 445 14.6.3 使用/字符匹配子节点 447 14.6.4 使用//符号匹配子代 448 14.6.5 通过ID匹配 449 14.6.6 使用@来匹配特性 449 14.6.7 使用comments()来匹配注释 451 14.6.8 使用pi()来匹配处理指令 452 14.6.9 用text()来匹配文本节点 452 14.6.10 使用“或”操作符| 453 14.7 选择节点的表达式 454 14.7.1 节点轴 454 14.7.2 表达式类型 462 14.8 缺省的模板规则 471 14.8.1 元素的缺省规则 471 14.8.2 文本节点的缺省规则 471 14.8.3 两个缺省规则的含义 471 14.9 决定输出要包含的内容 473 14.9.1 使用特性值模板 473 14.9.2 使用xsl:element将元素插入到输出文档中 475 14.9.3 使用xsl:attribute将特性插入到输出文档中 476 14.9.4 定义特性集合 477 14.9.5 使用xsl:pi生成处理指令 478 14.9.6 使用xsl:comment生成注释 478 14.9.7 使用xsl:text生成文本 479 14.10 使用xsl:copy复制当前节点 480 14.11 使用xsl:number为节点计数 483 14.11.1 缺省数值 484 14.11.2 数字到字符串的变换 486 14.12 对输出元素排序 488 14.13 CDATA和<符 491 14.14 方式 493 14.15 使用xsl:variable定义常数 496 14.16 命名模板 496 14.16.1 参数 498 14.17 删除和保留空白 501 14.18 选择 503 14.18.1 xsl:if 503 14.18.2 xsl:choose 503 14.19 合并多个样式单 505 14.19.1 使用xsl:import进行录入 505 14.19.2 使用xsl:include进行包括 505 14.19.3 使用xsl:stylesheet在文档中嵌入样式单 505 14.20 本章小结 508 第15章 XSL格式化对象 508 15.1 XSL格式化语言概述 509 15.2 格式对象及其属性 510 15.2.1 fo命名域 511 15.2.2 格式化属性 513 15.2.3 转换成格式化对象 518 15.2.4 使用FOP 520 15.3 页面布局 522 15.3.1 主控页面 522 15.3.2 页序列 525 15.4 内容 530 15.4.1 块级格式化对象 530 15.4.2 内联格式化对象 531 15.4.3 表格格式化对象 532 15.4.4 外联格式化对象 532 15.5 水平线 533 15.6 图形 534 15.7 链接 535 15.8 列表 536 15.9 表格 538 15.10 字符 542 15.11 序列 543 15.12 脚注 544 15.13 浮动 544 15.14 XSL格式化属性 546 15.14.1 单位和数据类型 546 15.14.2 消息属性 548 15.14.3 段落属性 548 15.14.4 字符属性 551 15.14.5 句子属性 552 15.14.6 区域属性 555 15.14.7 听觉属性 560 15.15 本章小结 562 第四部分 补充技术 563 第16章 XLink 563 16.1 XLink与HTML链接的对比 563 16.2 简单链接 565 16.2.1 本地资源的描述 566 16.2.2 远程资源的描述 567 16.2.3 链接行为 568 16.3 扩展链接 575 16.4 外联链接 579 16.5 扩展链接组 581 16.5.1 一个实例 581 16.5.2 steps特性 583 16.6 重命名XLink特性 585 16.7 本章小结 586 第18章 命名域 588 18.1 何为命名域 588 18.2 命名域句法 591 18.2.1 命名域的定义 591 18.2.2 多个命名域 592 18.2.3 特性 595 18.2.4 缺省的命名域 596 18.3 DTD中的命名域 600 18.4 本章小结 601 ________________________________________
比较全面的XML参考电子书!强列推荐。如下是目录: 第一部分 XML简介... 9 第1章 XML概览... 9 1.1 什么是XML. 10 1.1.1 XML是元标记语言... 10 1.1.2 XML描述的是结构和语义,而不是格式化... 10 1.2 为什么开发人员对XML感到激动... 13 1.2.1 设计与特定领域有关的标记语言... 13 1.2.2 自描述数据... 13 1.2.3 应用间交换数据... 14 1.2.4 结构化和集成的数据... 14 1.3 XML文档的“生命”. 15 1.3.1 编辑器... 15 1.3.2 语法分析程序和处理程序... 15 1.3.3 浏览器和其他工具... 15 1.3.4 处理过程总结... 15 .4 相关技术... 17 1.4.1 超文本标记语言(Hypertext Markup Language)... 17 1.4.2 级联样式单(Cascading Style Sheets)... 17 1.4.3 可扩展的样式语言(Extensible Style Language)... 17 1.4.4 URL和URI 18 1.4.5 XLink和XPointer 18 1.4.6 Unicode字符集... 19 1.4.7 如何将这些技术融合在一起... 19 1.5 本章小结... 20 第2章 XML应用简介... 21 2.1 什么是XML应用程序... 21 2.1.1 化学标记语言(Chemical Markup Language)... 21 2.1.2 数学标记语言(Mathematical Markup Language)... 22 2.1.3 频道定义格式... 25 2.1.4 经典文学... 26 2.2 用于XML的XML. 28 2.2.1 XSL. 28 2.2.2 XLL. 28 2.2.3 DCD.. 29 2.3 XML的后台应用... 30 2.4 本章小结... 33 第3章 第一个XML文档... 34 3.1 Hello XML. 34 3.1.1 创建一个简单的XML文档... 34 3.1.2 保存XML文件... 35 3.1.3 将XML文件装入Web浏览器... 35 .2 考察简单的XML文档... 37 3.3 赋于XML标记以意义... 39 .4 为XML文档编写样式单... 40 .5 将样式单附加到XML文档上... 41 3.6 本章小结... 43 第4章 数据的结构化... 44 4.1 检查数据... 44 4.1.1 击球手... 44 4.1.2 投球手... 46 4.1.3 XML数据的组织... 46 4.2 数据的XML化... 48 4.2.1 开始编写文档:XML声明和根元素... 48 4.2.2 联赛(League)、(分部)Division和(球队)Team数据的XML化... 49 4.2.3 球员数据的XML化... 52 4.2.4 球员统计数据的XML化... 53 4.2.5 将XML组装在一起... 56 4.3 XML格式的优点... 71 4.4 编制样式单以便显示文档... 72 4.4.1 与样式单连接... 73 4.4.2 为根元素指定样式规则... 74 4.4.3 为标题指定样式规则... 75 4.4.4 为球员和统计元素指定样式规则... 79 4.4.5 本节小结... 80 4.5 本章小结... 85 第5章 属性、空标记和XSL. 86 5.1 属性... 86 5.2 属性与元素的对比... 95 5.2.1 结构化的元数据... 95 5.2.2 元元数据... 99 5.2.3 有关元数据的说明... 100 5.2.4 元素更具扩展性... 100 5.2.5 使用属性的最佳时机... 100 5.3 空标记... 102 5.4 XSL. 103 5.4.1 XSL样式单模板... 103 5.4.2 文档的主体... 104 5.4.3 标题... 106 5.4.4 联赛、分部和球队... 108 5.4.5 球员... 114 5.4.6 区分投手与击球手... 117 5.4.7 元素内容与select属性... 125 5.4.8 CSS还是XSL. 129 5.5 本章小结... 130 第6章 结构完整的XML文档... 131 6.1 XML文档的组成... 131 6.2 置标和字符数据... 132 6.2.1 注释... 132 6.2.2 实体引用... 134 6.2.3 CDATA. 135 6.2.4 标记... 136 6.2.5 属性... 138 6.3 独立文档中结构完整的XML. 140 6.4 结构完整的HTML. 145 6.4.1 现实的Web页面存在的问题... 145 6.4.2 HTML整理工具... 153 6.5 本章小结... 156 第7章 外文和非罗马文本... 157 7.1 Web上的非罗马文字... 157 .2 文字、字符集、字体和字形... 161 7.2.1 文字的字符集... 161 7.2.2 字符集的字体... 161 7.2.3 字符集的输入法... 161 7.2.4 操作系统和应用软件... 162 7.3传统字符集... 163 7.3.1 ASCII字符集... 163 7.3.2 ISO字符集... 164 7.3.3 MacRoman字符集... 166 7.3.4 Windows ANSI字符集... 167 7.4 Unicode字符集... 169 7.4.1 UTF-8. 171 7.4.2 通用字符系统... 171 7.5 如何使用Unicode编写XML. 173 7.5.1 利用字符引用在XML文件中插入字符... 173 7.5.2 其他字符集与Unicode字符集之间的转换... 173 7.5.3 如何使用其他字符集编写XML. 174 7.6 本章小结... 176 第二部分 文档类型定义... 177 第8章 文档类型定义和合法性... 177 8.1 文档类型定义... 177 8.2 文档类型声明... 179 8.3 根据DTD的合法性检验... 182 8.4 列出元素... 187 8.5 元素声明... 195 8.5.1 ANY. 195 8.5.2 #PCDATA. 195 8.5.3 子元素列表... 198 8.5.4 序列... 200 8.5.5 一个或多个子元素... 200 8.5.6 零或多个子元素... 201 8.5.7 零或一个子元素... 201 8.5.8 完整的文档和DTD.. 203 8.5.9 选择... 214 8.5.10 带括号的子元素... 215 8.5.11 混合内容... 217 8.5.12 空元素... 218 8.6 DTD中的注释... 220 8.7 在文档间共享通用的DTD.. 228 8.7.1 远程URL上的DTD.. 235 8.7.2 公共的DTD.. 236 8.7.3 内部和外部DTD子集... 237 8.8 本章小结... 241 第9章 实体和外部DTD子集... 242 9.1 什么是实体?... 242 .2 内部通用实体... 244 9.2.1 定义内部通用实体引用... 244 9.2.2 在DTD中使用通用实体引用... 246 9.2.3 预定义通用实体引用... 247 9.3 外部通用实体... 248 .4 内部参数实体... 251 9.5 外部参数实体... 253 .6 根据片段创建文档... 260 9.7 结构完整的文档中的实体和DTD.. 274 9.7.1 内部实体... 274 9.7.2 外部实体... 276 9.8 本章小结... 283 第10章 DTDs中的属性声明... 284 10.1 什么是属性?... 284 10.2 在DTD中声明属性... 285 10.3 声明多个属性... 287 10.4 指定属性的缺省值... 288 10.4.1 #REQUIRED.. 288 10.4.2 #IMPLIED.. 288 10.4.3 #FIXED.. 289 10.5 属性类型... 290 10.5.1 CDATA属性类型... 290 10.5.2 Enumerated属性类型... 290 10.5.3 NMTOKEN属性类型... 291 10.5.4 NMTOKENS属性类型... 291 10.5.5 ID属性类型... 292 10.5.6 IDREF属性类型... 292 10.5.7 ENTITY属性类型... 293 10.5.8 ENTITIES 属性类型... 294 10.5.9 NOTATION属性类型... 294 10.6 预定义属性... 296 10.6.1 xml:space. 296 10.6.2 xml:lang. 297 10.7 基于属性的棒球统计数据的DTD.. 300 10.7.1 在DTD中声明SEASON的属性... 302 10.7.2 在DTD中声明DIVISION和LEAGUE属性... 302 10.7.3 在DTD中声明TEAM属性... 302 10.7.4 在DTD中声明PLAYER的属性... 303 10.7.5 棒球比赛统计数据示例的完整DTD.. 306 10.8 本章小结... 309 第11章 嵌入非XML数据... 310 11.1 记号... 310 11.2 不可析外部实体... 314 11.2.1 声明不可析实体... 314 11.2.2 嵌入不可析实体... 314 11.2.3 嵌入多个不可析实体... 317 11.3 处理指令... 319 11.4 DTD的条件部分... 322 11.5 本章小结... 324 第三部分 样式语言... 325 第12章 级联样式单级别1. 325 12.1 什么是CSS?... 325 12.2 样式单与文档的链接... 327 12.3 选择元素... 331 12.3.1 成组选择符... 331 12.3.2 伪元素... 331 12.3.3 伪类(pseudo-classe) 332 12.3.4 由ID来选择... 335 12.3.5 上下文的选择符... 335 12.3.6 STYLE特性... 336 12.4 继承性... 337 12.5 级联过程... 339 12.5.1 @import指令... 339 12.5.2 !important声明... 339 12.5.3 级联顺序... 339 12.6 在CSS样式单中添加注释... 341 12.7 CSS中的单位... 342 12.7.1 长度值... 342 12.7.2 URL值... 344 12.7.3 颜色值... 345 12.7.4 关键字值... 346 12.8 块、内联或列表项元素... 347 12.8.1 列表项... 352 12.8.2 whitespace属性... 354 12.9 字体属性... 357 12.9.1 font-family属性... 357 12.9.2 font-style属性... 358 12.9.3 font-variant属性... 359 12.9.4 font-weight属性... 359 12.9.5 font-size属性... 360 12.9.6 font简略属性... 362 12.10 颜色属性... 364 12.11 背景属性... 365 12.11.1 background-color属性... 365 12.11.2 background-image属性... 365 12.11.3 background-repeat属性... 367 12.11.4 background-attachment属性... 368 12.11.5 background-position属性... 369 12.12 文本属性... 373 12.12.1 word-spacing属性... 373 12.12.2 letter-spacing属性... 374 12.12.3 text-decoration属性... 374 12.12.4 vertical-align属性... 375 12.12.5 text –transform属性... 376 12.12.6 text-align属性... 377 12.12.7 text-indent属性... 378 12.12.8 line-height属性... 378 12.13 框属性... 380 12.13.1 页边距属性... 380 12.13.2 边框线属性... 381 12.13.3 贴边属性... 384 12.13.4 大小属性... 385 12.13.5 定位属性... 386 12.13.6 float属性... 386 12.13.7 clear属性... 387 12.14 本章小结... 389 第13章 级联样式单级别2. 389 13.1 CSS2中有哪些新特点?... 389 13.1.1 新的伪类... 390 13.1.2 新的伪元素... 390 13.1.3 媒体类型... 390 13.1.4 分页媒体... 390 13.1.5 国际化... 390 13.1.6 可视格式化控制... 391 13.1.7 表格... 391 13.1.8 生成的内容... 391 13.1.9 有声样式单... 391 13.1.10 新工具... 391 13.2 选择元素... 393 13.2.1 式样匹配... 393 13.2.2 通配符... 394 13.2.3 后代和子代选择符... 394 13.2.4 直系同属选择符... 396 13.2.5 特性选择符... 396 13.2.6 @规则... 396 13.2.7 伪元素... 400 13.2.8 伪类... 401 13.3 格式化页面... 403 13.3.1 大小属性... 403 13.3.2 页边距属性... 403 13.3.3 标记属性... 403 13.3.4 页面属性... 403 13.3.5 分页符属性... 404 13.4 可视格式化... 405 13.4.1 显示属性... 405 13.4.2 宽度和高度属性... 407 13.4.3 overflow属性... 407 13.4.4 clip属性... 408 13.4.5 visibility属性... 408 13.4.6 cursor属性... 409 13.4.7 相关的颜色属性... 410 13.5 框... 412 13.5.1 轮廓属性... 412 13.5.2 定位属性... 413 13.6 计数器和自动编号... 417 13.7 有声样式单... 419 13.7.1 说话属性... 420 13.7.2 音量属性... 420 13.7.3 暂停属性... 420 13.7.4 提示属性... 421 13.7.5 同期播放属性... 421 13.7.6 空间属性... 421 13.7.7 音质属性... 422 13.7.8 话音属性... 424 13.8 本章小结... 425 第14章 XSL变换... 426 14.1 何为XSL?... 426 14.2 XSL变换概述... 428 14.2.1 树形结构... 428 14.2.2 XSL 样式单文档... 430 14.2.3 在何处进行XML变换... 431 14.2.4 如何使用XT. 432 14.2.5 直接显示带有XSL样式单的XML文件... 434 14.3 XSL模板... 436 14.3.1 xsl:apply-templates元素... 436 14.3.2 select特性... 438 14.4 使用xsl:value-of来计算节点值... 440 14.5 使用xsl:for-each处理多个元素... 442 14.6 匹配节点的模式... 444 14.6.1 匹配根节点... 444 14.6.2 匹配元素名... 445 14.6.3 使用/字符匹配子节点... 447 14.6.4 使用//符号匹配子代... 448 14.6.5 通过ID匹配... 449 14.6.6 使用@来匹配特性... 449 14.6.7 使用comments()来匹配注释... 451 14.6.8 使用pi()来匹配处理指令... 452 14.6.9 用text()来匹配文本节点... 452 14.6.10 使用“或”操作符| 453 14.7 选择节点的表达式... 454 14.7.1 节点轴... 454 14.7.2 表达式类型... 462 14.8 缺省的模板规则... 471 14.8.1 元素的缺省规则... 471 14.8.2 文本节点的缺省规则... 471 14.8.3 两个缺省规则的含义... 471 14.9 决定输出要包含的内容... 473 14.9.1 使用特性值模板... 473 14.9.2 使用xsl:element将元素插入到输出文档中... 475 14.9.3 使用xsl:attribute将特性插入到输出文档中... 476 14.9.4 定义特性集合... 477 14.9.5 使用xsl:pi生成处理指令... 478 14.9.6 使用xsl:comment生成注释... 478 14.9.7 使用xsl:text生成文本... 479 14.10 使用xsl:copy复制当前节点... 480 14.11 使用xsl:number为节点计数... 483 14.11.1 缺省数值... 484 14.11.2 数字到字符串的变换... 486 14.12 对输出元素排序... 488 14.13 CDATA和<符... 491 14.14 方式... 493 14.15 使用xsl:variable定义常数... 496 14.16 命名模板... 496 14.16.1 参数... 498 14.17 删除和保留空白... 501 14.18 选择... 503 14.18.1 xsl:if 503 14.18.2 xsl:choose. 503 14.19 合并多个样式单... 505 14.19.1 使用xsl:import进行录入... 505 14.19.2 使用xsl:include进行包括... 505 14.19.3 使用xsl:stylesheet在文档中嵌入样式单... 505 14.20 本章小结... 508 第15章 XSL格式化对象... 508 15.1 XSL格式化语言概述... 509 15.2 格式对象及其属性... 510 15.2.1 fo命名域... 511 15.2.2 格式化属性... 513 15.2.3 转换成格式化对象... 518 15.2.4 使用FOP. 520 15.3 页面布局... 522 15.3.1 主控页面... 522 15.3.2 页序列... 525 15.4 内容... 530 15.4.1 块级格式化对象... 530 15.4.2 内联格式化对象... 531 15.4.3 表格格式化对象... 532 15.4.4 外联格式化对象... 532 15.5 水平线... 533 15.6 图形... 534 15.7 链接... 535 15.8 列表... 536 15.9 表格... 538 15.10 字符... 542 15.11 序列... 543 15.12 脚注... 544 15.13 浮动... 544 15.14 XSL格式化属性... 546 15.14.1 单位和数据类型... 546 15.14.2 消息属性... 548 15.14.3 段落属性... 548 15.14.4 字符属性... 551 15.14.5 句子属性... 552 15.14.6 区域属性... 555 15.14.7 听觉属性... 560 15.15 本章小结... 562 第四部分 补充技术... 563 第16章 XLink. 563 16.1 XLink与HTML链接的对比... 563 16.2 简单链接... 565 16.2.1 本地资源的描述... 566 16.2.2 远程资源的描述... 567 16.2.3 链接行为... 568 16.3 扩展链接... 575 16.4 外联链接... 579 16.5 扩展链接组... 581 16.5.1 一个实例... 581 16.5.2 steps特性... 583 16.6 重命名XLink特性... 585 16.7 本章小结... 586 第18章 命名域... 588 18.1 何为命名域... 588 18.2 命名域句法... 591 18.2.1 命名域的定义... 591 18.2.2 多个命名域... 592 18.2.3 特性... 595 18.2.4 缺省的命名域... 596 18.3 DTD中的命名域... 600 18.4 本章小结... 601
web开发必备手册 内容: 第一部分 XML简介... 9 第1章 XML概览... 9 1.1 什么是XML. 10 1.1.1 XML是元标记语言... 10 1.1.2 XML描述的是结构和语义,而不是格式化... 10 1.2 为什么开发人员对XML感到激动... 13 1.2.1 设计与特定领域有关的标记语言... 13 1.2.2 自描述数据... 13 1.2.3 应用间交换数据... 14 1.2.4 结构化和集成的数据... 14 1.3 XML文档的“生命”. 15 1.3.1 编辑器... 15 1.3.2 语法分析程序和处理程序... 15 1.3.3 浏览器和其他工具... 15 1.3.4 处理过程总结... 15 .4 相关技术... 17 1.4.1 超文本标记语言(Hypertext Markup Language)... 17 1.4.2 级联样式单(Cascading Style Sheets)... 17 1.4.3 可扩展的样式语言(Extensible Style Language)... 17 1.4.4 URL和URI 18 1.4.5 XLink和XPointer 18 1.4.6 Unicode字符集... 19 1.4.7 如何将这些技术融合在一起... 19 1.5 本章小结... 20 第2章 XML应用简介... 21 2.1 什么是XML应用程序... 21 2.1.1 化学标记语言(Chemical Markup Language)... 21 2.1.2 数学标记语言(Mathematical Markup Language)... 22 2.1.3 频道定义格式... 25 2.1.4 经典文学... 26 2.2 用于XML的XML. 28 2.2.1 XSL. 28 2.2.2 XLL. 28 2.2.3 DCD.. 29 2.3 XML的后台应用... 30 2.4 本章小结... 33 第3章 第一个XML文档... 34 3.1 Hello XML. 34 3.1.1 创建一个简单的XML文档... 34 3.1.2 保存XML文件... 35 3.1.3 将XML文件装入Web浏览器... 35 .2 考察简单的XML文档... 37 3.3 赋于XML标记以意义... 39 .4 为XML文档编写样式单... 40 .5 将样式单附加到XML文档上... 41 3.6 本章小结... 43 第4章 数据的结构化... 44 4.1 检查数据... 44 4.1.1 击球手... 44 4.1.2 投球手... 46 4.1.3 XML数据的组织... 46 4.2 数据的XML化... 48 4.2.1 开始编写文档:XML声明和根元素... 48 4.2.2 联赛(League)、(分部)Division和(球队)Team数据的XML化... 49 4.2.3 球员数据的XML化... 52 4.2.4 球员统计数据的XML化... 53 4.2.5 将XML组装在一起... 56 4.3 XML格式的优点... 71 4.4 编制样式单以便显示文档... 72 4.4.1 与样式单连接... 73 4.4.2 为根元素指定样式规则... 74 4.4.3 为标题指定样式规则... 75 4.4.4 为球员和统计元素指定样式规则... 79 4.4.5 本节小结... 80 4.5 本章小结... 85 第5章 属性、空标记和XSL. 86 5.1 属性... 86 5.2 属性与元素的对比... 95 5.2.1 结构化的元数据... 95 5.2.2 元元数据... 99 5.2.3 有关元数据的说明... 100 5.2.4 元素更具扩展性... 100 5.2.5 使用属性的最佳时机... 100 5.3 空标记... 102 5.4 XSL. 103 5.4.1 XSL样式单模板... 103 5.4.2 文档的主体... 104 5.4.3 标题... 106 5.4.4 联赛、分部和球队... 108 5.4.5 球员... 114 5.4.6 区分投手与击球手... 117 5.4.7 元素内容与select属性... 125 5.4.8 CSS还是XSL. 129 5.5 本章小结... 130 第6章 结构完整的XML文档... 131 6.1 XML文档的组成... 131 6.2 置标和字符数据... 132 6.2.1 注释... 132 6.2.2 实体引用... 134 6.2.3 CDATA. 135 6.2.4 标记... 136 6.2.5 属性... 138 6.3 独立文档中结构完整的XML. 140 6.4 结构完整的HTML. 145 6.4.1 现实的Web页面存在的问题... 145 6.4.2 HTML整理工具... 153 6.5 本章小结... 156 第7章 外文和非罗马文本... 157 7.1 Web上的非罗马文字... 157 .2 文字、字符集、字体和字形... 161 7.2.1 文字的字符集... 161 7.2.2 字符集的字体... 161 7.2.3 字符集的输入法... 161 7.2.4 操作系统和应用软件... 162 7.3传统字符集... 163 7.3.1 ASCII字符集... 163 7.3.2 ISO字符集... 164 7.3.3 MacRoman字符集... 166 7.3.4 Windows ANSI字符集... 167 7.4 Unicode字符集... 169 7.4.1 UTF-8. 171 7.4.2 通用字符系统... 171 7.5 如何使用Unicode编写XML. 173 7.5.1 利用字符引用在XML文件中插入字符... 173 7.5.2 其他字符集与Unicode字符集之间的转换... 173 7.5.3 如何使用其他字符集编写XML. 174 7.6 本章小结... 176 第二部分 文档类型定义... 177 第8章 文档类型定义和合法性... 177 8.1 文档类型定义... 177 8.2 文档类型声明... 179 8.3 根据DTD的合法性检验... 182 8.4 列出元素... 187 8.5 元素声明... 195 8.5.1 ANY. 195 8.5.2 #PCDATA. 195 8.5.3 子元素列表... 198 8.5.4 序列... 200 8.5.5 一个或多个子元素... 200 8.5.6 零或多个子元素... 201 8.5.7 零或一个子元素... 201 8.5.8 完整的文档和DTD.. 203 8.5.9 选择... 214 8.5.10 带括号的子元素... 215 8.5.11 混合内容... 217 8.5.12 空元素... 218 8.6 DTD中的注释... 220 8.7 在文档间共享通用的DTD.. 228 8.7.1 远程URL上的DTD.. 235 8.7.2 公共的DTD.. 236 8.7.3 内部和外部DTD子集... 237 8.8 本章小结... 241 第9章 实体和外部DTD子集... 242 9.1 什么是实体?... 242 .2 内部通用实体... 244 9.2.1 定义内部通用实体引用... 244 9.2.2 在DTD中使用通用实体引用... 246 9.2.3 预定义通用实体引用... 247 9.3 外部通用实体... 248 .4 内部参数实体... 251 9.5 外部参数实体... 253 .6 根据片段创建文档... 260 9.7 结构完整的文档中的实体和DTD.. 274 9.7.1 内部实体... 274 9.7.2 外部实体... 276 9.8 本章小结... 283 第10章 DTDs中的属性声明... 284 10.1 什么是属性?... 284 10.2 在DTD中声明属性... 285 10.3 声明多个属性... 287 10.4 指定属性的缺省值... 288 10.4.1 #REQUIRED.. 288 10.4.2 #IMPLIED.. 288 10.4.3 #FIXED.. 289 10.5 属性类型... 290 10.5.1 CDATA属性类型... 290 10.5.2 Enumerated属性类型... 290 10.5.3 NMTOKEN属性类型... 291 10.5.4 NMTOKENS属性类型... 291 10.5.5 ID属性类型... 292 10.5.6 IDREF属性类型... 292 10.5.7 ENTITY属性类型... 293 10.5.8 ENTITIES 属性类型... 294 10.5.9 NOTATION属性类型... 294 10.6 预定义属性... 296 10.6.1 xml:space. 296 10.6.2 xml:lang. 297 10.7 基于属性的棒球统计数据的DTD.. 300 10.7.1 在DTD中声明SEASON的属性... 302 10.7.2 在DTD中声明DIVISION和LEAGUE属性... 302 10.7.3 在DTD中声明TEAM属性... 302 10.7.4 在DTD中声明PLAYER的属性... 303 10.7.5 棒球比赛统计数据示例的完整DTD.. 306 10.8 本章小结... 309 第11章 嵌入非XML数据... 310 11.1 记号... 310 11.2 不可析外部实体... 314 11.2.1 声明不可析实体... 314 11.2.2 嵌入不可析实体... 314 11.2.3 嵌入多个不可析实体... 317 11.3 处理指令... 319 11.4 DTD的条件部分... 322 11.5 本章小结... 324 第三部分 样式语言... 325 第12章 级联样式单级别1. 325 12.1 什么是CSS?... 325 12.2 样式单与文档的链接... 327 12.3 选择元素... 331 12.3.1 成组选择符... 331 12.3.2 伪元素... 331 12.3.3 伪类(pseudo-classe) 332 12.3.4 由ID来选择... 335 12.3.5 上下文的选择符... 335 12.3.6 STYLE特性... 336 12.4 继承性... 337 12.5 级联过程... 339 12.5.1 @import指令... 339 12.5.2 !important声明... 339 12.5.3 级联顺序... 339 12.6 在CSS样式单中添加注释... 341 12.7 CSS中的单位... 342 12.7.1 长度值... 342 12.7.2 URL值... 344 12.7.3 颜色值... 345 12.7.4 关键字值... 346 12.8 块、内联或列表项元素... 347 12.8.1 列表项... 352 12.8.2 whitespace属性... 354 12.9 字体属性... 357 12.9.1 font-family属性... 357 12.9.2 font-style属性... 358 12.9.3 font-variant属性... 359 12.9.4 font-weight属性... 359 12.9.5 font-size属性... 360 12.9.6 font简略属性... 362 12.10 颜色属性... 364 12.11 背景属性... 365 12.11.1 background-color属性... 365 12.11.2 background-image属性... 365 12.11.3 background-repeat属性... 367 12.11.4 background-attachment属性... 368 12.11.5 background-position属性... 369 12.12 文本属性... 373 12.12.1 word-spacing属性... 373 12.12.2 letter-spacing属性... 374 12.12.3 text-decoration属性... 374 12.12.4 vertical-align属性... 375 12.12.5 text –transform属性... 376 12.12.6 text-align属性... 377 12.12.7 text-indent属性... 378 12.12.8 line-height属性... 378 12.13 框属性... 380 12.13.1 页边距属性... 380 12.13.2 边框线属性... 381 12.13.3 贴边属性... 384 12.13.4 大小属性... 385 12.13.5 定位属性... 386 12.13.6 float属性... 386 12.13.7 clear属性... 387 12.14 本章小结... 389 第13章 级联样式单级别2. 389 13.1 CSS2中有哪些新特点?... 389 13.1.1 新的伪类... 390 13.1.2 新的伪元素... 390 13.1.3 媒体类型... 390 13.1.4 分页媒体... 390 13.1.5 国际化... 390 13.1.6 可视格式化控制... 391 13.1.7 表格... 391 13.1.8 生成的内容... 391 13.1.9 有声样式单... 391 13.1.10 新工具... 391 13.2 选择元素... 393 13.2.1 式样匹配... 393 13.2.2 通配符... 394 13.2.3 后代和子代选择符... 394 13.2.4 直系同属选择符... 396 13.2.5 特性选择符... 396 13.2.6 @规则... 396 13.2.7 伪元素... 400 13.2.8 伪类... 401 13.3 格式化页面... 403 13.3.1 大小属性... 403 13.3.2 页边距属性... 403 13.3.3 标记属性... 403 13.3.4 页面属性... 403 13.3.5 分页符属性... 404 13.4 可视格式化... 405 13.4.1 显示属性... 405 13.4.2 宽度和高度属性... 407 13.4.3 overflow属性... 407 13.4.4 clip属性... 408 13.4.5 visibility属性... 408 13.4.6 cursor属性... 409 13.4.7 相关的颜色属性... 410 13.5 框... 412 13.5.1 轮廓属性... 412 13.5.2 定位属性... 413 13.6 计数器和自动编号... 417 13.7 有声样式单... 419 13.7.1 说话属性... 420 13.7.2 音量属性... 420 13.7.3 暂停属性... 420 13.7.4 提示属性... 421 13.7.5 同期播放属性... 421 13.7.6 空间属性... 421 13.7.7 音质属性... 422 13.7.8 话音属性... 424 13.8 本章小结... 425 第14章 XSL变换... 426 14.1 何为XSL?... 426 14.2 XSL变换概述... 428 14.2.1 树形结构... 428 14.2.2 XSL 样式单文档... 430 14.2.3 在何处进行XML变换... 431 14.2.4 如何使用XT. 432 14.2.5 直接显示带有XSL样式单的XML文件... 434 14.3 XSL模板... 436 14.3.1 xsl:apply-templates元素... 436 14.3.2 select特性... 438 14.4 使用xsl:value-of来计算节点值... 440 14.5 使用xsl:for-each处理多个元素... 442 14.6 匹配节点的模式... 444 14.6.1 匹配根节点... 444 14.6.2 匹配元素名... 445 14.6.3 使用/字符匹配子节点... 447 14.6.4 使用//符号匹配子代... 448 14.6.5 通过ID匹配... 449 14.6.6 使用@来匹配特性... 449 14.6.7 使用comments()来匹配注释... 451 14.6.8 使用pi()来匹配处理指令... 452 14.6.9 用text()来匹配文本节点... 452 14.6.10 使用“或”操作符| 453 14.7 选择节点的表达式... 454 14.7.1 节点轴... 454 14.7.2 表达式类型... 462 14.8 缺省的模板规则... 471 14.8.1 元素的缺省规则... 471 14.8.2 文本节点的缺省规则... 471 14.8.3 两个缺省规则的含义... 471 14.9 决定输出要包含的内容... 473 14.9.1 使用特性值模板... 473 14.9.2 使用xsl:element将元素插入到输出文档中... 475 14.9.3 使用xsl:attribute将特性插入到输出文档中... 476 14.9.4 定义特性集合... 477 14.9.5 使用xsl:pi生成处理指令... 478 14.9.6 使用xsl:comment生成注释... 478 14.9.7 使用xsl:text生成文本... 479 14.10 使用xsl:copy复制当前节点... 480 14.11 使用xsl:number为节点计数... 483 14.11.1 缺省数值... 484 14.11.2 数字到字符串的变换... 486 14.12 对输出元素排序... 488 14.13 CDATA和<符... 491 14.14 方式... 493 14.15 使用xsl:variable定义常数... 496 14.16 命名模板... 496 14.16.1 参数... 498 14.17 删除和保留空白... 501 14.18 选择... 503 14.18.1 xsl:if 503 14.18.2 xsl:choose. 503 14.19 合并多个样式单... 505 14.19.1 使用xsl:import进行录入... 505 14.19.2 使用xsl:include进行包括... 505 14.19.3 使用xsl:stylesheet在文档中嵌入样式单... 505 14.20 本章小结... 508 第15章 XSL格式化对象... 508 15.1 XSL格式化语言概述... 509 15.2 格式对象及其属性... 510 15.2.1 fo命名域... 511 15.2.2 格式化属性... 513 15.2.3 转换成格式化对象... 518 15.2.4 使用FOP. 520 15.3 页面布局... 522 15.3.1 主控页面... 522 15.3.2 页序列... 525 15.4 内容... 530 15.4.1 块级格式化对象... 530 15.4.2 内联格式化对象... 531 15.4.3 表格格式化对象... 532 15.4.4 外联格式化对象... 532 15.5 水平线... 533 15.6 图形... 534 15.7 链接... 535 15.8 列表... 536 15.9 表格... 538 15.10 字符... 542 15.11 序列... 543 15.12 脚注... 544 15.13 浮动... 544 15.14 XSL格式化属性... 546 15.14.1 单位和数据类型... 546 15.14.2 消息属性... 548 15.14.3 段落属性... 548 15.14.4 字符属性... 551 15.14.5 句子属性... 552 15.14.6 区域属性... 555 15.14.7 听觉属性... 560 15.15 本章小结... 562 第四部分 补充技术... 563 第16章 XLink. 563 16.1 XLink与HTML链接的对比... 563 16.2 简单链接... 565 16.2.1 本地资源的描述... 566 16.2.2 远程资源的描述... 567 16.2.3 链接行为... 568 16.3 扩展链接... 575 16.4 外联链接... 579 16.5 扩展链接组... 581 16.5.1 一个实例... 581 16.5.2 steps特性... 583 16.6 重命名XLink特性... 585 16.7 本章小结... 586 第18章 命名域... 588 18.1 何为命名域... 588 18.2 命名域句法... 591 18.2.1 命名域的定义... 591 18.2.2 多个命名域... 592 18.2.3 特性... 595 18.2.4 缺省的命名域... 596 18.3 DTD中的命名域... 600 18.4 本章小结

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧