1.2.4 决定葡萄酒酿造厂的XML信息模型
XML文档的元素标记提供关于内容的描述信息。这就使得我们可以格式化信息模型,创建内容的具体规则。
为数据建立信息模型时,必须识别组成文档结构的所有部分,以及各内容之间的所有层次关系。在前面的示例中,标记将内容识别为<wine>元素的一部分。
1. XML元素
XML可以对需要的每个元素进行命名和定义,并为这些元素指定元数据(属性)。可以按自己喜欢的方式对元素进行命名。这种描述性很强的标记可以用来检索、重用和传递内容。
Here is an example of an XML document using element names defined for accounting |
会计数据与酿酒厂的目录数据截然不同,会计数据对元素命名和层次结构的组织提供了指导。本例中,<invoice>元素是<accounting>元素唯一的子元素,是<inv_number>、<inv_recipient>、<amount>和<due_data>元素的父元素。
<inv_recipient>是<company_name>、<contact_name>、<address1>、<city>、<state>和<zip>的父元素。所有<invoice>和<inv_recipient>的子元素都是<accounting>元素的子孙。这些标记的运用使得调用发票金额、发票支付日期或采购者地址信息更加简单。
在为内容选择最适合的信息模型时,需要考虑拥有哪些信息、如何使用这些信息、数据集内需要增加哪些额外信息。然后根据需要创建元素标记和XML文档。
注意:不要力求建立一个完美的结构,这是不切实际的。不可能建立一个完全错误或完全正确的结构,只要它符合逻辑、满足需要就可以了。在实行过程中,可能会发现必须调整结构,以适应XML的扩展性设计。
为了确保数据的完整性,不仅要在开始之前还要在开始后的每个阶段分析情况。只要有必要,就可以通过删除元素、增加元素、重命名元素或调整层次结构来修改元素集。本书中对分析原则进行了介绍。
2. XML声明
所有的XML文档都可以从XML声明开始,XML声明告诉处理程序、工具和用户:该文档使用的是XML而不是其他标记语言。声明是可选择的,并不一定要使用。可以按如下方式进行声明:
<?xml version="1.0"?>
如果使用声明,则必须将它置于XML文件的开头,在根元素的起始标记之前,如下所示:
<?xml version="1.0"?> |
如果生成的XML实例是可重用的小型数据块,可能就不用进行声明,因为它们可能在文件中的任意位置作为组合的程序块结束,除了文件开头以外的任何地方的XML声明将会抛出错误。如果有独立的XML,并且可以由自动化进程来验证是否为XML文件,那么就可以包含XML声明,以确保将文件正确识别为XML文档。
3. 属性与信息建模
XML元素在尖括号内除了包含名称外,还可以包含属性。属性是元素的附加信息,位于元素的起始标记内。
例如,本章之前的示例中的<chapter>元素可以具有author属性。这就表示,作者的姓名虽然不是文档内容部分,但也可以包含在XML标记中。同样也可以包含作者所属大学。结构中的属性可以是必需的,也可以是可选的。标记中通常都会有作者,但有些作者可能不属于某个大学。在这种情况下,姓名属性有值(具体的姓名),但大学属性则不需要。利用这些属性可以通过具体的作者或大学进行搜索来定位信息。下面是一个使用author属性的XML标记:
<chapter author="William Penn">
结束标记仍然是</chapter>,其中不包含属性数据。
有多个属性的元素在属性之间要留一些空格。下面是同时具有author和university属性的<chapter>元素:
<chapter author="William Penn" university="Duquesne">
可以通过元素和相应属性的标记来创建内容。你可以按自己想要的方式设计元素和属性,根据用户的偏好创建动态内容,以便通过不同的介质传递多种格式。
4. 创建XML文档
打开记事本或其他文本编辑器,输入下列数据:
<?xml version="1.0"?> |
注意:记住,书的页宽并不总是能容纳整个代码行。 符号表示此处还不能按Enter键,而是继续键入下一行代码。在一条代码结束后按Enter键。
从现在开始,将以下面的示例展开讨论。第3章介绍了创建XML文档必须遵循的规则,学习这些规则之后将了解基本的语义,并能够从零开始创建自己的XML文档。根据这些规则可以创建格式良好的文档,这样分析器——或者浏览器——才可以使用这些文档。
将文件保存为muscadine.xml。所创建的文档可能与图1-1中显示的相似。
|
图 1-1
注意:如果文本编辑器是以.txt而不是以.xml为扩展名,那么先将文件重命名为以.xml为扩展名。
现在用支持XML的网页浏览器打开该文件,如使用Microsoft Internet Explorer。元素用视图树表示,每一层可以清楚地显示嵌套层次关系。您的文档可能与图1-2中所显示的相似。
图 1-2
这是确保XML文档可用的第一步。如果不能在浏览器中显示,那么标记中就可能存在错误。
从图1-2中可以看到,在wine和description标记的开始标记之前都有一个小的减号。所有具有后代的元素前面都有一个减号。单击这些减号可以隐藏元素的后代。一旦隐藏了后代,这些减号将显示为加号,单击这些加号就可以显示后代,同时将加号还原为减号。
你可能想让XML按一定的方式显示。如果不是用来显示而是由进程使用,你很可能想让它看起来比视图树更友好一些。
XML可以用字体、颜色和图像定义格式,从而更好地显示在浏览器中,而不是像图1-2那样以视图树的方式显示在Internet Explorer中。使用样式表,如HTML常用的层叠样式表(Cascading Style Sheets,简写为CSS),可以使XML的显示效果更好。XML格式和转换语言——可扩展样式转换语言(Extensible Stylesheet Language Transformation,简写为XSLT)——也可以用来生成XML或者将XML转换成其他类型的基于文本的文档(本书稍后将作介绍)。
| 回书目 上一节 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||