1、处理指令

<?xml-stylesheet href="hello.css" type="text/css"?>

在开始标记<?后的第一个字符串“xml-stylesheet”叫做处理指令的目标,它必须标识要用到的应用程序;其余部分是传递应用程序的字符数据。应用程序从处理指令中取得目标和数据,执行要求的动作。

2、空白处理

在XML规范中,空白包括空格、制表符和空行。

在XML文档中,可以在元素中使用一个特殊的属性xml:space,来通知应用程序保留此元素中的空白。

<!ATTLIST poem xml:space (default|preserve) 'preserve'>

<!ATTLIST pre xml:space (preserve) #FIXED 'preserve'>

“default”表示对此元素使用应用程序的缺省空白处理模式,“preserve”只是应用程序保留所有的空白。

3、行尾处理

4、语言标示

<!ATTLIST poem xml:lang NMTOKEN 'fr' >

<!ATTLIST gloss xml:lang NMTOKEN 'en' >

<!ATTLIST note xml:lang NMTOKEN 'en' >

5、DTD(文档类型调用)

a.内部DTD

<!DOCTYPE greeting [

    <!ELEMENT greeting (#PCDATA)>

]>

文档类型申明由<!开始,后面紧跟一个关键字DOCTYPE,然后是文档根元素的名称,揭晓来是标记声明块,标记声明块是放在左中括号和右中括号之间的,

b.外部DTD

<!DOCTYPE 根元素的名字 SYSTEM "外部DTD文件的URI">

<!DOCTYPE 根元素的名字 PUBLIC  "DTD的名称" "外部DTD文件的URI">

<!DOCTYPE HR PUBLIC  "-//xin sun//DTD HR 1.0//ZH" http://www.sunxin.org/xml/dtds/hr.dtd>

DTD的结构一般由元素类型声明、属性表声明、实体声明、记号声明等构成。一个典型的文档类型定义文件会把将来所要创建的XML文档的元素结构、属性类型、实体引用等预先进行定义。

6、元素类型声明

<!ELEMENT 元素名称 元素内容说明>

关键字#PCDATA说明元素包含字符数据。

<!DOCTYPE hr [

<!ELEMENT hr (#PCDATA)>

]>

<hr>人力资源标准<hr>

7、元素的内容模型

<?xml version="1.0" encoding="gb2312"?>

<!DOCTYPE company [

<!ELEMENT company (employee)>

<!--<!ELEMENT employee (name,age,sex,salary,interest*)>--> (兴趣爱好可有可无)

<!ELEMENT employee (name,age,sex,salary,interest+,spouse?)>(兴趣爱好至少有一个,配偶0个或1个)

<!ELEMENT name (#PCDATA)>

<!ELEMENT sex (#PCDATA)>

<!ELEMENT age (#PCDATA)>

<!ELEMENT salary (cash | credit_card)>

<!ELEMENT cash (#PCDATA)>

<!ELEMENT credit_card (#PCDATA)>

<!ELEMENT instrest (#PCDATA)>

]>

 

<company>

    <employee>

        <name>张三</name>

        <age>25</age>

        <sex>男</sex>

        <salary>

            <cash>2000.00</cash>

        </salary>

        <insterest>足球</interest>

        <spouse>小刘</spouse>

    </employee>

</company>

元素内容说明-EMPTY(空元素)、ANY(可任意包含)