Practice is the best of all instructors

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

XML 的声明

<?xml version=”1.0” standalone=”yes” encoding=”UTF-8”?>


    这是一个
XML处理指令。处理指令以 <? 开始,以 ?> 结束。<? 后的第一个单词是指令名,如xml, 代表XML声明。
    version, standalone, encoding 是三个特性,特性是由等号分开的名称-数值对,等号左边是特性名称,等号右边是特性的值,用引号引起来。

几点解释:

  • version: 说明这个文档符合1.0规范
  • standalone: 说明文档在这一个文件里还是需要从外部导入, standalone 的值设为yes 说明所有的文档都在这一文件里完成 
  • encoding: 指文档字符编码


XML 根元素定义

XML文档的树形结构要求必须有一个根元素。根元素的起始标记要放在所有其它元素起始标记之前,根元素的结束标记根放在其它所有元素的结束标记之后,如

 

<?xml version=”1.0” standalone=”yes” encoding=”UTF-8”?>
<Settings>
<Person>Zhang San</Person>
</Settings>

 


XML元素

元素的基本结构由 开始标记,数据内容,结束标记组成,如

<Person>
  
<Name>Zhang San</Name>
  
<Sex>Male</Sex>
</Person>


需要注意的是:

  • 元素标记区分大小写,<Name> <name>是两个不同的标记
  • 结束标记必须有反斜杠,如 </Name>

XML元素标记命名规则如下:

  • 名字中可以包含字母,数字及其它字母
  • 名字不能以数字或下划线开头
  • 名字不能用xml开头
  • 名字中不能包含空格和冒号


XML中的注释

XML中注释如下:

<!-- this is comment -->


需要注意的是:

  • 注释中不要出现“--”或“-
  • 注释不要放在标记中
  • 注释不能嵌套 


5  
PI  (Processing Instruction)
PI Processing Instruction, 处理指令。PI以“<?”开头,以“?>”结束,用来给下游的文档传递信息。

<?xml:stylesheet href=”core.css” type=”text/css” ?>


例子表明这个
XML文档用core.css控制显示。

 


6  
PCDATA 
  #PCDATA
: specifies that an element will contain parsed character data.
  举例说明PCDATA的用法, 其中movies.xml 存储电影内容数据,movies.dtdmovies.xml进行验证。

示例文件(movies.dtd)

<?xml version="1.0" encoding="GB2312"?>
<!ELEMENT movies (id, name, brief, time)>
<!ATTLIST movies type CDATA #REQUIRED>
<!ELEMENT id (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT brief (#PCDATA)>
<!ELEMENT time (#PCDATA)>

id, name, brief, time只能包含非标记文本(不能有自己的子元素)


XML文件如下所示(movies.xml):

<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE movies SYSTEM "movies.dtd">
<movies type="动作片">
    
<id>1</id>
    
<name>致命摇篮</name>
    
<brief>李连杰最新力作</brief>
    
<time>2003</time>
</movies>

 
7  
CDATA

CDATA用于需要把整段文本解释成纯字符数据而不是标记的情况。当一些文本中包含很多“<,>,&,”等字符而非标记时,CDATA会非常有用。

<Example>
<![CDATA[
  <Person>
      <Name>ZhangSan</Name>
      <Sex>Male</Sex>
  </Person>
]]>
</Example>


以“
<![CDATA[” 开始,以“]]>”结束。注意,在CDATA段中不要出现结束定界符“]]>”。


8  
Entities(实体)
Entities(实体)XML的存储单元,一个实体可以是字符串,文件,数据库记录等。实体的用处主要是为了避免在文档中重复输入,我们可以为一个文档定义一个实体名,然后在文档里引用实体名来代替这个文档,XML解析文档时,实体名会被替换成相应的文档。

XML为五个字符定义了实体名:

实体

字符

&lt;

&gt;

&amp;

&

&quot;

&apos;

 
定义并引用实体的示例:

<!DOCTYPE example [
  <!ENTITY intro "Here is some comment for entity of XML"
>
]>
<example>
    
<hello>&intro;</hello>
</example>


DOCTYPE
<!DOCTYPE[]>”紧随XML声明,包括所有实体的声明,如下所示:

<!DOCTYPE example [
  declare your entities here…
]
>
<example>
    Body of document…
</example>

 

posted on 2007-05-05 19:35  yank  阅读(22313)  评论(2编辑  收藏  举报