新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国XML论坛<<     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 关于 XML 的一般性技术讨论,提供 XML入门资料 和 XML教程
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML基础 』 → XML简明教程(中国XML联盟版) 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 272671 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: XML简明教程(中国XML联盟版) 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     lychen1109 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      头衔:超级潜水员
      等级:大一新生
      文章:97
      积分:607
      门派:XML.ORG.CN
      注册:2003/10/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lychen1109发送一个短消息 把lychen1109加入好友 查看lychen1109的个人资料 搜索lychen1109在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lychen1109的博客楼主
    发贴心情 XML简明教程(中国XML联盟版)

    发信人: afternoon (下午的太阳), 信区: xml
    标  题: XML简明教程(1)
    发信站: 饮水思源站 (Fri Mar 23 16:35:34 2001), 转信
      
    译者:孙一中  董晓雨
    来源:中国XML联盟  http://www.xml.org.cn
      
    第1课: 处理XML元素
    ----------------------------------------------------------------------------
    ----
    什么是XML元素?
    XML是一种标识语言,一组用来创建描述数据的语法标签的规则集。一个XML元素是由开
    始标签、结束标签以及标签之间的数据构成的。开始和结束标签用来描述标签之间的数
    据。标签之间的数据被认为是元素的值。例如,在下面一个XML元素的例子中,元素"di
    rector"的值是"Ed Wood"。
    <director>Ed Wood</director>
    元素名("director")允许你把"Ed Wood"这个值标出来,这样你就能把这些数据同另外
    类似的数据区分开来。例如,有可能另一个元素的值也是"Ed Wood"。
    <actor>Ed Wood</actor>
    由于每个元素都有不同的标签名,所以你能很容易把上面两个元素的值区别开来。如果
    从语义上没有办法把数据标出来,两个有同样值的元素会混淆起来。
      

    属性
    一个元素可以包含一个或多个属性,属性是一个由“=”隔开的名称值,如:
    <CITY ZIP="01085">Westfield</CITY>
    在上面的例子中,ZIP="01085"是元素<CITY>的一个属性。属性用来给一个元素添加附加
    的、次要的信息,通常是元信息,属性还可以使用缺省值,而元素却不能这样做。元素
    的每一个属性可以以任意顺序进行说明,但仅能说明一次。
    此外,XML标签对大小写敏感,因此以下这三个是不同的元素。
    <City><CITY><city>


    [此贴子已经被admin于2003-11-27 16:15:49编辑过]

       收藏   分享  
    顶(4)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2003/10/7 23:29:00
     
     lychen1109 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      头衔:超级潜水员
      等级:大一新生
      文章:97
      积分:607
      门派:XML.ORG.CN
      注册:2003/10/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lychen1109发送一个短消息 把lychen1109加入好友 查看lychen1109的个人资料 搜索lychen1109在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lychen1109的博客2
    发贴心情 
    发信人: afternoon (下午的太阳), 信区: xml
    标  题: XML简明教程(2)
    发信站: 饮水思源站 (Fri Mar 23 16:37:06 2001), 转信
      
    译者:孙一中  董晓雨
    来源:中国XML联盟  http://www.xml.org.cn
    第2课: 处理XML文档
    ----------------------------------------------------------------------------
    ----
    什么是XML文档?
    一个基本的XML文档就是一个XML元素,它可以嵌套XML元素。例如,下面的XML元素“bo
    oks”就是一个有效的XML文档。
    <books>
       <book isbn="0345374827">
          <title>The Great Shark Hunt</title>
          <author>Hunter S. Thompson</author>
       </book>
    </books>
    处理指导
    构建一个基本的XML文档需要记住关键的四点:
    所有元素必须有结束标签;
    所有元素必须正确的嵌套(不允许交迭元素);

    所有特征值必须加引号;
    每一个文档都必须有一个唯一的第一元素和根节点。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2003/10/7 23:30:00
     
     lychen1109 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      头衔:超级潜水员
      等级:大一新生
      文章:97
      积分:607
      门派:XML.ORG.CN
      注册:2003/10/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lychen1109发送一个短消息 把lychen1109加入好友 查看lychen1109的个人资料 搜索lychen1109在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lychen1109的博客3
    发贴心情 
    发信人: afternoon (下午的太阳), 信区: xml
    标  题: XML简明教程(3)
    发信站: 饮水思源站 (Fri Mar 23 16:38:23 2001), 转信
      
    译者:孙一中  董晓雨
    来源:中国XML联盟  http://www.xml.org.cn
      
    第3课 处理XML数据岛
    ----------------------------------------------------------------------------
    ----
    什么是XML数据岛?
    数据岛是指存在于HTML页面中的XML代码。数据岛允许你在HTML页面中集成XML,对XML编
    写脚本,而不需要通过脚本或<OBJECT>标签读取XML。几乎所有能够存在于一个结构完整
    的XML文档中的东西都能存在于一个数据岛中。包括处理指示、DOCTYPE声明和内部子集
    。(注意,编码串不能放在数据岛中。)
    <XML>元素标记数据岛的开始,它的ID属性提供了一个可以用来引用数据岛的名称。
    数据岛的XML可以是内嵌的:
    <XML ID="XMLID">
       <customer>
          <name>Herbert Hanley</name>
          <custID>81422</custID>
       </customer>

    </XML>
    或者在XML标签中通过SRC属性引用:
    <XML ID="XMLID" SRC="customer.xml"></XML>
    也可以使用<SCRIPT>标签来创建一个数据岛:
    <SCRIPT LANGUAGE="xml" ID="XMLID">
      <customer>
        <name>Mark Hanson</name>
        <custID>81422</custID>
      </customer>
    </SCRIPT>

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2003/10/7 23:31:00
     
     lychen1109 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      头衔:超级潜水员
      等级:大一新生
      文章:97
      积分:607
      门派:XML.ORG.CN
      注册:2003/10/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lychen1109发送一个短消息 把lychen1109加入好友 查看lychen1109的个人资料 搜索lychen1109在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lychen1109的博客4
    发贴心情 
    发信人: afternoon (下午的太阳), 信区: xml
    标  题: XML简明教程(4)
    发信站: 饮水思源站 (Fri Mar 23 16:39:41 2001), 转信

    译者:孙一中  董晓雨
    来源:中国XML联盟  http://www.xml.org.cn
    第4课: 使用XML对象模型
    ----------------------------------------------------------------------------
    ----
    什么是XML对象模型?
    XML对象模型是一个对象集,可以使用这个对象集来访问或处理存储在XML文档中的数据
    。XML文档构成一颗树,树上的每一个元素可以看作是一个节点,具有不同属性和方法的
    对象代表了树和它的节点,每个节点包含文档中的实际数据。
    如何访问树中的节点?
    可以通过象脚本来访问树中的节点。这些对象是在解析器装载并解析XML文档时由XML解
    析器创建的。通过ID值可以引用树,或文档对象。在下面的例子中,MyXMLDocument是文
    档的对象的ID值,使用文档对象的属性和方法可以访问树的根和子节点对象。根,或文
    档元素,是最顶层的节点,子节点从根上扩展开形成XML树。根节点只可以在文档中出现
    一次。
    点击下面的数据岛可以展示用来访问每个节点的代码。根节点是<class>,它的子节点是
    <student>,这个子节点还有两个子节点<name>和<GPA>。
    <XML ID="MyXMLDocument">
      <class>
        <student studentID="13429">
          <name>Jane Smith</name>
          <GPA>3.8</GPA>
        </student>
      </class>
    </XML>
    下面列出了一些简单的属性和方法,可用来访问XML文档的节点。
    XMLDocument:返回对XML文档对象模式的引用。
    documentElement:返回XML文档的根节点。
    childNodes:返回节点的孩子节点目录。
    item:通过索引访问目录中的个别节点。索引值是从0开始的,所以item(0)返回第一个
    节点。
    text:返回节点的内容。
    下面是一个带有数据岛的HTML页面。数据岛被包含在<XML>元素中。
    <HTML>
       <HEAD>
           <TITLE>HTML with XML Data Island</TITLE>
       </HEAD>
       <BODY>
            <P>Within this document is an XML data island.</P>
            <XML ID="resortXML">
                <resorts>
                    <resort>Calinda Cabo Baja</resort>
                    <resort>Na Balam Resort</resort>
                </resorts>
            </XML>
       </BODY>
    </HTML>
    你能通过ID属性访问数据岛,“resortXML”成为文档对象的名称。你能利用这个对象的
    方法和属性访问它的根节点和孩子节点。在上面的例子中,根节点是<resorts>,孩子节
    点是<resort>。
    下面的代码访问第二个孩子节点<resort>并返回它的内容“Na Balam Resort”。
    resortXML.XMLDocument.documentElement.childNodes.item(1).text
    如何获得XML DOM树的信息?
    有以下几种方法和接口来获得DOM的信息。
    如果使用脚本语言,DOMDocument对象提供load、loadXML、save方法和xml属性。
    对Visual Basic 和 C 或 C++ 编程者来说,IXMLDOMDocument接口提供和DOMDocument对
    象同样的成员。
    IXMLDOMDocument也可以实现标准的COM接口,如IPersistStreamInit、IPersistMonike
    r和IStream。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2003/10/7 23:32:00
     
     lychen1109 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      头衔:超级潜水员
      等级:大一新生
      文章:97
      积分:607
      门派:XML.ORG.CN
      注册:2003/10/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lychen1109发送一个短消息 把lychen1109加入好友 查看lychen1109的个人资料 搜索lychen1109在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lychen1109的博客5
    发贴心情 
    发信人: afternoon (下午的太阳), 信区: xml
    标  题: XML简明教程(5)
    发信站: 饮水思源站 (Fri Mar 23 16:40:58 2001), 转信
      
    译者:孙一中  董晓雨
    来源:中国XML联盟  http://www.xml.org.cn
    第5课:使用XML名域
    ----------------------------------------------------------------------------
    ----
    什么是XML名域?
    XML名域是一组可以用作XML文档的元素或属性名称的名称集。为了避免元素之间出现相
    同名称的冲突,名域限定Web中的名称必须是唯一的。名域由某些URI(Universal Reso
    urce Identifier)来进行识别,不管是URL(Uniform Resource Locator),还是URN(
    Uniform Resource Number)都没有关系,它并不管指向的什么内容。URI使用简单,因
    为它们在Internet上是全球唯一的。
    名域可以显式声明,也可以缺省声明。在显式声明中可以定义一个简写形式或是一个词
    头来代替整个名域,可以使用这个词头来引用属于名域的元素。当节点包含不同名域的
    元素时,显式声明非常有用。缺省声明声明一个可以被所有元素访问的名域,而且并不
    定义词头。
    <BOOKS>
      <bk:BOOK xmlns:bk="urn:BookLovers.org:BookInfo"
               xmlns:money="urn:Finance:Money">

        <bk:TITLE>A Suitable Boy</bk:TITLE>
        <bk:PRICE money:currency="US Dollar">22.95</bk:PRICE>
      </bk:BOOK>
    </BOOKS>
    所有以"bk:"或"money:"开头的元素都可以看成是分别来自于名域"urn:BookLovers.org
    :BookInfo"或"urn:Finance:Money"。
    如何声明缺省名域?
    在名域声明时没有词头就属于文档的缺省名域,文档中所有没有词头的元素和属性都属
    于缺省名域。下面的例子声明了<BOOK>元素和<BOOK>中所有的元素(<TITLE>, <PRICE>
    , currency)都属于名域"urn:BookLovers.org:BookInfo."。
    <BOOK xmlns="urn:BookLovers.org:BookInfo">
      <TITLE>A Suitable Boy</TITLE>
      <PRICE currency="US Dollar">22.95</PRICE>
    </BOOK>

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2003/10/7 23:33:00
     
     lychen1109 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      头衔:超级潜水员
      等级:大一新生
      文章:97
      积分:607
      门派:XML.ORG.CN
      注册:2003/10/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lychen1109发送一个短消息 把lychen1109加入好友 查看lychen1109的个人资料 搜索lychen1109在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lychen1109的博客6
    发贴心情 
    发信人: afternoon (下午的太阳), 信区: xml
    标  题: XML简明教程(6)
    发信站: 饮水思源站 (Fri Mar 23 16:42:51 2001), 转信
      
    译者:孙一中  董晓雨
    来源:中国XML联盟  http://www.xml.org.cn
      
    第6课 使用XML Schema
    ----------------------------------------------------------------------------
    ----
    什么是XML Schema?
    XML Schema是一个基于XML的语法或schema规范,用来定义XML文档的标记方式。XML Sc
    hema是一个由Microsoft建议的schema规范,它与文档类型定义(DTD)相比具有很大的
    优势,而DTD是最初用来定义XML模型的schema规范。DTD存在很多缺点,包括使用非XML
    语法,不支持数据类型定义,不具有扩展性等。例如,DTD不允许把元素内容定义为另外
    一个元素,或字符串。想了解更多有关DTD的内容,可以参考W3C XML建议书。 XML Sch
    ema从几个方面改善了DTD,包括使用XML语法,支持数据类型定义和名域。例如,XML S
    chema允许你把一个元素说明为一个integer, float,Boolean, URL等类型。
    在Internet Explorer 5中的XML解析器可以解析使用DTD或XML Schema的XML文档。
    如何建立XML Schema?
    请在下面的XML文档中找一找每个节点的schema声明。
    <class xmlns="x-schema:classSchema.xml">
          <student studentID="13429">
             <name>Jane Smith</name>
             <GPA>3.8</GPA>
         </student>
    </class>
    你会注意到在上面文档中默认的名域是“x-schema:classSchema.xml”。这告诉解析器
    根据URL(“classSchema.xml”)上的schema(x-schema)来解析整个文档。
    下面是上面那个文档的完整的schema。注意schema的根元素中的名域声明。第一个(xml
    ns=”urn:schemas-microsoft-com:xml-data”)表明这个XML文档是一个XML Schema。第
    二个(xmlns:dt=”urn:schemas-microsoft-com:datatypes”)允许schema处理者在Elem
    entType和AttributeType声明中的type属性前加dt前缀来说明元素的类型和内容的特征

    <Schema  xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-mi
    crosoft-com:datatypes">
         <AttributeType name='studentID' dt:type='string' required='yes'/>
         <ElementType name='name' content='textOnly'>
         <ElementType name='GPA' content='textOnly' dt:type='float'/>
         <ElementType name='student' content='mixed'>
             <attribute type='studentID'/>
             <element type='name'/>
             <element type='GPA'/>
         </ElementType>
         <ElementType name='class' content='eltOnly'>
             <element type='student'/>
         </ElementType>
    </Schema>
    用来定义元素和属性的声明元素如下所示:
    元    素
    说    明
    ElementType 把类型和条件赋给一个元素,可以包含子元素
    AttributeType 把类型和条件赋给一个属性
    attribute 声明以前定义过的属性类型可以出现在名为ElementType的元素的作用域中
    element 声明以前定义过的元素类型可以出现在名为ElementType的元素的作用域中
     
    Schema的内容以最深层的元素的“AttributeType”和“ElementType”声明开头。
    <AttributeType name='studentID' dt:type='string' required='yes'/>
    <ElementType name='name' content='textOnly'>
    <ElementType name='GPA' content='textOnly' dt:type='float'/>
    ElementType声明后接着就是它的属性和子元素,如果一个元素有属性或子元素,必须把
    这种方法包含在它的ElementType声明中,或者是必须在它们自己的 ElementType 或 A
    ttributeType声明中进行前导声明。
    <ElementType name='student' content='mixed'>
         <attribute type='studentID'/>
         <element type='name'/>
         <element type='GPA'/>
    </ElementType>
    不同于DTDs,XML Schema允许有一个开放的内容模式,你可以进行定义数据类型、使用
    默认值等等操作而不必限定内容。
    在下面的schema中,<GPA> 元素的类型被定义并有一个默认值,但在 <student> 元素中
    没有其他节点被声明。
    <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-mic
    rosoft-com:datatypes">
          <AttributeType name="scale" default="4.0"/>
          <ElementType name="GPA" content="textOnly" dt:type="float">
             <attribute type="scale"/>
          </ElementType>
          <AttributeType name="studentID"/>
          <ElementType name="student" content="eltOnly" model="open" order="many
    ">
             <attribute type="studentID"/>
             <element type="GPA"/>
          </ElementType>
    </Schema>
    上面的schema允许你只验证你所关心的区域,这使你对文档的验证级别有更多的控制,
    并允许你使用schema提供的一些特性而不必严格确认。
    尝试一下!
    试着处理一下下面的XML文档的schema。
    <order>
      <customer>
        <name>Fidelma McGinn</name>
        <phone_number>425-655-3393</phone_number>
      </customer>
      <item>
        <number>5523918</number>
        <description>shovel</description>
        <price>39.99<price>
      </item>
      <date_of_purchase>1998-10-23</date_of_purchase>
      <date_of_delivery>1998-11-03</date_of_delivery>
    </order>
    如果你处理完schema,在XML Validator中运行 .
    下载MSDN Online的区域中提供了一套 XML sample files, 包括一个有相关schema的XM
    L文档。下载这些示例程序可以与XML文档和schema一起运行。如果你想要根据一个sche
    ma来测试XML的有效性,可以从XML Validator 处下载文档或查看Mime Type Viewer中的
    XML文件。
    一些说明:
    ElementType和 AttributeType 声明必须放在attribute和element内容声明之前。例如
    ,在上面的schema中,<GPA>元素的ElementType声明必须放在<student>元素的Element

    Type声明之前。 
    order属性的默认值是建立在content属性的值上的。当content值为“eltOnly”时,or
    der默认值是seq。当content值为“mixed”时,order默认值是“many”。see 如果想了
    解有关这些缺省值的信息,可以查看 XML Schema Reference。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2003/10/7 23:33:00
     
     lychen1109 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      头衔:超级潜水员
      等级:大一新生
      文章:97
      积分:607
      门派:XML.ORG.CN
      注册:2003/10/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lychen1109发送一个短消息 把lychen1109加入好友 查看lychen1109的个人资料 搜索lychen1109在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lychen1109的博客7
    发贴心情 
    发信人: afternoon (下午的太阳), 信区: xml
    标  题: XML简明教程(7)
    发信站: 饮水思源站 (Fri Mar 23 16:43:40 2001), 转信
      
    译者:孙一中  董晓雨
    来源:中国XML联盟  http://www.xml.org.cn
    第7课:在XML文档中使用数据类型
    ----------------------------------------------------------------------------
    ----
    什么是XML文档中的数据类型?
    XML文档中的数据类型是赋给实例中一个元素的类型,可以使用dt:dt属性来实现,也可
    以通过一个XML Schema,一个XML文档的正式定义来实现。此外,数据类型可以声明为元
    素,XML解析器使用数据类型信息来验证文档的有效性。
    以前,XML元素的值局限于一个单一的类型String,因此想要处理XML文档的开发者需要
    花费大量的时间来把应用程序中的所有值都转换为一种类型。输入数据时解析器将会注
    意到数据类型的转换。此外,因为这些值都赋予一个特定的数据类型,所以对这些值的
    转换遵循要数据类型的规范,这就提供了一种验证用户输入有效性的方法。
    除了有一个String的值,每一个XML元素也可以有一个类型定义的值,例如下面的XML元
    素:
    <date>1970-09-30</date> 
    如何对XML元素值进行数据类型定义?
    看一看下面的XML文档:
    <?xml version="1.0"?>
    <weather xmlns="x-schema:weatherSchema.xml">
      <date>1970-09-30</date>
      <degrees>67.5</degrees>
    </weather>
    其中"weatherSchema.xml"是下面的文件。
    <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-mic
    rosoft-com:datatypes">
      <ElementType name="date" content="textOnly" dt:type="date"/>
      <ElementType name="degrees" content="textOnly" dt:type="float"/>
      <ElementType name="weather" content="eltOnly">
        <element type="date"/>
        <element type="degrees"/>
      </ElementType>
    </Schema>
    上面的schema是一个把数据类型赋给前面的XML文档的正式定义。属性xmlns是声明名域
    的XML关键字,声明'xmlns:dt="urn:schemas-microsoft-com:datatypes"'把dt赋给名域
    "urn:schemas-microsoft-com:datatypes.",任何定义为dt的类型都属于名域"urn:sch
    emas-microsoft-com:datatypes.".
    Schema 和数据类型名域要在XML Schema的开始进行声明,这样dt词头可以用来指示数据
    类型定义中使用那种 类型的属性。
    <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-mic
    rosoft-com:datatypes">
      <ElementType name="NUMBER" content="textOnly" dt:type="number"/>
    对XML文档中的元素进行类型定义
    元素可以通过元素实例的 dt 属性进行类型定义,而要这样做需要在XML文档的开始声明
    数据类型名域。
    <NUMBERS xmlns:dt="urn:schemas-microsoft-com:datatypes">
      <NUMBER dt:dt="number">44533</NUMBER>
    </NUMBERS>
    dt词头现在可以作为dt的属性把数据类型赋给元素的实例。
    在XML文档中把数据类型作为元素使用
    除了在元素的实例或schema中声明数据类型外,数据类型也可以作为元素使用,比较下
    面的例子,第一个例子在元素的实例中声明数据类型:
    <shoes xmlns:dt="urn:schemas-microsoft-com:datatypes" id="f1121" sizes="mens
    "/>
    <sizes id="mens">
      <size dt:dt="int">8</size>
      <size dt:dt="int">10</size>
      <size dt:dt="int">12</size>
    </sizes>
    第二个例子把类型声明为元素:
    <shoes xmlns:dt="urn:schemas-microsoft-com:datatypes" id="f1121" sizes="arra
    y1"/>

    <array id="array1">
      <dt:int>8</dt:int>
      <dt:int>10</dt:int>
      <dt:int>12</dt:int>
    </array>
    而通过schema是不可能对这种元素进行类型定义的。
    在 XML Data Types Reference中,有一个可以在 XML文档中使用的数据类型的列表。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2003/10/7 23:34:00
     
     lychen1109 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      头衔:超级潜水员
      等级:大一新生
      文章:97
      积分:607
      门派:XML.ORG.CN
      注册:2003/10/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lychen1109发送一个短消息 把lychen1109加入好友 查看lychen1109的个人资料 搜索lychen1109在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lychen1109的博客8
    发贴心情 
    发信人: afternoon (下午的太阳), 信区: xml
    标  题: XML简明教程(8)
    发信站: 饮水思源站 (Fri Mar 23 16:44:50 2001), 转信
      
    译者:孙一中  董晓雨
    来源:中国XML联盟  http://www.xml.org.cn
    第8课:访问经过类型定义的XML值
    ----------------------------------------------------------------------------
    ----
    什么是经过类型定义的XML值?
    经过类型定义的XML值是指在XML Schema中被指定数据类型的元素值。XML解析器使用sc
    hema来确认文档。XML Schema信息可以放在schema文件中,也可以放在本身的XML文档中

    如何访问经过类型定义的XML值?
    可以通过XML对象模型访问经过类型定义的数据。就好象你能通过调用元素节点的nodeV
    alue属性找到元素值一样,你可以调用元素本身的nodeTypedValue属性找到经过类型定
    义的元素值。
    例如,考虑一下下面的XML文档:
    <?xml version="1.0"?>
    <weather xmlns="x-schema:weatherSchema.xml">
          <date>1970-09-30</date>
          <degrees>67.5</degrees>

    </weather>
    其中“weatherSchema.xml”是下面这个文件:
    <Schema xmlns="urn:schemas-microsoft-com:xml-data"xmlns:dt="urn:schemas-micr
    osoft-com:datatypes">
           <ElementType name="date" content="textOnly" dt:type="date"/>
           <ElementType name="degrees" content="textOnly" dt:type="float"/>
           <ElementType name="weather" content="eltOnly"/>
               <element type="date"/>
               <element type="degrees"/>
           </ElementType>
    </Schema>
    如果你要定位<degrees>这个元素(xmlDocument.documentElement.childNodes.item(1
    )),你可以按如下方式调用nodeTypedValue来访问它的类型定义值:
    (xmlDocument.documentElement.childNodes.item(1).nodeTypedValue)。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2003/10/7 23:34:00
     
     lychen1109 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      头衔:超级潜水员
      等级:大一新生
      文章:97
      积分:607
      门派:XML.ORG.CN
      注册:2003/10/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lychen1109发送一个短消息 把lychen1109加入好友 查看lychen1109的个人资料 搜索lychen1109在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lychen1109的博客9
    发贴心情 
    发信人: afternoon (下午的太阳), 信区: xml
    标  题: XML简明教程(9)
    发信站: 饮水思源站 (Fri Mar 23 16:46:27 2001), 转信
      
    译者:孙一中  董晓雨
    来源:中国XML联盟  http://www.xml.org.cn
      
    第9课:使用C++ XML DSO
    ----------------------------------------------------------------------------
    ----
    什么是C++ XML DSO?
    Microsoft? Internet Explorer 5中内嵌了一个C++数据源对象(DSO),可以用来把XML连
    接到HTML中。Microsoft? Internet Explorer 4中内嵌的Java XML DSO在Internet Exp
    lorer 5中仍然支持,但是新的C++ DSO有更好的性能,还可以直接连接XML数据岛。
    如何把XML连接到HTML上?
    考虑下面的XML文件:
    <universities>
      <university>
        <name>UCSB</name>
        <location>Santa Barbara, CA</location>
      </university>
      <university>
        <name>University of Texas at Arlington</name>
        <location>Arlington, TX</location>
      </university>
      <university>
        <name>USM</name>
        <location>Hattiesburg, MS</location>
      </university>
      <university>
        <name>Baylor</name>
        <location>Waco, TX</location>
      </university>
    </universities>
    可以用以下的HTML把这个XML连接到一个重复表中:
    <XML ID=xmlDoc src="universities.xml"></XML>
    <TABLE DATASRC="#xmlDoc" BORDER=1>
      <THEAD><TH>NAME</TH><TH>LOCATION</TH></THEAD>
      <TR>
        <TD><SPAN DATAFLD="name"></SPAN></TD>
        <TD><SPAN DATAFLD="location"></SPAN></TD>
      </TR>
    </TABLE>
    这里不需要<APPLET> 或 <OBJECT>标签,因为XML DSO已经为你完成了这些工作
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2003/10/7 23:34:00
     
     lychen1109 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      头衔:超级潜水员
      等级:大一新生
      文章:97
      积分:607
      门派:XML.ORG.CN
      注册:2003/10/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lychen1109发送一个短消息 把lychen1109加入好友 查看lychen1109的个人资料 搜索lychen1109在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lychen1109的博客10
    发贴心情 
    发信人: afternoon (下午的太阳), 信区: xml
    标  题: XML简明教程(10)
    发信站: 饮水思源站 (Fri Mar 23 16:47:22 2001), 转信

    译者:孙一中  董晓雨
    来源:中国XML联盟  http://www.xml.org.cn

    第10课 :在C++ XML DSO中使用主/细节特征
    ----------------------------------------------------------------------------
    ----
    什么是主/细节特征?
    新的主/细节特征允许你连接到一个分层纪录集的当前记录上,这就意味着你可以把当前
    纪录的子元素连接到一个截然不同的表中。例如,考虑一下的XML:
    <orders>
      <order order_number="2233">
        <customer>
          <name>John Smith</name>
          <custID>192883</custID>
        </customer>
        <item>
          <name>Fly Swatter</name>
          <price>9.99</price>
        </item>
      </order>
      <order order_number="2234">
        <customer>
          <name>Marea Angela Castaneda</name>
          <custID>827145</custID>
        </customer>
        <item>
          <name>Fly Paper</name>
          <price>15.99</price>
        </item>
      </order>
      <order order_number="2235">
        <customer>
          <name>Amy Jones</name>
          <custID>998022</custID>
        </customer>
        <item>
          <name>Mosquito Netting</name>
          <price>38.99</price>
        </item>
      </order>
    </orders>
    你可以允许你的用户通过ID来定位订单,并显示(也仅能显示)当前订单上的客户和项
    目信息,你的用户并不能查看所有订单的信息——仅能查看自己感兴趣的。
    如何连接到细节?
    连接到层次结构中的底层(细节信息)的关键是了解你的数据的结构,上面的XML在根元
    素<orders>中含有有三个元素。基于XML DSO所采用的试探法,每一个订单都映射到一个
    包含"order_number"、 "customer"、 和 "item"等域的行集中。"order_number"列包含
    "order_number"属性的值,"customer"和"item"列包含指向各自的"customer"和"item"
    纪录集的指针。"customer"记录集中包含带有"name"和"custID"域的元素的值,"item"
    记录集中包含带有"name"和"price"域的元素的值。
    这样,在顶层("orders")纪录集中,你可以找到"order_number"的值,然后允许你的
    用户通过"order_number"定位订单。
    <P>ORDER NUMBER: <SPAN DATASRC="#xmlDoc" DATAFLD="order_number"></SPAN></P>
    现在再添加几个按钮来帮助用户浏览"orders"纪录集。
    <INPUT TYPE=BUTTON VALUE="Previous Order" onclick="xmlDoc.recordset.movePrev
    ious()">
    <INPUT TYPE=BUTTON VALUE="Next Order" onclick="xmlDoc.recordset.moveNext()">

    为了在当前纪录的子元素中检索这个值,创建一张表并把表的 DATASRC 属性设置为"#x
    mlDoc",就和上面所作的一样,但是这时也要把它的 DATAFLD 属性设置为 "customer"
    。这是为了告诉表连接到"customer"纪录集中的数据上,而"customer"纪录集由"order
    s"纪录集中的"customer"域的指针指向。
    <TABLE DATASRC="#xmlDoc" DATAFLD="customer" BORDER>
      <THEAD><TH>NAME</TH><TH>ID</TH></THEAD>
      <TR>
        <TD><SPAN DATAFLD="name"></SPAN></TD>
        <TD><SPAN DATAFLD="custID"></SPAN></TD>
      </TR>
    </TABLE>
    接着对"item"元素作同样的处理。
    <TABLE DATASRC="#xmlDoc" DATAFLD="item" BORDER=1>
      <THEAD><TR><TH>ITEM</TH><TH>PRICE</TH></TR></THEAD>
      <TR>
        <TD><SPAN DATAFLD="name"></SPAN></TD>
        <TD><SPAN DATAFLD="price"></SPAN></TD>
      </TR>
    </TABLE>
    现在,当用户点击按钮并移到纪录集中的后一个或前一个纪录时,表中的数据会相应的
    改变到当前纪录。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2003/10/7 23:35:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML基础 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/11/26 1:00:37

    本主题贴数136,分页: [1] [2] [3] [4]... [14]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    186.768ms