桦山涧

桦山涧
Asp.net ---->知识改变命运!
posts - 261, comments - 171, trackbacks - 6, articles - 3
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

数据岛笔记[原]

Posted on 2008-03-27 17:12 桦林 阅读(...) 评论(...) 编辑 收藏

数据岛是指存在于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>

这里使用第二中方式来实现一个数据岛的示例:
文件Test.xml如下:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE web_site[
  <!ELEMENT web_site (books+)>
  <!ELEMENT books (name,title)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT title (#PCDATA)>
]>
<web_site>
  <books>
    <name>华山涧</name>
    <title>huashanlin</title>
  </books>
  <books>
    <name>程序员</name>
    <title>Coder</title>
  </books>
</web_site>


文件Test.html如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>桦山涧</title>
</head>
<body>
<xml id="huashanlin" src="Test.xml"></xml>
    <table datasrc="#huashanlin" >
    <thead>
        <tr>
            <td>书名</td>
            <td colspan="2">标题</td>
        </tr>
    </thead>
        <tr>
            <td><span datafld="name"></span></td>
            <td colspan="2"><span  datafld="title"></span></td>
        </tr>
     
    </table>
</body>
</html>