第二章xml语言内容摘要:

11_content 以数字开头 – todyamp。 one 有非法字符 ” amp。 ” ( 2)标记是大小写敏感的 – Character – character – CHARACTER  空元素标记 正常方式 IMG src=d:\direct\public\/IMG 简便方式 IMG src=d:\direct\public\/ 元素属性 XML元素属性 属性不影响元素树型结构、并提供附加的上下文。 属性格式: 元素标记名 属性名 1=“属性值 1” 属性名 2=“属性值 2”… 例如: title language=“中文 “ 元素属性举例: ?xml version= encoding=gb2312? 计算机系学生登记表 学生 学号 =―1236‖ 性别 =―女” 王芳 /学生 学生 学号 =―0694‖ 性别 =―男” 李奇 /学生 学生 学号 =―6288‖ 性别 =―男” 黄昂扬 /学生 学生 学号 =―5864‖ 性别 =―女” 文笛声 /学生 /计算机系学生登记表 属性定义规则 标记中可以使用多个属性,但属性名称不得重复; 属性名是大小写敏感的; 属性只能出现在起始标记或空标记中; 属性值必须用引号(英文 ); 少用属性,尽可能用子元素。 因为属性有以下缺陷: 属性值不能包含多重数值,但是元素可以; 属性值很难扩展; 属性不能描述结构内容,但是元素可以; 属性值很难通过 DTD 进行测试。 字符数据 字符数据 在起始和结束标记之间出现的字串信息为字符数据。 姓名 张三 /姓名 以下是两条不同的字符数据: 格式 一段文字 /格式 和: 〈 格式 一段文字 〈 /格式 后者的文本数据比前者多了两个换行符。 字符数据可以是任何合法的 UNICODE字符,但不能包含“ ‖、 ” ‖等特殊字符。 特殊字符数据表示法一:实体引用 为了在字符数据和标记中使用一些特殊符号, XML提供了实体引用法: 特殊字符 实体引用 amp。 amp。 ’ amp。 apos。 字符数据 举例 数据中的特殊字符 字符数据内容: “ 加入 AB,则 B一定是偶数 ” 正确 XML表示形式: 示例 加入 AB,则 B一定是偶数 /示例 属性值中的特殊字符 错误写法: STATEMENT VALUE = She said, Don’t go there! 正确写法: STATEMENT VALUE = She said, Donamp。 apos。 t go there! 字符数据 特殊字符数据表示方法二: CDATA 格式。 [CDATA[ 文本内容 ]] CDATA文本内容中是不能出现字符串 “ ]]‖,因为它代表了 CDATA数据块的结束标志。 CDATA下所有内容都被当作字符数据看待。 字符数据 CDATA与实体引用比较 CDATA表示方式 示例 ![CDATA[姓名 张三 /姓名 ]]/示例 实体引用表示方式 示例 姓名 张三 /姓名 /示例 字符数据  XML注释 用 “。 ‖和 “ ‖引起来 可以是多行,但不允许出现嵌套 字符串 “ ‖、 “ ‖和 “ ‖不能出现在注释中 例子: 名词列表 ! 名词 HTML/名词 名词 XHTML/名词 名词 SGML/名词 名词 XML/名词 /名词列表 注释 第二节、 XML的语法 XML基本规则 逻辑结构 物理结构 XML文件的物理结构 什么是实体 一个 XML 文件可能由一个或多个存储单元组成,它们被称为实体( entity),它们都具有内容并且都用名字进行标识。 类似程序设计中的变量,每个变量可存放一定数据。 实体充当着和别名类似的角色 ,一个简单的实体名称可以用来代表一大段文本内容。 实体类型: 一般实体 参数实体 实体声明 一般实体声明 —内部实体 !ENTITY 实体名 “ 文本内容 ” 〉 例如 !ENTITY lettersign ―张三 某网络公司销售部门 北京市海淀区中关村 88号, 100000‖〉 一般实体声明 —外部实体 !ENTITY 实体名 SYSTEM ―地址 ” 〉 例如: !ENTITY lettersign SYSTEM 实体声明 实体声明  参数实体 参数实体的格式与一般实体很类似,只不过中间要加上 “ %‖符。 !ENTITY % 实体名 文本内容 〉 参数实体既可以是内部的也可以是外部的,参数实体只用在 DTD中。 实体声明 实体声明规则 实体声明应该放在文件类型 DOCTYPE中。 DOCTYPE一般放在文件头之后、 XML元素之前。 例如: ?xml version=―‖? !DOCTYPE 文件根元素名 [ !ENTITY NSLAddress ―北京北四环西路 33号 ” ] 文件根元素名 … /文件根元素名 实体引用 指引用一个已经声明过的实体。 一般实体引用形式: amp。 实体名 ; 例如: 地址 amp。 NSLAddress。 /地址 参数实体引用形式: %实体名; 例如: ![%short。 [ !ELEMENT memory (media | subdate | subject+)* ]] 实体引用 实体引用规则 被引用的实体必须已经在 XML文件中声明过; 实体引用中不能出现空格: 错误引用: amp。 lettersign。 和 amp。 lettersign。 在一个实体中可以再引用其它实体,但是不能出现循环引用。 实体引用不能在 DOCTYPE声明中出现。 一般实体声明和引用例子 ?xml version=―‖? !DOCTYPE 联系人列表 [ !ENTITY A公司地址 “ 北京市五街 1234号 ” !ENTITY B公司地址 “ 上海南京路 9876号 ” 〉 ] 联系人列表 联系人 姓名 张三 /姓名 公司 A公司 /公司 地址 amp。 A公司地址。 /地址 /联系人 联系人 姓名 李四 /姓名 公司 B公司 /公司 地址 amp。 B公司地址。 〈 /地址 〉 /联系人 /联系人列表 实体声明 实体引用 参数实体声明与引用实例 !ENTITY % short IGNORE !ELEMENT memories (memory)* ! Short form ![%short。 [ !ELEMENT memory (media | subdate | subject+)* ]] !ATTLIST memory tapeid IDREF REQUIRED !ELEMENT subdate (PCDATA) !ELEMENT subject (PCDATA) !ELEMENT media EMPTY 实体声明 实体引用 实体引用规则 实体引用不仅可以出现在字符数据中,还可以出现在标记的属性中。 例如: 联系人 公司 =―B公司 ” 地址 =―amp。 B公司地址; ” 属性中实体引用规则: 在标记属性中不能引用一个外部实体。 引用的文本中不能出现字符 “ ‖。 实体引用 第三节 DTD 第三节 DTD DTD基本结构 定义元素及其后代 定义元素属性 DTD基本结构 DTD Document Type Definition 规定 XML文档的逻辑结构,主要是来描述XML文件中元素的格式。 它可以定义文档的语法,以便支持 XML语法分析程序根据DTD确认某个 XML页面标记的合法性。 DTD特点 DTD描述了一个置标语言的语法和词汇表,即定义了 XML文件的 整体结构 及 语法。 编辑工具根据 DTD中定义的结构创建 XML文档 XML解析器利用 DTD定义验证文档的有效性。 DTD可以非常简单,仅仅列出所有有效的元素 DTD也可以非常复杂,除元素,还可以指出元素之间的关系。 DTD基本结构 DTD的基本结构 DTD特点 DTD中的关键字都必须是大写的 例如: ELEMENT、 ATTLIST、 REQUIRED、IMPLIED、 NMTOKEN、 ID等等。 DTD所定义的元素和属性名是大小写敏感 例如 “ BOOKS‖和 “ Books‖并不相同。 DTD的基本结构 DTD类型 内部 DTD 外部 DTD 公用 DTD 内部 DTD 内部 DTD DTD定义的信息放在 XML文档中,加在 XML文件头部,结构如下 : ?xml version = encoding=GB2312 standalone = yes? !DOCTYPE 根元素名 [ 元素描述 ] ?xmlstylesheet type=text/xsl href=? ..... 内部 DTD实例 ?xml version = encoding=GB2312 standalone = yes? !DOCTYPE 联系人列表 [ !ELEMENT 联系人列表 (联系人 )* !ELEMENT 联系人 (姓名 ,公司 , 电话 ,地址 ) !ELEMENT 地址 (城市 ,街道 ) !ELEMENT 姓名 (PCDATA) !ELEMENT 公司 (PCDATA) !ELEMENT 电话 (PCDATA) !ELEMENT 城市 (PCDATA) !ELEMENT 街道 (PCDATA) ] ?xmlstylesheet type=text/xsl href=? 联系人列表 联系人 姓名 张三 /姓名 公司 A公司 /公司 电话 (010)62345678/电话 地址 城市 北京市 /城市 街道 五街 1234号 /街道 /地址 /联系人 … /联系人列表 外部 DTD 什么是外部 DTD DTD信息保存在 XML文件之外的一个独立文件中。 优点 多个 XML文件共享一个共用 DTD文件 简化输入,改动 DTD不用一一去改每个 XML文件 缺点 如果 DTD的改动不是 “ 向后兼容 ” 的,这时原先写的那些 XML文件可能就会出问题。 外部 DTD 外部 DTD引用 XML声明中必须说明这个文件不是自成一体的,即standalone属性值应该是 “ no‖。 ?xml version = encoding=GB2312 standalone = no? 在 DOCTYPE声明中,要加入 SYSTEM属性: !DOCTYPE 根元素名 SYSTEM 外部 DTD文件的 URL 外部 DTD。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。