以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  XML简明教程(中国XML联盟版)  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=14)


--  作者:lychen1109
--  发布时间:10/7/2003 11:29:00 PM

--  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编辑过]

--  作者:lychen1109
--  发布时间:10/7/2003 11:30:00 PM

--  
发信人: 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文档需要记住关键的四点:
所有元素必须有结束标签;
所有元素必须正确的嵌套(不允许交迭元素);

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


--  作者:lychen1109
--  发布时间:10/7/2003 11:31:00 PM

--  
发信人: 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>


--  作者:lychen1109
--  发布时间:10/7/2003 11:32:00 PM

--  
发信人: 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。


--  作者:lychen1109
--  发布时间:10/7/2003 11:33:00 PM

--  
发信人: 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>


--  作者:lychen1109
--  发布时间:10/7/2003 11:33:00 PM

--  
发信人: 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。


--  作者:lychen1109
--  发布时间:10/7/2003 11:34:00 PM

--  
发信人: 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文档中使用的数据类型的列表。


--  作者:lychen1109
--  发布时间:10/7/2003 11:34:00 PM

--  
发信人: 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)。


--  作者:lychen1109
--  发布时间:10/7/2003 11:34:00 PM

--  
发信人: 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已经为你完成了这些工作
--  作者:lychen1109
--  发布时间:10/7/2003 11:35:00 PM

--  
发信人: 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>
现在,当用户点击按钮并移到纪录集中的后一个或前一个纪录时,表中的数据会相应的
改变到当前纪录。


--  作者:admin
--  发布时间:10/7/2003 11:49:00 PM

--  
辛苦了。。这么长。。一定retry了很多次吧。。
我刚才已经把长度从16025增大到30000了。。
本想设为50000的。但好像出了点问题。。
--  作者:jackeyzeng
--  发布时间:10/8/2003 6:55:00 PM

--  
请问这是从哪本书择录的?
--  作者:lychen1109
--  发布时间:10/8/2003 10:03:00 PM

--  
很久以前XML.ORG.CN的人翻译的估计,年代久远,无从考证。

--  作者:temp
--  发布时间:10/9/2003 1:45:00 PM

--  
刚看完
--  作者:liumin1014
--  发布时间:10/9/2003 7:38:00 PM

--  
不是很详细,比我从书上看的少多了,希望人气旺一些,问题多点,交流多一点
--  作者:admin
--  发布时间:10/9/2003 8:13:00 PM

--  
好啊。。大家有问题的提问题;会回答的就会回答。。
--  作者:wing
--  发布时间:10/9/2003 8:46:00 PM

--  
看来还赶了个早!希望以后有更多的高手来这里
--  作者:semicolon
--  发布时间:10/13/2003 9:50:00 AM

--  
XML最大的用处主要是什么?方便的格式化文本?更简单的解析?减少二义性?

是不是有一个相应的FAQ?


[此贴子已经被作者于2003-10-13 9:50:58编辑过]

--  作者:admin
--  发布时间:10/13/2003 5:56:00 PM

--  
简言之,XML是一种数据交换格式(您可以在google的网页目录中,XML是被放到 Data Formats中的)
使用XML,你就不必自行开发格式正确性验证、查询数据等API了。。
--  作者:semicolon
--  发布时间:10/15/2003 1:35:00 PM

--  
以下是引用admin在2003-10-13 17:56:45的发言:
使用XML,你就不必自行开发格式正确性验证、查询数据等API了。。


这句话不正确吧?还是需要开发查询的API的。SAX和DOM不就是为此而生?

我感觉XML有点自己找事儿的意思。不过为了解决异构系统数据交换,好像必须通过增加冗余信息来提高自解释性。唉。不过就算格式(都是用象形字)相同,好像还是不能保证应用程序能够方便的理解,就像汉语和日语的差别一样。


--  作者:Sunboy
--  发布时间:10/23/2003 4:53:00 PM

--  

构建一个基本的XML文档需要记住关键的四点:&nbsp;
所有元素必须有结束标签;&nbsp;
所有元素必须正确的嵌套(不允许交迭元素);&nbsp;

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


什么是“唯一的第一元素”,和根节点的区别?(新手,不要见怪)


--  作者:semicolon
--  发布时间:10/27/2003 5:28:00 PM

--  
以下是引用Sunboy在2003-10-23 16:53:41的发言:

什么是“唯一的第一元素”,和根节点的区别?(新手,不要见怪)


就是不能有以下情况:
[root]
[/root]

[root2]
[/root2]
这样就不是“唯一的第一元素”了,其实就是根节点唯一。


--  作者:xcmd
--  发布时间:11/10/2003 12:10:00 AM

--  
o,就是不要套错了阿   :)
--  作者:kitty123
--  发布时间:11/22/2003 1:52:00 AM

--  
版主:
  你好,我想问一下有关xml 的消息:就是你能帮我找到一些运用xml语言制作的网页吗,如果找到的话,有空的话记得给我回个消息。不甚感激了
                                                                                            一位忠实的xml迷
--  作者:阳光小虾
--  发布时间:11/26/2003 11:52:00 PM

--  
我也想知道xml做网页的资料,我也想了很久,xml对我有什么用。。。最后还是落到了我现在的工作中,做网页。。。呵呵。。。斑竹如果找到,也给我一份。。。谢谢。。。
--  作者:timeson
--  发布时间:12/6/2003 3:50:00 PM

--  
能不能做成一个包,我们可以离线看阿
--  作者:webfly
--  发布时间:12/18/2003 4:00:00 PM

--  
辛苦辛苦
--  作者:admin
--  发布时间:12/18/2003 5:44:00 PM

--  
在IE中,另存为mht文档就可以离线看了
--  作者:yaya237
--  发布时间:12/29/2003 6:29:00 PM

--  
斑竹,好辛苦啊!
真是感动!

--  作者:liudamu
--  发布时间:12/31/2003 9:27:00 AM

--  
What I want to say is, thanks!
--  作者:阿星[aXing]
--  发布时间:2/27/2004 10:49:00 AM

--  
辛苦了,感谢为大家提供资料
--  作者:acuter
--  发布时间:3/24/2004 7:58:00 PM

--  
支持。
--  作者:人间流星
--  发布时间:3/25/2004 1:42:00 PM

--  

--  作者:smiler8848
--  发布时间:3/25/2004 1:59:00 PM

--  
非常好,顶
--  作者:黑天使
--  发布时间:5/8/2004 6:46:00 PM

--  
求助:用xml要完成对数据的修改(添加和删除)是否必须用到asp?(我是刚来的比较菜,希望各位见谅)
--  作者:npuhetao
--  发布时间:5/9/2004 9:01:00 AM

--  
不错不错,值得一看。
--  作者:lisa
--  发布时间:5/11/2004 1:54:00 AM

--  
不错不错^_^
--  作者:dlwxn
--  发布时间:5/14/2004 2:13:00 PM

--  
辛苦
--  作者:zhanght22
--  发布时间:5/19/2004 11:32:00 AM

--  
小弟初学,收了。
--  作者:yaya237
--  发布时间:6/17/2004 9:18:00 PM

--  
test

--  作者:printer
--  发布时间:7/7/2004 4:43:00 PM

--  
我是用Framemaker+SGML这个软件做排版工作的,想请教大家有关SGML在Framemaker中使用的情况的知识。我对这个也不是很懂,希望和大家交流。
--  作者:casual12
--  发布时间:7/28/2004 4:28:00 PM

--  
?
--  作者:excelence
--  发布时间:7/28/2004 4:38:00 PM

--  
支持!
--  作者:thomasfu
--  发布时间:8/5/2004 10:12:00 PM

--  
Thank you!
--  作者:卷积内核
--  发布时间:8/6/2004 6:57:00 PM

--  
一次发完不可以吗?太麻烦拉

--  作者:design-dtp
--  发布时间:9/8/2004 9:55:00 PM

--  
http://www.9981cq.nease.net
有framemaker的中文教材大概在300页左右!
--  作者:allanhu80
--  发布时间:9/9/2004 5:36:00 PM

--  
搂主辛苦了,谢谢!
--  作者:liyun99106
--  发布时间:9/10/2004 9:36:00 AM

--  
XML用来做网页,他是静态链结,还是动态的,XML是否支持后台数据库,如果支持的话,后台数据库用那种!!!!
--  作者:jjzxy
--  发布时间:9/10/2004 10:10:00 AM

--  
辛苦了,支持
--  作者:纯色理想
--  发布时间:9/13/2004 2:55:00 PM

--  
多谢
--  作者:我想了解MXL
--  发布时间:9/13/2004 4:51:00 PM

--  
我想知道
1、XML的需要
2、XML文档的特点
3、使用XML的优点
4、XML是如何工作的
5、XML的应用
望不吝指教
--  作者:yanzi5897
--  发布时间:11/25/2004 1:16:00 PM

--  
还可以,有了一个大致的了解了
--  作者:thisthat
--  发布时间:11/26/2004 10:14:00 PM

--  
请问,xml数字签名与传统数字签名有什么异同,我不太懂这个,请指教,如果方便的话,能尽量详细一点吗 万分感谢!
--  作者:nbkyo
--  发布时间:3/3/2005 3:50:00 PM

--  
我是初学者,谢谢!
--  作者:bawang20022001
--  发布时间:3/4/2005 3:29:00 PM

--  
多谢指导!
对小弟很有帮助呀!谢啦。
--  作者:fitatc
--  发布时间:3/6/2005 8:45:00 PM

--  

这是我迄今见过的最好的帖子
--  作者:carel
--  发布时间:3/9/2005 10:40:00 AM

--  
请问大家有没有碰到过不能解析外部实体的情况,如果有的话,最后是怎么解决的?
先谢谢了。
--  作者:yoao
--  发布时间:3/10/2005 7:07:00 PM

--  
好贴啊!
好贴啊!
好贴啊!
--  作者:qianlan
--  发布时间:3/12/2005 12:41:00 PM

--  
刚接触XML,还不不怎么看得懂,我相信慢慢就会好的
--  作者:qianlan
--  发布时间:3/12/2005 11:49:00 PM

--  

--  作者:guosenjun
--  发布时间:3/25/2005 12:10:00 PM

--  
谢谢诶
--  作者:xml330
--  发布时间:3/27/2005 11:35:00 AM

--  
我学过html 但看这些还是有点看不懂
有点糊涂
好象没html容易学习啊


--  作者:kuerne
--  发布时间:3/28/2005 8:12:00 AM

--  
不错,偶喜欢。呵呵。
--  作者:tygl
--  发布时间:3/30/2005 10:32:00 PM

--  
哎~~好难啊~~得加油了~
--  作者:daixin163
--  发布时间:3/31/2005 7:16:00 PM

--  
伟大,特伟大拉,我们也要努力哦!!!
--  作者:龙太子
--  发布时间:4/2/2005 1:19:00 PM

--  
HOHO
--  作者:summu
--  发布时间:4/2/2005 7:32:00 PM

--  
辛苦了!
--  作者:taohongzhi
--  发布时间:4/3/2005 8:45:00 PM

--  
我是初学者
不懂ASP
这对学XML
有影响吗?
--  作者:bjutline
--  发布时间:4/4/2005 12:39:00 PM

--  
偶也急需一个对xml的解析程序,最好还要有写入、删除、修改等功能的。基于C或C++的
导师要求1周弄出来,偶都要疯了,那位大虾帮帮忙!
无论是expat、libxml、xerces-c都可以啊,我看了看看不懂里面该用那些类,函数和参数类型也都不知道干什么用,没有文档啊。
如果能提供有关的API的文档也行啊,最好是详细的。
偶的联系方式
bjutline@126.com,bjutwind@bjut.edu.cn
msn:bjutline@hotmail.com
多谢了!
--  作者:jieq0160
--  发布时间:4/6/2005 10:53:00 PM

--  
thank you
--  作者:baicai1979
--  发布时间:4/7/2005 2:00:00 PM

--  
好东西啊~我要好好的学习一下~
--  作者:redferrari
--  发布时间:4/12/2005 11:08:00 AM

--  
我觉得要学以致用,现在看了好久,不晓得用来干啥
要有实际项目做起来,体会才会深,!
--  作者:hanny
--  发布时间:4/12/2005 12:57:00 PM

--  
我要写一篇关于XML的综述
但是一点思路也没有
各位能不能给点意见
谢谢
--  作者:iamback
--  发布时间:4/28/2005 1:06:00 AM

--  
以下是引用redferrari在2005-4-12 11:08:17的发言:
我觉得要学以致用,现在看了好久,不晓得用来干啥
要有实际项目做起来,体会才会深,!


--  作者:qd08
--  发布时间:4/28/2005 3:26:00 PM

--  
谢谢

--  作者:lubricity
--  发布时间:4/28/2005 11:03:00 PM

--  
又学到东西了^_^
--  作者:3973766
--  发布时间:5/11/2005 5:10:00 PM

--  
老大你的教程真不错,就是太简明了,有没有更系统更详细的教材呀?
--  作者:yangdb_buaa
--  发布时间:5/12/2005 10:24:00 PM

--  
谢谢搂主
--  作者:有钱人
--  发布时间:5/12/2005 10:41:00 PM

--  
谢谢你写了这么好的帖子~~~
希望有更多更深入的东西哈

--  作者:suming
--  发布时间:5/13/2005 2:47:00 PM

--  
恩,超级支持!超级顶顶!
--  作者:blauycp
--  发布时间:5/14/2005 11:34:00 PM

--  
辛苦了,感谢为大家提供资料
--  作者:网事如歌
--  发布时间:5/16/2005 5:38:00 PM

--  
看到第六课就开始晕了,晚上接着看.
--  作者:网事如歌
--  发布时间:5/16/2005 10:33:00 PM

--  
从第六课开始总算糊里糊涂看完了,但我想将来一定会对我有帮助的.谢谢啦!楼主.
最后希望:请以某实例来讲解,更能调动学习者的兴趣,因为兴趣是最好的老师.我就是最近接触动网论坛后才知道有XML的,为了搞清动网论坛系统的运作清况才开始学习XML,请哪位高人能以动网论坛程为例进行解剖吗?比如:在程序中的@@@|$$$||||这些连用符是干什么的?????
--  作者:xmwyxx
--  发布时间:5/17/2005 11:31:00 AM

--  
非常感谢
--  作者:xmwyxx
--  发布时间:5/17/2005 11:33:00 AM

--  
这里的兄弟们真热情!
--  作者:bigcarp
--  发布时间:5/25/2005 1:24:00 PM

--  
不错
--  作者:寒潇竹
--  发布时间:5/27/2005 11:18:00 AM

--  
还没有看,感觉不错,谢谢楼主,需要好好研究一下,这个的资料总也找不到特别系统清楚的
--  作者:邪之正義
--  发布时间:5/28/2005 10:12:00 AM

--  
好帖!
--  作者:orlick
--  发布时间:6/1/2005 9:49:00 AM

--  
真的很感谢楼主,我非常需要呢。我是新手,往后还请多多指教。
--  作者:524100jing
--  发布时间:6/1/2005 6:04:00 PM

--  
能下载就好了!!!!!
--  作者:200506
--  发布时间:6/7/2005 5:01:00 PM

--  
俺还是不懂啥是xml是干啥的?请说说
--  作者:zhengliang_313
--  发布时间:6/7/2005 9:39:00 PM

--  
thanks a lot
--  作者:Net_Frog
--  发布时间:6/10/2005 3:02:00 AM

--  
看懂了,但不知道XML是干什么的?
不过还是谢谢楼主!
--  作者:lumin
--  发布时间:6/15/2005 3:02:00 PM

--  
wo xiangxue
--  作者:luyimei
--  发布时间:6/18/2005 7:13:00 PM

--  
非常感谢!我对XML有了一些了解。
--  作者:champion_wyd
--  发布时间:7/17/2005 7:52:00 PM

--  
不错!不错! 楼主辛苦了!
--  作者:qiaoqiaoba
--  发布时间:7/22/2005 10:34:00 PM

--  
很不错
Thanks!
--  作者:wise
--  发布时间:7/25/2005 1:05:00 AM

--  
看完了,真不错的教材
--  作者:universes
--  发布时间:9/1/2005 12:31:00 AM

--  
有没有可以下载的教程啊?请问???
--  作者:billzang
--  发布时间:9/1/2005 6:48:00 PM

--  
搞个下载的版本呀
--  作者:billzang
--  发布时间:9/1/2005 6:49:00 PM

--  
哦 有的

--  作者:yibingzheng
--  发布时间:9/14/2005 3:07:00 PM

--  
辛苦了,但我不喜欢这样看书!
--  作者:asgc_dgh
--  发布时间:9/26/2005 12:25:00 AM

--  
初学者非常感谢!!!
--  作者:Corba
--  发布时间:9/26/2005 9:54:00 AM

--  
太多的内容放上来,让人觉得很凌乱!
只是建议!
--  作者:alonewolf
--  发布时间:9/26/2005 2:46:00 PM

--  
楼主辛苦了,呵呵
不过这样不舒服啊,
哎。。
还是感谢,最好有个电子的,方便
呵呵

--  作者:cupfish
--  发布时间:9/27/2005 5:07:00 PM

--  
提供下载吧,俺实在不愿意看着网页学
--  作者:dancingfly
--  发布时间:9/29/2005 5:17:00 PM

--  
内容不错,看起来麻烦,能不能做成单个文件下载啊?
--  作者:rebellikun
--  发布时间:10/1/2005 4:48:00 PM

--  
受益匪浅
--  作者:yetisun
--  发布时间:10/14/2005 11:02:00 AM

--  
哪边有完整的文档下载
--  作者:rebellikun
--  发布时间:10/15/2005 10:47:00 AM

--  
够味!!!!!
--  作者:momo卡特
--  发布时间:10/26/2005 9:44:00 AM

--  
8错
--  作者:anguozheng
--  发布时间:10/28/2005 1:20:00 PM

--  
xml 的基本语法定义很简单,开发时有很大的自由度。
<?xml version ="1.0" sdandalone="yes"?>
<DOCTYPE format [
<!ELEMENT format (#PCDATA|bold|italic)*>
<!ELEMENT bold (#PCDATA)>
<!ELEMENT italic (#PCDATA)>
]>
<format>
    this is a simple formatted sentence.
    <bold>i have tried bold.</bold>
    <italic>i have tried italic.</italic>
    now what?
</format>
初学阿
--  作者:fang5566
--  发布时间:10/31/2005 5:20:00 PM

--  
这个教程好 不过希望弄一个pdf或者文档来比较好哦
--  作者:行天下
--  发布时间:11/24/2005 5:18:00 PM

--  
太好了,分析加实例,进步很快哦!
--  作者:chaojiheima
--  发布时间:11/26/2005 8:56:00 AM

--  
xiexie
--  作者:liqiyu
--  发布时间:11/29/2005 4:09:00 PM

--  
不错不错
学习之
--  作者:kyb127
--  发布时间:1/4/2006 2:44:00 PM

--  
辛苦辛苦!~~~~
--  作者:jepfir
--  发布时间:1/5/2006 1:56:00 PM

--  
这种简单明了的教程太难找了, 有些东西动不动的就两三章的屁话.
--  作者:warchief
--  发布时间:1/11/2006 9:49:00 PM

--  
很好的教程,分得很细
--  作者:huangdesen
--  发布时间:2/21/2006 3:50:00 PM

--  
l;
--  作者:lantianbaiyunh
--  发布时间:2/24/2006 4:29:00 PM

--  
谢谢楼主,真的是很好的文章
--  作者:fund
--  发布时间:3/4/2006 12:52:00 AM

--  
这样发贴的你!·强啊!
--  作者:washingtonck
--  发布时间:3/4/2006 7:16:00 PM

--  
好东东,谢谢了
--  作者:sajia
--  发布时间:3/4/2006 11:37:00 PM

--  
真的是很好的文章.谢谢楼主

--  作者:snakebin
--  发布时间:3/18/2006 3:33:00 PM

--  
看了好像没啥东东~~
--  作者:thinkerjzhx
--  发布时间:3/18/2006 10:31:00 PM

--  
学习中~
--  作者:suwanzhang
--  发布时间:4/4/2006 2:02:00 PM

--  
我是菜鸟
感谢分享

--  作者:nonamehhw
--  发布时间:4/7/2006 2:33:00 PM

--  
没下载???
--  作者:Afanty
--  发布时间:4/12/2006 5:29:00 PM

--  
的确是个好东西!不过由于是新手,看到后面几张就有点晕了!哈 还要加油啊!
--  作者:winxp
--  发布时间:4/14/2006 4:40:00 PM

--  
还可以
--  作者:周期性
--  发布时间:4/17/2006 1:33:00 PM

--  
好!
--  作者:hz_yechina
--  发布时间:5/11/2006 10:19:00 AM

--  
好 啊
--  作者:fdcims
--  发布时间:5/11/2006 11:01:00 AM

--  
good
--  作者:colourfish
--  发布时间:5/11/2006 3:59:00 PM

--  
能不能加个精,为了以后浏览方便点~~~
--  作者:chinabbo
--  发布时间:5/15/2006 3:59:00 PM

--  
好东西,就是现在看来还记不住多少。等有一定基础还的看一遍。
谁有实例啊,连接数据库的那种,给一个研究研究
--  作者:davidpike
--  发布时间:5/16/2006 12:48:00 PM

--  
能做成电子书下载就更好了!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
717.773ms