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

📄 deepxsl4.htm

📁 这是一本关于XML的学习的书
💻 HTM
📖 第 1 页 / 共 2 页
字号:
      <p align="JUSTIFY"><b><font face="宋体" lang="ZH-CN" size="3"><span class="normal10">&lt;xsl:template 
        match="author-group"&gt;<br>
        </span></font></b><span class="normal10"><b><font face="宋体" lang="ZH-CN" size="3"><span class="normal10">&lt;fo:sequence&gt;<br>
        &lt;xsl:process select="author/first-name"/&gt;<br>
        &lt;/fo:sequence&gt;<br>
        &lt;/xsl:template&gt;</span></font></b></span></p>
      <p align="JUSTIFY"><font face="宋体" lang="ZH-CN" size="3" class="normal105">在模式中使用//操作符可以匹配任意的深度. 
        下例处理在book元素中的所有heading元素.</font></p>
      <p align="JUSTIFY"><b><font face="宋体" lang="ZH-CN" size="3"><span class="normal10">&lt;xsl:template 
        match="book"&gt;<br>
        </span></font></b><span class="normal10"><b><font face="宋体" lang="ZH-CN" size="3" class="normal10">&lt;fo:block&gt;<br>
        &lt;xsl:process select=".//heading"/&gt;<br>
        &lt;/fo:block&gt;<br>
        &lt;/xsl:template&gt;</font></b></span></p>
      <p align="JUSTIFY"></p>
      <p align="JUSTIFY"><b><font face="宋体" lang="ZH-CN" size="3">7 直接处理</font></b></p>
      <p align="JUSTIFY"><font face="宋体" lang="ZH-CN" size="3"><span class="normal105">当结果是已知的规则结构,能够直接确定选择元素的模板是很有益的.<b> 
        xsl:for-each</b>元素包括一个模板,它具体实现由<b>select</b>属性规定的每个选择元素.比如对下面的XML文档:</span></font></p>
      <p align="JUSTIFY"><b><font face="宋体" lang="ZH-CN" size="3"><span class="normal10">&lt;customers&gt;<br>
        </span></font></b><span class="normal10"><b><font face="宋体" lang="ZH-CN" size="3"><span class="normal10">&lt;customer&gt;<br>
        &lt;name&gt;...&lt;/name&gt;<br>
        &lt;order&gt;...&lt;/order&gt;<br>
        &lt;order&gt;...&lt;/order&gt;<br>
        &lt;/customer&gt; <br>
        &lt;customer&gt;<br>
        &lt;name&gt;...&lt;/name&gt;<br>
        &lt;order&gt;...&lt;/order&gt;<br>
        &lt;order&gt;...&lt;/order&gt;<br>
        &lt;/customer&gt;<br>
        &lt;/customers&gt;</span></font></b></span></p>
      <p align="JUSTIFY"><font face="宋体" lang="ZH-CN" size="3" class="normal105">下面的XSL将生成一个HTML文档,包括一个表格,其中的一行就为一个custom元素</font></p>
      <p align="JUSTIFY"><b><font face="宋体" lang="ZH-CN" size="3"><span class="normal10">&lt;xsl:template 
        match="/"&gt;</span><br>
        <span class="normal10">&lt;HTML&gt;<br>
        </span></font></b><span class="normal10"><b><font face="宋体" lang="ZH-CN" size="3"><span class="normal10">&lt;HEAD&gt;<br>
        &lt;TITLE&gt;Customers&lt;/TITLE&gt;<br>
        &lt;/HEAD&gt;<br>
        &lt;BODY&gt;<br>
        &lt;TABLE&gt;<br>
        &lt;TBODY&gt;<br>
        &lt;xsl:for-each select="customers/customer"&gt;<br>
        &lt;TR&gt;<br>
        &lt;TH&gt;<br>
        &lt;xsl:process select="name"/&gt;<br>
        &lt;/TH&gt;<br>
        &lt;xsl:for-each select="order"&gt;<br>
        &lt;TD&gt;<br>
        &lt;xsl:process-children/&gt;<br>
        &lt;/TD&gt;<br>
        &lt;/xsl:for-each&gt;<br>
        &lt;/TR&gt;<br>
        &lt;/xsl:for-each&gt;<br>
        &lt;/TBODY&gt;<br>
        &lt;/TABLE&gt;<br>
        &lt;/BODY&gt;<br>
        &lt;/HTML&gt;<br>
        &lt;/xsl:template&gt;</span></font></b></span></p>
      <p align="JUSTIFY"></p>
      <p align="JUSTIFY"><b><font face="宋体" lang="ZH-CN" size="3">8 模板中的条件</font></b></p>
      <p align="JUSTIFY"><font face="宋体" lang="ZH-CN" size="3"><span class="normal105">XSL中有两个指令来支持条件处理: 
        <b>xsl:if</b>和<b>xsl:choose</b>.<b> xsl:if</b>指令提供简单的i<b>f-then</b>的条件选择; 
        <b>xsl:choose</b>支持多条件的选择.</span></font></p>
      <p align="JUSTIFY"></p>
      <p align="JUSTIFY"><b><font face="宋体" lang="ZH-CN" size="3">9 计算产生的文本</font></b></p>
      <p align="JUSTIFY"><font face="宋体" lang="ZH-CN" size="3"><span class="normal105">在模板中, 
        <b>xsl:value-of</b>元素能用于计算产生的文本,比如通过从源树中提取文本或插入字符常数的值.<b> 它由xsl:value-of</b>元素通过一个规定为<b>expr</b> 
        属性值的字串表达式来实现. 字串表达式也能在文字结果元素的属性值中使用,只要将该字串表达式套入{}中.</span></font></p>
      <p align="JUSTIFY"><b><font face="宋体" lang="ZH-CN" size="3">10 宏</font></b></p>
      <p align="JUSTIFY"><font face="宋体" lang="ZH-CN" size=3><span class="normal105">宏能产生结果集合还能被引用,就象一个单独的对象.在下例中,为一封装的段落定义了一个宏,在其内容之前增加</span></font><span class="normal105"><font face="TimesNewRoman,Times New Roman" size=3>“</font><font face="宋体" lang="ZH-CN" size=3>Warning!</font><font face="TimesNewRoman,Times New Roman" size=3>”</font><font face="宋体" lang="ZH-CN" size=3>语句.在匹配<b>warning</b>元素的规则中该宏被引用.</font></span></p>
      <p align="JUSTIFY"><font face="宋体" lang="ZH-CN" size="3"><b><span class="normal10">&lt;xsl:define-macro 
        name="warning-para"&gt;<br>
        </span></b></font><span class="normal10"><font face="宋体" lang="ZH-CN" size="3"><b><span class="normal10">&lt;fo:box&gt;<br>
        &lt;fo:block&gt;<br>
        &lt;xsl:text&gt;Warning! &lt;/xsl:text&gt;<br>
        &lt;xsl:contents/&gt;<br>
        &lt;/fo:block&gt;<br>
        &lt;/fo:box&gt;<br>
        &lt;/xsl:define-macro&gt;<br>
        &lt;xsl:template match="warning"&gt;<br>
        &lt;xsl:invoke macro="warning-para"&gt;<br>
        &lt;xsl:process-children/&gt;<br>
        &lt;/xsl-invoke&gt;<br>
        &lt;/xsl:template&gt;</span></b></font></span></p>
      <p class="normal11" align="left"><span class="normal105"><span class="normal10"><span class="normal105">上一篇:<font lang=ZH-CN class="normal9"><a href="DeepXSL3.htm" tppabs="http://www.xml.org.cn:8188/resource/article/deepxsl/DeepXSL3.htm" target="_parent">深入XSL(3)--模板规则和模式</a></font><br>
        下一篇:<a href="DeepXSL5.htm" tppabs="http://www.xml.org.cn:8188/resource/article/deepxsl/DeepXSL5.htm"><span class="normal11"><b>深入XSL(5)--联合样式表</b></span></a></span></span></span></p>
      </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"><span class="normal11">[<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.htm" tppabs="http://www.xml.org.cn:8188/default.asp" target="_parent">返回首页</a>][<a href="mailto:xml@tangram.com.cn">欢迎投稿</a>]</span></font></p>
      <p align="center"><span class="normal11">最后更新:1999年8月24日<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> 
        </span></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 + -