XML摘要2

XML 元素
XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。

一个元素可以包含:

其他元素
文本
属性
或混合以上所有...

XML 元素命名规则

XML 元素必须遵循以下命名规则:

名称可以包含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字母 xml(或者 XML、Xml 等等)开始
名称不能包含空格

可使用任何名称,没有保留的字词。

最佳命名习惯
使名称具有描述性。使用下划线的名称也很不错:<first_name>、<last_name>。

名称应简短和简单,比如:<book_title>,而不是:<the_title_of_the_book>。

避免 “-” 字符。如果您按照这样的方式进行命名:“first-name”,一些软件会认为您想要从 first 里边减去 name。

避免 “.” 字符。如果您按照这样的方式进行命名:“first.name”,一些软件会认为 “name” 是对象 “first” 的属性。

避免 “:” 字符。冒号会被转换为命名空间来使用(稍后介绍)。

XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的命名规则来命名 XML 文档中的元素。

在 XML 中,éòá 等非英语字母是完全合法的,不过需要留意,您的软件供应商不支持这些字符时可能出现的问题。

XML 元素是可扩展的
XML 的优势之一,就是可以在不中断应用程序的情况下进行扩展。

XML 属性
XML元素具有属性,类似 HTML。

属性(Attribute)提供有关元素的额外信息。
属性通常提供不属于数据组成部分的信息
在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用元素吧。
在这里插入图片描述避免 XML 属性?
因使用属性而引起的一些问题:

属性不能包含多个值(元素可以)
属性不能包含树结构(元素可以)
属性不容易扩展(为未来的变化)

属性难以阅读和维护。请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。

在此我们极力向您传递的理念是:元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。

XML 验证
拥有正确语法的 XML 被称为"形式良好"的 XML。

通过 DTD 验证的XML是"合法"的 XML。

合法的 XML 文档是"形式良好"的 XML 文档,这也符合文档类型定义(DTD)的规则

XML DTD
DTD 的目的是定义 XML 文档的结构。它使用一系列合法的元素来定义文档结构:

<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

XML Schema
W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema。后缀为:.xsd

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"
elementFormDefault="qualified">

<xs:element name="note">
    <xs:complexType>
      <xs:sequence>
	<xs:element name="to" type="xs:string"/>
	<xs:element name="from" type="xs:string"/>
	<xs:element name="heading" type="xs:string"/>
	<xs:element name="body" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
</xs:element>

</xs:schema>
<?xml version="1.0" encoding="GB2312"?>
<book xmlns="http://www.sunxin.org/book"   
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
xsi:schemaLocation="http://www.sunxin.org/book http://www.sunxin.org/ 
book.xsd"><title>《Struts 2深入详解》</title>
<author>孙鑫</author>
</book>

xmlns:xsi表示使用xsi作为前缀的Namespace,当然前缀xsi需要在文档中声明。

xsi:schemaLocation的作用

xsi:schemaLocation属性其实是Namespace为http://www.w3.org/2001/XMLSchema-instance里的schemaLocation属性。

定义了XML Namespace和对应的XSD(Xml Schema Definition)文档的位置的关系。它的值由一个或多个URI引用对组成,两个URI之间以空白符分隔(空格和换行均可)。第一个URI是定义的XML Namespace的值,第二个URI给出Schema文档的位置,Schema处理器将从这个位置读取Schema文档,该文档的targetNamespace必须与第一个URI相匹配。

XML 验证器

W3C 的 XML 规范声明:如果 XML 文档存在错误,那么程序就不应当继续处理这个文档。理由是,XML 软件应当轻巧,快速,具有良好的兼容性。

XML 文档不会携带有关如何显示数据的信息。

使用 XSLT 显示 XML
XSLT 是首选的 XML 样式表语言。

XSLT(eXtensible Stylesheet Language Transformations)远比 CSS 更加完善。

XSLT 是在浏览器显示 XML 文件之前,先把它转换为 HTML

后缀为.xsl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值