XML基础总结

XML使用DOCTYPE来声明需要遵循的DTD文件。DOCTYPE声明紧跟在XML声明之后。

格式:<! DOCTYPE 文档名 SYSTEM “DTD文件路径”>

<! DOCTYPE 文档名 PUBLIC “DTD文件路径”>

直接在XML中嵌套DTD声明

格式:<! DOCTYPE 根元素名 [DTD定义语句]>

DTD 语法

1、元素声明:<! ELEMENT 元素名 元素的内容规范>

元素的内容规范:

  • EMPTY 不包含数据内容,但可以有属性
  • ANY 可以包含任何XML允许的内容
  • 列出该元素允许的子元素
    • 圆括号():将允许包含的所有子元素写在里面,以表示一个整体。
    • 子元素和逗号,:子元素必须按照顺序出现。
    • 子元素和竖线|:子元素从中选择,只能选择一个,只能出现一次。
  • 子元素可以使用+、*、?等来标记。如果内有任何标记,则表示该子元素必须出现,而且只能出现一次。+标记表示必须出现1次以上;*标记表示可以出现任意次;?标记表示可以出现1次或者0次。

  • 只包含数据:只允许普通的文本字符串
  • 格式:<! ELEMENT 元素名(#PCDATA)>

  • 既包含子元素又包含数据
  • 格式:<! ELEMENT 元素名(#PCDATA|子元素名1|子元素名2|子元素名3|…|子元素n)*>

    注意,#PCDATA必须出现在最前面,*必须在圆括号后面。

2、对属性的设置

<!ATTLIST 页面作者

姓名 CDATA #IMPLIED

年龄 CDATA #IMPLIED

联系信息 CDATA #REQUIRED

网站职务 CDATA #FIXED “页面作者”

个人爱好 CDATA “上网”

>

说明:#REQUIRED表示该属性必须设置;#IMPLIED表示该属性可有可无;#FIXED表示该属性必须为某一固定值。还可以直接使用默认值。

可以将属性设置为以下的十种类型:CDATA(普通文本字符串)、ENUMERATED(枚举)、ID(一个唯一的识别符)、IDREF(另一个元素的ID)和IDREFS(其他元素的一列ID)、NMTOKEN(一个有效的XML名字)和NMTO、NOTATION、ENTITY(一个实体名字)和ENTITYS(一列实体名字)。

3、定义实体

实体的作用是为一段文本设置一个别名,以后在引用这段文本的时候,就可以直接使用这个别名。在解析XML的时候,就可以把别名转变成相对应的文本内容。

格式:<! ENTITY …>

实体可以分为引用实体和参数实体。

引用实体

格式:<! ENTITY 实体名 “实体内容”>或者<! ENTRY 实体名 SYSTEM “外部XML的URL”>

引用方式:&实体名;

参数实体

格式:<! ENTITY %实体名 “实体内容”>

引用方式:%实体名;

举例:

<!ENTITY %info “姓名|EMAIL|电话|地址|”>

<!ELEMENT 个人信息 (%info;|职务)>

<!ELEMENT 客户信息 (%info;|公司名)>

XML命名空间

作用:区分XML标记的作用范围

引入namespaces后,完整的标记写法:<命名空间前缀:标记名>

命名空间前缀的声明是在标记的属性中引入的:

<标记名 xmlns:前缀名1=”URI1″ xmlns:前缀名2=”URI2″ xmlns::前缀名3=”URI3″ xmlns::前缀名4=”URI4″></标记名>

声明的命名空间只在声明该命名空间的元素及其子元素内有效。

默认的命名空间:<标记名 xmlns=”URI”>

发表评论


Verify Code   If you cannot see the CheckCode image,please refresh the page again!

使用新浪微博登陆