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

📄 querying&transforming xml.htm

📁 这是一本关于XML的学习的书
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<TITLE></TITLE>
<style type="text/css">
<!--
.normal10 {  font-size: 11pt}
.normal9 {  font-size: 9pt}
p{  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
 }
.normal11 {  font-size: 11pt; line-height: 14pt}

-->
</style>
<link rel="stylesheet" href="../../Global.css" tppabs="http://www.xml.org.cn:8188/Global.css"></HEAD>
<BODY>

<p ALIGN="CENTER">[<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="92">&nbsp;</td>
    <td width="53%" height="92"> 
      <h2 align="center"><b><font face="宋体" lang="ZH-CN">查询和转换XML</font></b></h2>
      <dl> 
        <dt> 
          <div align="center"><span class="normal9">作者:<br>
            <a href="mailto:davidsch@microsoft.com"><b>David Schach</b></a><b>, 
            Microsoft Corporation<br />
            <a href="mailto:jlapp@webmethods.com">Joe Lapp</a>, webMethods Inc.<br />
            <a href="mailto:jonathan@texcel.no">Jonathan Robie</a>, Texcel Inc.</b></span></div>
        </dt>
      </dl>
      </td>
    <td width="25%" height="92"><a name="top"></a></td>
  </tr>
  <tr> 
    <td colspan="3" height="2859" > 
      <ol>
        <li><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size="3"><a href="#1">简介</a></font></span></span></li>
        <li><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size="3"><a href="#2">XSL概述</a></font></span></span></li>
        <li><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size="3"><a href="#3">附加的查询功能</a></font></span></span></li>
        <li><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size="3"><a href="#4">与XML-QL的关系 
          </a> </font> </span> </span>
          <ol>
            <p align="JUSTIFY"> 
            <li><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size="3">变量和连接</font></span></span></li>
            <li><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size="3">对象标识符</font></span></span></li>
            <li><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size="3">多重XML源的数据集成</font></span></span></li>
            <li><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size="3">数据库管理</font></span></span></li>
          </ol>
          <p align="JUSTIFY"> 
        </li>
        <li><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size="3"><a href="#5">总结</a> 
          </font></span></span></li>
      </ol>
      <font face="宋体" lang="ZH-CN" size=3>
<hr size="1" align="center" width="100%">
      </font> 
      <ol>
        <p></p>
      </ol>
      1. <font face="宋体" lang="ZH-CN" size="3"><a name="1"></a>简介</font> 
      <p></p>
      <p align="JUSTIFY"><font face="宋体" lang="ZH-CN" size="3"><span class="normal11"><a href="../../../www.w3.org/TR/REC-xml" tppabs="http://www.w3.org/TR/REC-xml"><span class="normal105"><span class="normal105"><span class="normal105">XML1.0标准</span></span></span></a><span class="normal105"><span class="normal105"><span class="normal105">使得网上的数据交换有了标准的方式。这样必然要有一种机制,通过它能够查询XML、对获取的数据定型(包括数据滤除和排序)、XML语法间的转换以及这些数据通常在用户端的表现。</span></span></span></span></font></p>
      <p align="JUSTIFY"><span class="normal105"><span class="normal105"><span class="normal11"><font face="宋体" lang="ZH-CN" size="3"><span class="normal11"><span class="normal105">在“XM<span class="normal105">L查询语言XML-QL”<span class="normal105">( 
        <a href="../../../www.w3.org/TR/NOTE-xml-ql/index.htm" tppabs="http://www.w3.org/TR/NOTE-xml-ql/" class="normal105">http://www.w3.org/TR/NOTE-xml-ql/</a> 
        )</span>中建议的方法和正由<a href="../../../www.w3.org/TR/WD-xsl" tppabs="http://www.w3.org/TR/WD-xsl" class="normal105">XSL工作小组</a>定义和转换</span>语言有着惊人的相似。这两种方法的结合将会为XML提供强大而灵活的查询和转换语言</span></span><span class="normal105">。</span></font></span></span></span></p>
      <p align="JUSTIFY"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal11"><font face="宋体" lang="ZH-CN" size="3"><span class="normal11"><span class="normal105">XSL和XSL模式语言作为查询和转换语言发展的基础有独特的优势:</span></span></font></span></span></span></span></p>
      <ol>
        <p align="JUSTIFY"> 
        <li><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal11"><span class="normal11"><font face="宋体" lang="ZH-CN" size="3" class="normal105">W3C正在研究中</font></span></span></span></span></span></span></span></span></span></span></li>
        <li><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal11"><span class="normal11"><font face="宋体" lang="ZH-CN" size="3"><span class="normal105">模式(查询)语法、转换功能和格式化语法的模块化</span></font></span></span></span></span></span></span></span></span></span></li>
        <li><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal11"><span class="normal11"><font face="宋体" lang="ZH-CN" size="3"><span class="normal105">XML定型和表现方式的生成有统一的机制</span></font></span></span></span></span></span></span></span></span></li>
        <li><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal11"><span class="normal11"><font face="宋体" lang="ZH-CN" size="3"><span class="normal105">规则、非规则甚至是递归的数据结构都能适用</span></font></span></span></span></span></span></span></span></span></span></li>
      </ol>
      2. <a name="2"></a>XSL概述 
      <p><font face="宋体" lang="ZH-CN" size=3 class="normal105">XSL由三个模块组成:</font></p>
      <ol>
        <p align="JUSTIFY">
        <li><font face="宋体" lang="ZH-CN" size="3" class="normal105">XSL模式(XSL 
          Pattern):</font></li>
        <p></p>
        <p align="JUSTIFY"><font face="宋体" lang="ZH-CN" size="3" class="normal105">XSL定义一种“模式”句法标识XML文档中的节点。这项功能类似于SQL中WHERE语句.</font></p>
        <p align="JUSTIFY">
        <li><font face="Albertus (W1)" size=3><span class="normal105"><span class="normal105">“</span></span></font><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size=3 class="normal105">XSL</font><font face="Albertus (W1)" size=3><span class="normal105">”</span></font><font face="宋体" lang="ZH-CN" size=3 class="normal105">名域</font></span><font face="宋体" lang="ZH-CN" size=3 class="normal105">(</font><font face="Albertus (W1)" size=3 class="normal105">“</font><font face="宋体" lang="ZH-CN" size=3 class="normal105">XSL</font><font face="Albertus (W1)" size=3><span class="normal105">”</span></font><span class="normal105"><font face="宋体" lang="ZH-CN" size=3><span class="normal105"> 
          </span></font></span><font face="宋体" lang="ZH-CN" size=3><span class="normal105">Namespace):</span></font></span></li>
        <p></p>
        <p align="JUSTIFY"><span class="normal105"><font face="宋体" lang="ZH-CN" size="3"><span class="normal105">XSL的转换部分能表达为一个XML名域,它控制将查询结果具体化为一个XML文档。</span></font></span></p>
        <p align="JUSTIFY">
        <li><font face="Albertus (W1)" size=3><span class="normal105"><span class="normal105">“</span></span></font><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size=3>fo</font><font face="Albertus (W1)" size=3><span class="normal105">”</span></font><span class="normal105"><font face="宋体" lang="ZH-CN" size=3><span class="normal105">名域(</span></font><font face="Albertus (W1)" size=3 class="normal105">“</font></span><font face="宋体" lang="ZH-CN" size=3 class="normal105">fo</font><font face="Albertus (W1)" size=3 class="normal105">”</font><font face="宋体" lang="ZH-CN" size=3> 
          <span class="normal105">Namespace):</span></font></span></span></li>
        <p></p>
      </ol>
      <p align="JUSTIFY"><font face="宋体" lang="ZH-CN" size="3"><span class="normal11"><span class="normal105">XSL格式化的功能可以用一个XML的语法文件来表达。</span></span></font></p>
      <p align="JUSTIFY"><span class="normal11"><span class="normal11"><font face="宋体" lang="ZH-CN" size=3><span class="normal11"><span class="normal105">XSL模式句法还比较简洁,不能提供强大的查询能力。它参照了目录导航的方法。作为一种基于字符串的语法,它能够在属性值、脚本语言和URL中定位。</span></span></font><span class="normal105"><span class="normal11"><font face="Albertus (W1)" size=3><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105">“</span></span></span></span></span></span></font><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size=3><span class="normal105">XSL</span></font><font face="Albertus (W1)" size=3 class="normal105">”</font></span><font face="宋体" lang="ZH-CN" size=3><span class="normal105">名域定义了一套命令集合,实现将查询结果具体</span></font></span><font face="宋体" lang="ZH-CN" size=3 class="normal105">化为XML</font></span><font face="宋体" lang="ZH-CN" size=3><span class="normal105">。一个XSL文档包括XSL名域中规定的元素,他们可能是</span></font></span></span></span></span></span></span><span class="normal105"><span class="normal105"><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size=3 class="normal105">:</font></span></span></span></span></span></p>
      <ol>
        <p align="JUSTIFY"> 
        <li><span class="normal11"><font face="宋体" lang="ZH-CN" size="3" class="normal105">定义构造部分输出的模块</font></span></li>
        <li><font face="宋体" lang="ZH-CN" size="3"><span class="normal105">对来自</span><span class="normal105">XML源文件中的数据应用模板</span></font></li>
        <li><font face="宋体" lang="ZH-CN" size="3" class="normal105">将该模板结合查询</font></li>
        <li><font face="宋体" lang="ZH-CN" size="3"><span class="normal105">将一套这样的查询</span>-<span class="normal105">模板结合进行组合</span>,<span class="normal105">用于内部或者递归处理</span></font></li>
        <li><font face="宋体" lang="ZH-CN" size="3" class="normal105">将查询结果进行过滤和排序</font></li>
        <p></p>
      </ol>
      <p align="JUSTIFY"><font face="宋体" lang="ZH-CN" size=3><span class="normal105">XSL的格式化性能用XML的</span></font>“<span class="normal105"><font face="宋体" lang="ZH-CN" size=3 class="normal105">fo</font></span><font face="Albertus (W1)" size=3 class="normal105">”</font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">名域来表示,它完全独立于整个转换过程。</span></font></p>
      <p align="JUSTIFY"></p>
      3. <a name="3"></a><font face="宋体" lang="ZH-CN" size=3>附加的查询功能 </font> 
      <ol>
        <p></p>
      </ol>
      <p><font face="宋体" lang="ZH-CN" size=3><span class="normal11"><span class="normal105">由Microsoft、Texcel和Webmethods合写的相关文档</span></span></font><span class="normal11"><font face="Albertus (W1)" size=3 class="normal105">”</font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">XQL建议</span></font><font face="Albertus (W1)" size=3><span class="normal105"><span class="normal105"><span class="normal105">”</span></span></span></font><span class="normal105"><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size=3 class="normal105">(</font><font face="Albertus (W1)" size=3 class="normal105">“</font></span></span></span><font face="宋体" lang="ZH-CN" size=3><span class="normal105">XQL</span> 
        <span class="normal105">Proposal</span></font><font face="Albertus (W1)" size=3 class="normal105">”</font><font face="宋体" lang="ZH-CN" size=3><span class="normal105">)可看作为XSL模式语<span class="normal105">法</span>的扩展集,它提供了布尔操作,多种比较操作和位置、范围等性质</span>。</font></span></p>
      <ol>
        <div align="left"></div>
      </ol>
      <p><span class="normal11"><font face="宋体" lang="ZH-CN" size=3 class="normal11"><span class="normal105">类似于XSL模式语法或XQL的语言还能在XSL之外的其它许多环境中使用,用来查询个别文档或多个文档集合,无论这些文档是表达为文本或DOM节点的形式。查询语句可以作为字符串嵌入编程语言或XML</span>/<span class="normal105">HTML<span class="normal105">的属性</span>中</span>。<span class="normal105">而且</span>,<span class="normal105">这种方法并不对结果的表现格式有任何的强制</span>;<span class="normal105">结果可以返回为XML文本、指向节点的指针、表<span class="normal105">示</span>文档区域的结构或者为如字符串、整数、布尔数、数组等原始结构。其灵活性允许这些语言能在W3C<span class="normal105">的</span>许多环境中使用。</span></font></span></p>
      <p>4. <a name="4"></a><font face="宋体" lang="ZH-CN" size=3>与XML-QL的关系 </font></p>
      <ol>
        <p></p>
      </ol>
      <p align="JUSTIFY"><font face="宋体" lang="ZH-CN" size="3"><span class="normal11"><span class="normal105">XML-QL阐述的许多功能常与XSL转换和模式语言提供的功能类似。两种方式都是块结构且面向模板,<span class="normal105">都能返<span class="normal105">回</span>树</span>或图表</span>。<span class="normal105">在输出中生成新元素以及对XML进行查询。最大的差别在于各自的语法。XSL采用类似URL的语法来规定模式、查询和XML的内在结构对查询块定界。</span></span></font></p>
      <p align="JUSTIFY"></p>
      <p align="JUSTIFY"><span class="normal11"><span class="normal11"><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" class="normal105">&lt;xsl:for-each 
        select = "XSL pattern"&gt;<br>
        &lt;!-- Construct result --&gt;<br>

⌨️ 快捷键说明

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