预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一、编写DTD:通用原则 XML文档由元素和属性组成。元素内容可通过其它元素或XML基本类型定义。 DTD是文档要关联的,文档中应用包含一条用于与DID建立关联的指令。当XML解析器读取到该指令时,将获取DTD,并根据其中定义的规则对文档进行校验。 1、DOCTYPE标记: DOCTYPE声明用于将DTD与文档关联,应放在XML声明之后但在任何文档元素之前。中间可插入注释和其它指令。 格式: 外部声明:DOCTYPE文档根元素可选的外部标识符外部标识符包括(指明外部DTD源的关键字和DTD文件位置)两种指明外部DTD源的关键字:a-1、SYSTEM:解析器将根据其后的URL来定位DTD文件的位置。<!DOCTYPECatalogSYSTEM“http://myservers/decs/Pubcatalog.dtd”>a-2、PUBLIC:用来声明公共的,众所周知的DTD,如一些标准组织定义的。解析文档的应用程序可能会根据若干策略来定位DTD,如:从数据库中,或与应用程序相关的技术获得。或应用程序有本地的拷贝。 Eg:<!DOCTYPECatalogPUBLIC“universal/Publishing/Book”“http://www.universallibary.org/Publishing/Pubcatalog.dtd”>前面的URI为公共的URI,由处理文档的应用程序由某种策略获取DTD,若失败,从后面的URL获取DTD。 内部子集声明:DOCTYPE文档根元素可选的标记声明块eg:<!DOCTYPEcatalog[…internalsubsetdeclarationshere…]>注:可同时混合使用内部DTD和外部DTD,但两都出重复的声明时,内部的声明替换外部的声明。 2、DTD关键字: ELEMENT 元素类型声明 ATTLIST 属性类型声明 ENTITY 实体声明,该声明内容可重用 NOTATION 不需要处理的外部内容的格式声明,以及处理外部内容的应用程序 2-1:实体:为避免将标记文本与实体名字混淆,引用实体时的格式为: &实体名字; 预定义实体: 对于一些不可打印字符,及用于XML标记的保留字符,XML提供了一些预定义的实体: <&lt;>&lt;&&amp;‘&apos;“&quot; 通用实体:(不能包含对自身的引用) 最简单的实体形式,它能够声明与某个名字相关联的可解析的文本块 Eg:<!ENTITYcopyright“zqw,inc,2009”> 引用:&copyright;注----实体名字与定界符&;间不能够有空格。 当然,通用实体也有外部形式:即将置换文本放在外部文件中。 <!ENTITYpubSYSTEM“xmldemo5.xml”>SYSTEM用于指示外部源,而后面的URL用于指示文件的位置。 限制:属性值中不能引用可解析的外部实体,避免实体的字符编码与主文件编码不同 参数实体: 仅在DTD中使用的解析实体称为参数实体,它能让我们简便地引用和修改DTD中的常用的结构,我们只须要维护一处代码。 <!ENTITY%peopleParameters“ageCDATA#IMPLIED”> 参数实体必须在引用之前声明,意味着不能在内部DTD中引用外部DTD中声明的参数实体,因为解析器先读取内部DTD 引用参数实体:定界符----%;(不再是&;) Eg:<ATTLISTteacher%peopleParameters;sexCDATA#IMPLIED> 注:在内部DTD中,参数实体的引用只能位于其它的声明之间 与通用实体类似,参数实体的替换文本也可位于外部文件中: <ENTITY%myparamSYSTEM“http://www.zqw.com/myparam.txt”> 2-2:元素 XML的核心和灵魂,通过标记ELEMENT声明的。 名称限制:字母、数字、标点符号:冒号、下划线、连字符(-)和句点(.) 第一个字符只能是字母、冒号和下划线。 四种类型: 空元素:不包含子元素、文本、但是可以有属性。 元素内容:只包含子元素,不包含文本。 复合内容:由子元素和可解析文本(#PCDATA)或文本的组合。 Eg:<!ELEMENTFruitBasket(cherry,(orange|apple))>注:orange与apple只能出现一个 文档实例: <FruitBasket> <cherry>…</cherry> <orange>…</orange> </FruitBasket>注:cherry与orange都只能出现一次 圆括号及内容的表达称为“内容模型”,可看出它们可嵌套。内容的表现形式:为逗号分隔的列表。文档