XML文档

XML文档一般分为以下几个部分:

  • 文档声明;
  • 元素;
  • 属性
  • 注释
  • CDATA区,特殊字符
  • 处理指令

1.文档声明

<?xml version="1.0" encoding="utf-8" standalone="no" ?>//standalone默认为no,指与其他文档关联,但意义不大。

放在首行。

2.每个XML必须有且只有一个根元素,包裹所有其他元素。

php解析XML文档的时候,文档内容的换行及空格都会被解析,特别注意。<name>张三</name>与<name>  张三 </name>不一样。

元素命名规则:

    •   区分大小写;
    • 不能以数字或者下划线开头
    • 不能以XML或xml开头
    • 不能包含空格
    • 名字中间不能包含冒号

3.元素的属性值

元素的属性值中出现了<>&‘ “等,可以使用字符实体

< &lt;    >--&gt;    &--&amp;    '---&apos; "---&quot;           后面的分号必须带上,然后以双引号裹起来  

特殊字符处理:

@%……%¥……

<![CDATA[特殊字符]]>可以存储图像文件的二进制文本,保存一个图像。

4.处理指令

<?xml-stylesheet href=”css.css” ?>可以自定义xml文件的显示效果,与htmlcss用法类似。

5.DTD document type defination文档类型定义

DTD文件时XML文件约束的一种方式,另一种是Schema技术。DTD也可以约束HTML或者XHTML

引入外部DTD的方法。

<!DOCTYPE 根元素名 SYSTEM 文档路径>

引入公共的DTD文件

<!DOCTYPE 根元素名 PUBLIC  DTD名称 DTD.URL

内部DTD的方法

<!DOCTPYE 根元素  [

DTD定义的内容

 

]>

6.DTD的语法

利用ELEMENT关键字 定义元素。

<!ELEMENT   NAME   CONTENT>

NAME是元素的名称,是自己定义的。CONTENT是元素的类型分为以下三种

EMPTY--不能包含子元素和文本,但可以有属性<br/>,即空标签

ANY--包含任何在DTD中定义的元素内容。

#PCDATA,可以包含任何字符数据,但是不能在其中包含子元素和其他类型。(即不能 有子元素)

 

对元素的修饰,组合分组.

<!ELEMENT   NAME(NAME1?, NAME2+,NAME3*) >

?表示0或者1个,+表示至少一个,*号表示0个或多个,逗号表示元素定义顺序。

|表示选择。

定义属性列表。

<!ATTILIST 元素名称

属性名称 类型 属性特点

>

类型

CDATA      属性值可以是字符或者数字

ID           属性值唯一,并且以字母开头

IDREF/IDREFS   ID引用

Enumerated      枚举,不能超出枚举范围

ENTITY/ENTITIES  实体

------------》实体定义

1.引用实体:在dtd中定义<!ENTITY  en “content” >

xml文件中引用&en;即可

2.参数实体:<! ENTITY  %  实体名称 “实体内容”>

dtd文件中自己使用 %实体名称;

 

特点

#REQUIRED //必须有

#IMPLIED   //可有可无

#FIXED value //固定值

Default value  //默认值

 

 

 

           

原文地址:https://www.cnblogs.com/kimmychul/p/3949458.html