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

📄 creating and populating an html template.htm

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

-->
</style>
<link rel="stylesheet" href="../../Global.css" tppabs="http://www.xml.org.cn:8188/Global.css"></HEAD>
<BODY>
<p ALIGN="CENTER" class="normal105">[<a href="../../default.asp.htm" tppabs="http://www.xml.org.cn:8188/default.asp" target="_parent">返回首页</a>][<font face="宋体" lang="ZH-CN"><a href="../application.htm" tppabs="http://www.xml.org.cn:8188/application/application.htm" target="_parent">返回应用</a></font>]</p>
<table width="85%" border="0" align="center">
  <tr> 
    <td width="22%" height="89">&nbsp;</td>
    <td width="53%" height="89"> 
      <h2 align="center"><font face="宋体">生成并组装一个HTML模板</font></h2>
      </td>
    <td width="25%" height="89"><a name="top"></a></td>
  </tr>
  <tr> 
    <td colspan="3" height="2227"> 
      <p> <span class="normal10"><br>
        <span class="normal105">下一篇: <font face="Arial"><a href="Authoring Well-Formed HTML.htm" tppabs="http://www.xml.org.cn:8188/application/XSL%20uguid/Authoring%20Well-Formed%20HTML.htm"><span class="normal105">书写一个格式良好的HTML</span></a></font> 
        <br>
        返 回 : <a href="Getting Started with XSL.htm" tppabs="http://www.xml.org.cn:8188/application/XSL%20uguid/Getting%20Started%20with%20XSL.htm" class="normal105">开始学习样式表</a> 
        </span></span></p>
      <p><span class="normal105">为了显示,你可以通过HTML模板来使用Xsl归并简单规则的Xml数据. 考虑下面的样例:</span></p>
      <pre class=clsCode><span class="normal105">&lt;?xml version="1.0"?&gt;
&lt;portfolio xmlns:dt="urn:schemas-microsoft-com:datatypes"&gt;
  &lt;stock exchange="nyse"&gt;
    &lt;name&gt;zacx corp&lt;/name&gt;
    &lt;symbol&gt;ZCXM&lt;/symbol&gt;
    &lt;price dt:dt="number"&gt;28.875&lt;/price&gt;
  &lt;/stock&gt;
  &lt;stock exchange="nasdaq"&gt;
    &lt;name&gt;zaffymat inc&lt;/name&gt;
    &lt;symbol&gt;ZFFX&lt;/symbol&gt;
    &lt;price dt:dt="number"&gt;92.250&lt;/price&gt;
  &lt;/stock&gt;
  &lt;stock exchange="nasdaq"&gt;
    &lt;name&gt;zysmergy inc&lt;/name&gt;
    &lt;symbol&gt;ZYSZ&lt;/symbol&gt;
    &lt;price dt:dt="number"&gt;20.313&lt;/price&gt;
  &lt;/stock&gt;
&lt;/portfolio&gt;</span></pre>
      <p><span class="normal105">这个样例的数据是重复的有规则的,股票的元素结构是作为相同的子元素而被不断重复若干次。股票信息将会按照每种股票独占一行,每一行包括name,symbol,price的单元格的形式在一个表格中显示出来。首先生成一个HTMl元素模板用于显示这样一个表格。</span></p>
      <pre class=clsCode><span class="normal105">&lt;HTML&gt;
  &lt;BODY&gt;
    &lt;TABLE BORDER="2"&gt;
      &lt;TR&gt;
        &lt;TD&gt;Symbol&lt;/TD&gt;
        &lt;TD&gt;Name&lt;/TD&gt;
        &lt;TD&gt;Price&lt;/TD&gt;
      &lt;/TR&gt;
      &lt;!-- repeat the following row for each stock --&gt;
      &lt;TR&gt;
        &lt;TD&gt;&lt;!-- symbol goes here --&gt;&lt;/TD&gt;
        &lt;TD&gt;&lt;!-- name goes here --&gt;&lt;/TD&gt;
        &lt;TD&gt;&lt;!-- price goes here --&gt;&lt;/TD&gt;
      &lt;/TR&gt;
    &lt;/TABLE&gt;
  &lt;/BODY&gt;
&lt;/HTML&gt;</span></pre>
      <p><span class="normal105">为了使用从Xsl文件中得到的数据来组装这个模板,你可以人工的把注释部分用Xml文件中得到的数据填补。<font color="#000000">这恰是Xsl执行的基本过程</font>。从Xsl命名域而来的元素被用于定位Xml文件中的数据,以及把它插入HTML模板。</span></p>
      <pre class=clsCode><span class="normal105">&lt;HTML&gt;
  &lt;BODY&gt;
    &lt;TABLE BORDER="2"&gt;
      &lt;TR&gt;
        &lt;TD&gt;Symbol&lt;/TD&gt;
        &lt;TD&gt;Name&lt;/TD&gt;
        &lt;TD&gt;Price&lt;/TD&gt;
      &lt;/TR&gt;
      <b>&lt;xsl:for-each select="portfolio/stock"&gt;</b>
        &lt;TR&gt;
          &lt;TD&gt;<b>&lt;xsl:value-of select="symbol"/&gt;</b>&lt;/TD&gt;
          &lt;TD&gt;<b>&lt;xsl:value-of select="name"/&gt;</b>&lt;/TD&gt;
          &lt;TD&gt;<b>&lt;xsl:value-of select="price"/&gt;</b>&lt;/TD&gt;
        &lt;/TR&gt;
      <b>&lt;/xsl:for-each&gt;</b>
    &lt;/TABLE&gt;
  &lt;/BODY&gt;
&lt;/HTML&gt;</span></pre>
      <p> <span class="normal105"><b>&lt;xsl:for-each&gt;</b> 元素在Xml数据中定位了一系列元素(是指在“portfolio”元素中的“stock”族)并且为每一个“stock”元素都重复使用一份模板。由于这个样例由三个股票元素因此将产生三行数据。</span></p>
      <p> <span class="normal105"><b>select</b>属性描述了如何在原文档里寻找一系列的元素。这个属性的语法会被Xsl 
        Pattern调用,它的工作方式很像导航一个用“/”号来选择相对于当前目录的子目录的文件系统。在一个Xsl样式表里,导航是从当前节点开始并且深入Xml的数据层次,选择所有符合模式的节点.在这个模式&quot;portfolio/stock&quot;是从文档的根开始并且深入&quot;portfolio&quot;元素选择三个&quot;stock&quot;字节点.</span></p>
      <p><span class="normal105">对于大多数的样式表,使用元素名和&quot;/&quot;操作符在执行转换上具有相当强大的功能.其他Xsl 
        Pattern操作符的细节在<a 
href="../../../msdn.microsoft.com/xml/xslguide/patterns-intro.asp" tppabs="http://msdn.microsoft.com/xml/xslguide/patterns-intro.asp">Introduction 
        to the Syntax of</a> 有描述.</span></p>
      <p><span class="normal105">使用<b>&lt;xsl:for-each&gt;</b>元素,你能更加深入的选择每个&quot;stock&quot;元素的子元素.<b> 
        &lt;xsl:value-of&gt;</b>元素选定一个子节点并且把子节点的文本内容插入模板<b>.在&lt;xsl:value-of&gt;</b>元素的select属性中的模式不需要再次从文档根开始,但是必须是相对于在&lt;xsl:for-each&gt;中选定的元素.</span></p>
      <p><span class="normal105">前面所述的模板能通过把它放入一个Xml文件中并且用&lt;xsl:stylesheet&gt;元素封闭起来的的方法来生成一个完整的样式表.</span></p>
      <pre class=clsCode><span class="normal105"><b><span class="normal105">&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"&gt;
  &lt;xsl:template match="/"&gt;</span></b>
    <span class="normal105">&lt;HTML&gt;
      &lt;BODY&gt;
        &lt;TABLE BORDER="2"&gt;
          &lt;TR&gt;
            &lt;TD&gt;Symbol&lt;/TD&gt;
            &lt;TD&gt;Name&lt;/TD&gt;
            &lt;TD&gt;Price&lt;/TD&gt;
          &lt;/TR&gt;
          &lt;xsl:for-each select="portfolio/stock"&gt;
            &lt;TR&gt;
              &lt;TD&gt;&lt;xsl:value-of select="symbol"/&gt;&lt;/TD&gt;
              &lt;TD&gt;&lt;xsl:value-of select="name"/&gt;&lt;/TD&gt;
              &lt;TD&gt;&lt;xsl:value-of select="price"/&gt;&lt;/TD&gt;
            &lt;/TR&gt;
          &lt;/xsl:for-each&gt;
        &lt;/TABLE&gt;
      &lt;/BODY&gt;
    &lt;/HTML&gt;
  <b>&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;</b></span></span></pre>
      <p><span class="normal105">由于一个Xsl样式表示本生也是一个Xm文件,因此文件应该从被推荐使用的Xml定义开始.&lt;xsl:stylesheet&gt;元素指定了这是一个样式表文件,并且提供了一个定义Xsl命名域的定位.Microsoft 
        Internet Explorer 5支持的Xsl命名域URL是http://www.w3.org/TR/ WD-xsl </span></p>
      <p><span class="normal105">你也必须用&lt;xsl:template match=&quot;/&quot;&gt;元素把一个模板包裹起来以便能指定这个模板是符合Xml元文档的根(/).详细情况,参见<a 
href="../../../msdn.microsoft.com/xml/xslguide/xsl-advanced.asp" tppabs="http://msdn.microsoft.com/xml/xslguide/xsl-advanced.asp">Advanced XSL Features</a>.</span></p>
      <p><span class="normal105">整个文件必须是书写格式良好符合Xml规则的,包括由这个模板组成的HTML作为书写或者转换格式良好HTMl的补充说明,可以参见<a 
href="../../../msdn.microsoft.com/xml/xslguide/xsl-wfhtml.asp" tppabs="http://msdn.microsoft.com/xml/xslguide/xsl-wfhtml.asp">Authoring Well-Formed 
        HTML</a>.</span></p>
      <p><span class="normal105">用过XSl运行的Portfolio文档的最终结果如下:</span></p>
      <pre class=clsCode><span class="normal105">&lt;HTML&gt;
  &lt;BODY&gt;
    &lt;TABLE BORDER="2"&gt;
      &lt;TR&gt;
        &lt;TD&gt;Symbol&lt;/TD&gt;
        &lt;TD&gt;Name&lt;/TD&gt;
        &lt;TD&gt;Price&lt;/TD&gt;
      &lt;/TR&gt;
      &lt;TR&gt;
        &lt;TD&gt;ZCXM&lt;/TD&gt;
        &lt;TD&gt;zacx corp&lt;/TD&gt;
        &lt;TD&gt;28.875&lt;/TD&gt;
      &lt;/TR&gt;
      &lt;TR&gt;
        &lt;TD&gt;ZFFX&lt;/TD&gt;
        &lt;TD&gt;zaffymat inc&lt;/TD&gt;
        &lt;TD&gt;92.250&lt;/TD&gt;
      &lt;/TR&gt;
      &lt;TR&gt;
        &lt;TD&gt;ZYSZ&lt;/TD&gt;
        &lt;TD&gt;zysmergy inc&lt;/TD&gt;
        &lt;TD&gt;20.313&lt;/TD&gt;
      &lt;/TR&gt;
    &lt;/TABLE&gt;
  &lt;/BODY&gt;
&lt;/HTML&gt;</span></pre>
      <p><span class="normal105">结果列举了在Xsl中基本转换机制是如何结合一个带有原文档数据的模板(在样式表中定义的)来生成一个最终的结果.</span></p>
      <p><span class="normal105"><b>尝试!</b> 上面的样例工作于 <a 
href="../../../msdn.microsoft.com/xml/samples/portfolio/portfolio.xml" tppabs="http://msdn.microsoft.com/xml/samples/portfolio/portfolio.xml">Portfolio 
        Sample</a>.</span></p>
      <p><span class="normal105"><a href="../../../msdn.microsoft.com/xml/samples/portfolio/portfolio.zip" tppabs="http://msdn.microsoft.com/xml/samples/portfolio/portfolio.zip"><img 
alt=Download border=0 height=20 
src="Creating and Populating an HTML Template.files/icodownl.gif" tppabs="http://www.xml.org.cn:8188/application/XSL%20uguid/Creating%20and%20Populating%20an%20HTML%20Template.files/icodownl.gif" width=16> Download 
        this sample</a>. </span></p>
      <p><span class="normal105"><b>注意:</b> 为了直接浏览XMl文件,样例也包括了一个指向样式表的样式表指令.有关细节参见<a 
href="../../../msdn.microsoft.com/xml/xslguide/browsing-overview.asp" tppabs="http://msdn.microsoft.com/xml/xslguide/browsing-overview.asp">Browsing XML 
        Documents in Internet </a></span></p>
</td>
  </tr>
  <tr> 
    <td colspan="3" height="2"><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="../application.htm" tppabs="http://www.xml.org.cn:8188/application/application.htm" target="_parent">返回应用</a>][<a href="../../default.asp.htm" tppabs="http://www.xml.org.cn:8188/default.asp" target="_parent">返回首页</a>][<a href="mailto:xmlteam@egroups.com">欢迎投稿</a>]</font></p>
      <p align="center">最后更新:1999年9月15日<br>
        <font color="#FF0033" size="-1">本站点所刊文章版权,均归本站点所有。署名作者拥有其著作权。<br>
        未经</font><font color="#FF0033"><a href="mailto:xmlteam@egroups.com"><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 + -