📄 xslt~1q.htm
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>XSLT简介</TITLE>
<link rel="stylesheet" href="../../Global.css" tppabs="http://www.xml.org.cn:8188/Global.css"></HEAD>
<BODY>
<B> </B>
<table width="21%" border="0" height="30" cellpadding="0" cellspacing="3">
<tr>
<td width="61%">
<p align="left"><a href="../resource.htm" tppabs="http://www.xml.org.cn:8188/resource/resource.htm" target="_parent">返回学习&研究
</a></p>
</td>
<td width="39%">
<p align="left"><a href="../../default.htm" tppabs="http://www.xml.org.cn:8188/default.htm" target="_parent">返回首页</a> </p>
</td>
</tr>
</table>
<B>
<P ALIGN="CENTER"><span class="normal105"><FONT SIZE=4> </font></span> </P>
</B>
<table width="99%" border="0" cellspacing="0" cellpadding="0" height="37">
<tr align="center" valign="middle">
<td>
<table width="30%" border="0" cellspacing="0" cellpadding="0">
<tr align="center" valign="middle">
<td><b>
<p align="CENTER"><span class="normal105"><font size="+3">XSLT</font><font face="宋体" lang="ZH-CN" size="+3">简介</font></span></p>
</b> </td>
</tr>
</table>
<br>
<table width="50%" border="0" cellspacing="0" cellpadding="0">
<tr align="center" valign="middle">
<td class="normal105"><a href="mailto:zhul@mail.com">作者:朱麟</a></td>
</tr>
</table>
</td>
</tr>
</table>
<br>
<table width="99%" border="0" cellspacing="0" cellpadding="0">
<tr align="center" valign="middle">
<td>
<table width="85%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>
<p align="CENTER"><span class="normal105"><font size=4><br>
</font></span><span class="normal105"><font size=3><span class="normal105">W3C1999/11/16</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">通过了《</font><font size=3><span class="normal105">XSLT</span></font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">建议》。</span></font><font size=3><span class="normal105">XSLT</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">是一种用来进行</font><font size=3><span class="normal105">XML</span></font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">文档间相互转化的语言。它的设计目标是被用作</span></font><span class="normal105"><font size=3><span class="normal105">XSL</span></font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">的一部分。</span></font><span class="normal105"><font size=3><span class="normal105">XSL</span></font><span class="normal105"><font face="宋体" lang="ZH-CN" size=3><span class="normal105">是</span></font><span class="normal105"><font size=3><span class="normal105">XML</span></font></span><font face="宋体" lang="ZH-CN" size=3 class="normal105">的样式表语言,定义了描述样式的词汇集。而</font></span><font size=3><span class="normal105">XSLT</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">则描述怎样把一个文档转化为是用这个词汇集的</font><font size=3><span class="normal105">XML</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">文档。在这个意义上,</font><font size=3><span class="normal105">XSL</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">描述了</font><font size=3><span class="normal105">XML</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">文档的样式。</font></span></span></span></p>
</b>
<p align="JUSTIFY"> <span class="normal105"><font face="宋体" lang="ZH-CN" size=3>	</font><font size=3><span class="normal105">XSLT</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">也可以脱离</font><font size=3><span class="normal105">XSL</span></font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">使用。但是,</span></font><font size=3><span class="normal105">XSLT</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">并不是一种完全通用的</font><font size=3><span class="normal105">XML</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">转化语言。它主要被用来转化</font><font size=3><span class="normal105">XSL</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">需要的信息。</font></span></p>
<b>
<p align="JUSTIFY"><span class="normal105"><font face="宋体" lang="ZH-CN"><span class="normal105">为什么需要</span></font><span class="normal105"><span class="normal105">XSLT</span><font face="宋体" lang="ZH-CN"><span class="normal105">?</span></font></span></span></p>
</b>
<p align="JUSTIFY"> <span class="normal105"><font face="宋体" lang="ZH-CN"><b>	</b></font><font size=3><span class="normal105">XML</span></font><span class="normal105"><font face="宋体" lang="ZH-CN" size=3 class="normal105">文档具有树型的嵌套结构。但是信息本身可以有多种组织结构。一个开发者选择的结构可能对其它开发者并不适用,面向一个应用设计的结构可能不适合其它应用。有时,你还需要向不同的用户呈现不同的重点,或者对某些用户隐藏掉一些信息。</font></span></span></p>
<font face="宋体" lang="ZH-CN" size=3>
<p align="JUSTIFY"><span class="normal105">	另外,开发者设计信息结构时,有时考虑不很周全,以至设计出的结构并不是最优的。当开发者集中精力考虑如何展现数据时,很可能会顾此失彼,不能很好的建立数据。</span></p>
</font>
<p align="JUSTIFY"><span class="normal105"><font face="宋体" lang="ZH-CN" size=3 class="normal105">	引入</font><font size=3><span class="normal105">XSLT</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">就是为了给开发者良好的工具,解决以上问题。</font></span></p>
<b>
<p align="JUSTIFY"><span class="normal105">XSLT<font face="宋体" lang="ZH-CN">的特点</font></span></p>
</b>
<p align="JUSTIFY"><span class="normal105"><font face="宋体" lang="ZH-CN" size=3><span class="normal105">使用</span></font><font size=3><span class="normal105">XSLT</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">,开发者可以描述一种从现有的</font><font size=3><span class="normal105">XML</span></font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">文档建立新的结构化文档的方法,由</span></font><font size=3><span class="normal105">XSLT</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">引擎来实现。</font></span></p>
<p align="JUSTIFY"><span class="normal105"><font size=3><span class="normal105">XSLT</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">并不是一种编程语言。</font><font size=3><span class="normal105">XSLT</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">的实现方法是给出实例,而不是描述执行过程。开发者要做的是把模板提供给引擎,并指明在进行转换适何时何地使用模板。在模板中可以加入指令,告诉引擎从你的一个或多个输入文件中自动搜索信息,并插入模板中的空位。</font></span></p>
<p align="JUSTIFY"> <span class="normal105"><font face="宋体" lang="ZH-CN" size=3 class="normal105">假如你使用</font><font size=3><span class="normal105">XSL</span></font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">来展现信息,那么你只要通过上述方法,把你的信息转化为由</span></font><font size=3><span class="normal105">XSL</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">词汇组成的树状结构。展现引擎建会自动根据他们的语义来展现你的信息。这大大简化了应用开发的难度。</font></span></p>
<p align="JUSTIFY"> <span class="normal105"><font face="宋体" lang="ZH-CN" size=3 class="normal105">使用</font><font size=3><span class="normal105">XSLT</span></font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">的应用是很灵活的。你可以打乱信息的出现次序,挑选有用的信息,甚至是同样信息在一个结果中出现多次。生成的结果可以是</span></font><font size=3><span class="normal105">XML</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">,包括</font><font size=3><span class="normal105">CSS</span></font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">的</span></font><font size=3><span class="normal105">HTML</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">,不包括</font><font size=3><span class="normal105">CSS</span></font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">的</span></font><font size=3><span class="normal105">HTML</span></font><span class="normal105"><font face="宋体" lang="ZH-CN" size=3>,<span class="normal105">或简单文本。</span></font></span></span></p>
<p align="JUSTIFY"><span class="normal105"><font size=3><span class="normal105">XSLT</span></font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">的用途也很广泛。你可以使用你自己的</span></font><font size=3><span class="normal105">XML</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">信息来为你的同事或用户合成新的数据实例;可以直接从数据源生成</font><font size=3 class="normal105">HTML/CSS</font><font face="宋体" lang="ZH-CN" size=3 class="normal105">网页;可以将你的数据以简单文本方式传递给其它系统;可以建立操作系统的</font><font size=3><span class="normal105">script</span></font><span class="normal105"><font face="宋体" lang="ZH-CN" size=3 class="normal105">。。。。。。</font></span></span></p>
<p align="JUSTIFY"> <span class="normal105"><font face="宋体" lang="ZH-CN" size=3><span class="normal105">也就是说,你可以在开始时按你喜欢的方式来组织数据,以最好的实现业务目标;同时,你却仍然可以用无数种方式来应用这些数据。这本身就是</span></font><font size=3><span class="normal105">XML</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">的目标,现在</font><font size=3><span class="normal105">XSLT</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">时它成为现实。</font></span></p>
<b>
<p align="JUSTIFY"><span class="normal105">W3C<font face="宋体" lang="ZH-CN">提供的非标准化实例</font></span></p>
</b>
<p align="JUSTIFY"><span class="normal105"><font size=3><span class="normal105">1</span></font><span class="normal105"><font face="宋体" lang="ZH-CN" size=3>.<span class="normal105">关于文档</span></font></span></span></p>
<p align="JUSTIFY"> <span class="normal105"><font face="宋体" lang="ZH-CN" size=3><span class="normal105">这个例子是把符合一个简单的</span></font><span class="normal105"><font size=3>DTD</font><font face="宋体" lang="ZH-CN" size=3>的文档转化为</font></span><font size=3><span class="normal105">XHTML</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">的样式表。</font><font size=3><span class="normal105">DTD</span></font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">是:</span></font></span></p>
<font size=3>
<p align="JUSTIFY"><span class="normal105"><!ELEMENT doc (title,
chapter*)></span></p>
<p align="JUSTIFY"><span class="normal105"><!ELEMENT chapter (title,
(para|note)*, section*)></span></p>
<p align="JUSTIFY"><span class="normal105"><!ELEMENT section (title,
(para|note)*)></span></p>
<p align="JUSTIFY"><span class="normal105"><!ELEMENT title (#PCDATA|emph)*></span></p>
<p align="JUSTIFY"><span class="normal105"><!ELEMENT para (#PCDATA|emph)*></span></p>
<p align="JUSTIFY"><span class="normal105"><!ELEMENT note (#PCDATA|emph)*></span></p>
<p align="JUSTIFY"><span class="normal105"><!ELEMENT emph (#PCDATA|emph)*></span></p>
</font><font face="宋体" lang="ZH-CN" size=3>
<p align="JUSTIFY"><span class="normal105">样式表是:</span></p>
</font><font size=3>
<p align="JUSTIFY"><span class="normal105"><xsl:stylesheet version="1.0"</span></p>
<p align="JUSTIFY"><span class="normal105"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</span></p>
<p align="JUSTIFY"><span class="normal105"> xmlns="http://www.w3.org/TR/xhtml1/strict"></span></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><span class="normal105"><xsl:strip-space elements="doc
chapter section"/></span></p>
<p align="JUSTIFY"><span class="normal105"><xsl:output</span></p>
<p align="JUSTIFY"><span class="normal105"> method="xml"</span></p>
<p align="JUSTIFY"><span class="normal105"> indent="yes"</span></p>
<p align="JUSTIFY"><span class="normal105"> encoding="iso-8859-1"</span></p>
<p align="JUSTIFY"><span class="normal105">/></span></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><span class="normal105"><xsl:template match="doc"></span></p>
<p align="JUSTIFY"> <span class="normal105"><html></span></p>
<p align="JUSTIFY"> <span class="normal105"><head></span></p>
<p align="JUSTIFY"> <span class="normal105"><title></span></p>
<p align="JUSTIFY"> <span class="normal105"><xsl:value-of select="title"/></span></p>
<p align="JUSTIFY"> <span class="normal105"></title></span></p>
<p align="JUSTIFY"> <span class="normal105"></head></span></p>
<p align="JUSTIFY"> <span class="normal105"><body></span></p>
<p align="JUSTIFY"> <span class="normal105"><xsl:apply-templates/></span></p>
<p align="JUSTIFY"> <span class="normal105"></body></span></p>
<p align="JUSTIFY"> <span class="normal105"></html></span></p>
<p align="JUSTIFY"><span class="normal105"></xsl:template></span></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><span class="normal105"><xsl:template match="doc/title"></span></p>
<p align="JUSTIFY"> <span class="normal105"><h1></span></p>
<p align="JUSTIFY"> <span class="normal105"><xsl:apply-templates/></span></p>
<p align="JUSTIFY"> <span class="normal105"></h1></span></p>
<p align="JUSTIFY"><span class="normal105"></xsl:template></span></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><span class="normal105"><xsl:template match="chapter/title"></span></p>
<p align="JUSTIFY"> <span class="normal105"><h2></span></p>
<p align="JUSTIFY"> <span class="normal105"><xsl:apply-templates/></span></p>
<p align="JUSTIFY"> <span class="normal105"></h2></span></p>
<p align="JUSTIFY"><span class="normal105"></xsl:template></span></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><span class="normal105"><xsl:template match="section/title"></span></p>
<p align="JUSTIFY"> <span class="normal105"><h3></span></p>
<p align="JUSTIFY"> <span class="normal105"><xsl:apply-templates/></span></p>
<p align="JUSTIFY"> <span class="normal105"></h3></span></p>
<p align="JUSTIFY"><span class="normal105"></xsl:template></span></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><span class="normal105"><xsl:template match="para"></span></p>
<p align="JUSTIFY"> <span class="normal105"><p></span></p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -