[xml] xml文档的基本结构和规范

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--version:一般为1.0,表示遵循XML规范1.0;
encoding: 字符集设置,
standalone:表示该文档是否引用其他资源,yes和no两个值
  -->
<!-- 严格规范的xml文档结构 
books: + 代表多个book子标签,
book标签的属性和括号之间要有空格,

-->
<!DOCTYPE books[
<!ELEMENT books (book+)>
<!ELEMENT book (name,author,descr+,press)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT descr (#PCDATA)>
]>
<books>
 
    <book>
      <name>浪潮之巅</name>
      <author>吴军</author>
      <descr>
      互联网大事记
     
      </descr>
      <!-- 特殊字符的处理 
      使用CDATA标记或者实体引用&lt;&gt;$amp;等等
      -->
      
      <descr>另一个描述1+1&lt;2<![CDATA[<帝都的崛起,!@#$%^&U>]]></descr>
      <!-- 为空元素指定任意属性 -->
      <press id="1" address="上海市徐家汇"/>
    </book>
    
    <book>
      <name>数学之美</name>
      <author>吴军</author>
      <descr></descr>
      <press number="132423">&lt;&quot;帝都公司出版&amp;></press>
    </book>


</books>

更多关于#PCDATA的资料参考:

实体
实体是用来定义普通文本的变量。实体引用是对实体的引用。
大多数同学都了解这个 HTML 实体引用:"&nbsp;"。这个“无折行空格”实体在 HTML 中被用于在某个文档中插入一个额外的空格。
当文档被 XML 解析器解析时,实体就会被展开。
PCDATA
PCDATA 的意思是被解析的字符数据(parsed character data)。
可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本。
PCDATA是会被解析器解析的文本。这些文本将被解析器检查实体以及标记。
文本中的标签会被当作标记来处理,而实体会被展开。
不过,被解析的字符数据不应当包含任何 &、< 或者 > 字符;需要使用 &amp; 、&lt; 以及 &gt; 实体来分别替换它们。
CDATA
CDATA 的意思是字符数据(character data)。
CDATA 是不会被解析器解析的文本。在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开。
 
 
posted @ 2015-01-28 08:42  snow__wolf  阅读(549)  评论(0)    收藏  举报