⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 deepxsl1.htm

📁 这是一本关于XML的学习的书
💻 HTM
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<TITLE>深入XSL(1)</TITLE>
<style type="text/css">
<!--
.normal10 {  font-size: 11pt}
.normal9 {  font-size: 9pt}
p{  font-size: 10.5pt; line-height: 12pt}
a{ text-decoration: none }
a:hover{ color:Red;text-decoration:underline }
a {
font-size:10.5pt;   
COLOR: cornflowerblue;
FONT-FAMILY: "新细明体", "宋体";
FONT-WEIGHT: bold
; line-height: 12pt }
.normal105 {  font-size: 10.5pt; line-height: 12pt}

-->
</style>
</HEAD>
<BODY>

<p ALIGN="CENTER" class="normal10">[<a href="../../../default.asp" tppabs="http://www.xml.org.cn:8188/default.asp" target="_parent">返回首页</a>][<a href="../../resource.htm" tppabs="http://www.xml.org.cn:8188/resource/resource.htm" target="_parent">返回资源</a>]</p>
<table width="85%" border="0" align="center">
  <tr> 
    <td width="22%" height="45">&nbsp;</td>
    <td width="53%" height="45"> 
      <h2 align="CENTER"><b><font face="宋体" lang="ZH-CN">深入XSL(1)<br>
        </font></b><font face="宋体" lang="ZH-CN">---构造结果树概述</font></h2>
      <h2 align="CENTER"></h2>
      <p align="CENTER"><font face="宋体" lang="ZH-CN"><span class="normal105">翻译:</span><a href="mailto:onecenter@yahoo.com">孙一中</a></font></p>
      </td>
    <td width="25%" height="45"><a name="top"></a></td>
  </tr>
  <tr> 
    <td colspan="3" height="418"> 
      <div align="right"> 
        <p align="JUSTIFY"><span class="normal105">下一篇:<span class="normal11"><b><a href="DeepXSL2.htm" tppabs="http://www.xml.org.cn:8188/resource/article/deepxsl/DeepXSL2.htm" target="_parent">深入XSL(2)--样式表结构</a></b></span></span></p>
        <p align="JUSTIFY" class="normal105"><font face="宋体" lang="ZH-CN"><span class="normal105">XSL是表达样式表(stylesheet)的语言.每一个样式表描述了呈现一类XML源文档的规则.呈现的过程包括两部分:第一,由源树建立结果树(result 
          tree);第二,结果树被解释并在显示器、纸张或以语音等其他的媒体的格式化形式输出. 第一步,构造结果树,是将模式(pattern)与模板(template)相结合实现的. 
          模式与源树中的元素相匹配.模板被实例化产生部分结果树.结果树与源树是分离的.结果树的结构可以和源树截然不同.在结果树的构造中,源树可以可以被过滤和重新排序,还可以增加任意的结构.第二步,格式化,是用该XSL文档规定的格式化词表实现结果树的构造.正规来说,这个词表是一个XML的名域(namespace).词汇表中的每一种元素类型对应一个格式化对象类.一种格式化对象类表达一种特定的格式化表现方式.例如,块(block)格式化对象类表示将一段的内容拆成一行一行.词汇表的每个属性对应一种格式化特性.格式化对象类有一特殊的格式化特性集合,这样能够更好地控制格式化对象类的表现方式;例如,在集合各行之前或之后控制行的缩进,行间距.一个格式化对象能拥有内容,而它的格式化表现应用于其内容.</span></font></p>
        <p align="JUSTIFY"><span class="normal105"><font face="宋体" lang="ZH-CN">XSL可以不需要结果树使用格式化词库,这样能够被用作通用的XML传输.例如,XSL能被用来将XML转化为结构良好的HTML,即为采用HTML定义的元素类型和属性的XML.当结果树采用了格式化词库,相遵循的XSL实现必须能够根据在该文件中定义的格式化词库的语义解释结果树;它也能将结果树具体化为XML,但没有必要能这样做.</font></span></p>
        <p align="JUSTIFY"><span class="normal105"><font face="宋体" lang="ZH-CN">样式表包含了一套模板的规则集合.一个模板规则有两个部分:匹配源树中节点的模式(pattern)以及实例化(instantiated)后组成部分结果树的模板(template).它允许一个样式表可用于有类似源树结构的一大类文档.一个模板包含一些元素,它们规定了文字结果的元素结构.一个模板还可以包含作为产生结果树片段的指令元素.当一个模板实例化后, 
          执行每一个指令并置换为其产生的结果树片段.指令能够选择并处理后代的元素. 通过查找可应用的模板规则然后实例化其模板,后代的元素处理后产生了结果树片段.元素只有在被执行的指令选中才作处理.在搜索可用模板规则过程中,不止一个模板规则可能匹配给定元素的模式.然而,仅应用一个模板的规则.决定采用哪一规则的方法在&quot;</font><font face="宋体" lang="ZH-CN">模板规则的冲突决定&quot;</font><font face="宋体" lang="ZH-CN">中说明.XSL用XML的名域(namespaces)来区别属于XSL处理器指令的元素和规定文字结果的树结构的元素.指令元素属于XSL名域.在文档中采用前缀<b>xsl:</b>表示XSL名域中的元素.一个XSL样式表包含了一个xsl:stylesheet稳当元素.该元素可以包含<b>xsl:template</b>元素来规定模板的规则.下面的例子是一个简单的XSL样式表,它为包含<b>emphasis</b>元素的<b>para</b>元素序列构造结果树.<b>result-ns="fo"</b>属性表明正在构造使用格式化对象词库的树.<b>para</b>元素成为了块格式化对象,字体大小为10pt,之前的空格为12pt.</font></span></p>
        <p align="JUSTIFY"><font face="Verdana, Arial, Helvetica, sans-serif" lang="ZH-CN">&lt;xsl:stylesheet 
          xmlns:xsl="http://www.w3.org/TR/WD-xsl" xmlns:fo="http://www.w3.org/TR/WD-xsl/FO" 
          result-ns="fo"&gt;<br>
          &lt;xsl:template match="/"&gt;<br>
          &lt;fo:page-sequence font-family="serif"&gt;<br>
          &lt;xsl:process-children/&gt;<br>
          &lt;/fo:page-sequence&gt;<br>
          &lt;/xsl:template&gt;<br>
          &lt;xsl:template match="para"&gt;<br>
          &lt;fo:block font-size="10pt" space-before="12pt"&gt;<br>
          &lt;xsl:process-children/&gt;<br>
          &lt;/fo:block&gt;<br>
          &lt;/xsl:template&gt;<br>
          &lt;/xsl:stylesheet&gt;</font></p>
        <p align="JUSTIFY"><font face="宋体" lang="ZH-CN"><b><span class="normal105">xsl:stylesheet</span></b><span class="normal105">元素也能包含由其他XSL的样式表导入的元素,定义宏的元素,定义全局常量的元素,以及识别源属性为个别元素标记的元素.</span></font></p>
        <p align="JUSTIFY"><span class="normal105">下一篇:<span class="normal11"><b><a href="DeepXSL2.htm" tppabs="http://www.xml.org.cn:8188/resource/article/deepxsl/DeepXSL2.htm" target="_parent">深入XSL(2)--样式表结构</a></b></span></span></p>
      </div>
    </td>
  </tr>
  <tr> 
    <td colspan="3"><font face="宋体" lang="ZH-CN" size=3> </font> <rev></rev><font face="宋体" lang="ZH-CN" size=3></font> 
      <hr size="1">
      <p align="center"><font face="宋体" lang="ZH-CN">[<a href="#top">返回标题</a>][<a href="../../resource.htm" tppabs="http://www.xml.org.cn:8188/resource/resource.htm" target="_parent">返回资源</a>][<a href="../../../default.asp" tppabs="http://www.xml.org.cn:8188/default.asp" target="_parent">返回首页</a>][<a href="mailto:xml@tangram.com.cn">欢迎投稿</a>]</font></p>
      <p align="center">最后更新:1999年8月10日<br>
        <font color="#FF0033" size="-1">本站点所刊文章版权,均归本站点所有。署名作者拥有其著作权。<br>
        未经</font><font color="#FF0033"><a href="mailto:xml@tangram.com.cn"><font color="#6666FF" size="-1">允许</font></a></font><font color="#FF0033" size="-1">,不得随意转载,违者必究!!</font> 
      </p>
    </td>
  </tr>
</table>
<h2 ALIGN="CENTER">&nbsp;</h2>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3> 
<P ALIGN="JUSTIFY">&nbsp;</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3></FONT> 
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -