Posted on 2010-05-12 20:03
eric_xu 阅读(211)
评论(0) 编辑 收藏 所属分类:
Database
XML的优势:自描述,格式扩展性强,允许嵌套
子元素和属性的区别,属性是隐式的,不出现在文档中。
Xmlns名字空间
CDATA用于对正常文本的处理。
XML模式定义语言:DTD和XML Schema
XML Schema事实上也是XML的一种应用,也就是说XML Schema的格式与XML的格式是完全相同的,而作为SGML DTD的一个子集,XML DTD具有着与XML格式完全不同的格式。这种区别会给XML Schema的使用带来许多好处:
1. 由于XML Schema本身也是一种XML,所以许多的XML编辑工具、API 开发包、XML语法分析器可以直接的应用到XML Schema,而不需要修改。
2. 作为XML的一个应用,XML Schema理所当然的继承了XML的自描述性和可扩展性,这使得XML Schema 更具有可读性和灵活性。
3. 由于格式完全与XML一样,XML Schema除了可以像XML一样处理外,也可以同它所描述的XML文档以同样的方式存储在一起,方便管理。
4. XML Schema与XML格式的一致性,使得以XML为数据交换的应用系统之间,也可以方便的进行模式交换。
XML Schema则不同,它内置了三十七种数据类型,如long,int,short,double等常用的数据类型,XML Schema数据类型的真正灵活性来自于其对用户自定义类型的支持。使用complexType和sequence构造复杂类型。
DTD:限制并归类文档中的信息,并不限制基本类型意义上的类型,只限制元素子元素很属性的出现。是有关一个元素中可以出现何种模式的子元素的一系列规则。|表示或,+表示一个或多个,*表示零个或多个,?表示零个或一个。
DTD
1. 单个文本元素和属性不能定义,不能定于为整数。
2. 只能指定一个无序的集合,很难指定每个标签只出现一次
XML Schema可以用minOccurs和maxOccurs指定某个子元素出现的最多和最少次数。
XML Schema较DTD的优势:
1. 允许把元素中出现的文本限制为专门类型
2. 允许创建用户自定义类型
3. 允许唯一性和外键约束
4. 与名字空间结合以允许文档遵从不同模式
5. 允许使用继承来扩展复杂类型
6. 允许使用专门类型来对类型进行限制,最大最小值
XML查询转换工具:XPath,XQuery,XSLT
XPath是基于路径表达式的语言,FLWOR表达式
XQuery仿照SQL
XSLT(XSL Transformation)是由XSL(XML Stylesheet Language)扩展而来的
#PCDATA表示文本数据,empty表示没有内容,any表示任意。
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>