xml学习笔记
1 XML 被设计用来结构化、存储以及传输信息。
2 XML 没什么特别的。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理 XML。 不过,能够读懂 XML 的应用程序可以有针对性地处理 XML 的标签。标签的功能性意义依赖于应用程序的特性。 3 XML 允许创作者定义自己的标签和自己的文档结构。这是因为 XML 没有预定义的标签。 在 HTML 中使用的标签(以及 HTML 的结构)是预定义的。HTML 文档只使用在 HTML 标准中定义过的标签(比如 <p> 、<h1> 等等)。 4 在大多数 web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。XML 是独立于软件和硬件的信息传输工具。5 XML 文档形成一种树结构 XML 文档必须包含根元素。该元素是所有其他元素的父元素。 XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。 所有元素均可拥有子元素: <root> <child> <subchild>.....</subchild> </child> </root> 父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。相同层级上的子元素成为同胞(兄弟或姐妹)。 所有元素均可拥有文本内容和属性(类似 HTML 中)。 在 XML 中,省略关闭标签是非法的。所有元素都必须有关闭标签。声明不属于XML本身的组成部分。它不是 XML 元素,也不需要关闭标签。 XML 标签对大小写敏感在 XML 中,所有元素都 必须 彼此正确地嵌套XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。 在 XML 中,XML 的属性值须加引号;属性值必须被引号包围,不过单引号和双引号均可使用。 10在 XML 中,一些字符拥有特殊的意义。 如果你把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。 这样会产生 XML 错误: <message>if salary < 1000 then</message> 为了避免这个错误,请用实体引用来代替 "<" 字符: <message>if salary 1000 then</message> < 11 在 XML 中,有 5 个预定义的实体引用:
12在 XML 中编写注释的语法与 HTML 的语法很相似 <!-- This is a comment --> 13 在 XML 中,空格会被保留,在 XML 中,文档中的空格不会被删节。14 XML 以 LF 存储换行在 Windows 应用程序中,换行通常以一对字符来存储:回车符 (CR) 和换行符 (LF)。这对字符与打字机设置新行的动作有相似之处。在 Unix 应用程序中,新行以 LF 字符存储。而 Macintosh 应用程序使用 CR 来存储新行。
15 XML 元素必须遵循以下命名规则:
可使用任何名称,没有保留的字词。 16最佳命名习惯使名称具有描述性。使用下划线的名称也很不错。 名称应当比较简短,比如:<book_title>,而不是:<the_title_of_the_book>。 避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。 避免 "." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。 避免 ":" 字符。冒号会被转换为命名空间来使用(稍后介绍)。 XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的名称规则来命名 XML 文档中的元素。 非英语的字母比如 éòá 也是合法的 XML 元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题。 17XML 元素是可扩展,以携带更多的信息。 18XML 元素可以在开始标签中包含属性; 属性通常提供不属于数据组成部分的信息。在下面的例子中,文件类型与数据无关,但是对需要处理这个元素的软件来说却很重要: <file type="gif">computer.gif</file> <gangster name='George "Shotgun" Ziegler'> 或者可以使用实体引用: <gangster name="George "Shotgun" Ziegler"> 19在此我们极力向您传递的理念是:元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。 20W3C 的 XML 规范声明:如果 XML 文档存在错误,那么程序就不应当继续处理这个文档。 21如果浏览器打开了某个有错误的 XML 文件,那么它会报告这个错误。 22在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。 XML Namespace (xmlns) 属性XML 命名空间属性被放置于元素的开始标签之中,并使用以下的语法: xmlns:namespace-prefix="namespaceURI" 当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。 注释:用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称。不过,很多公司常常会作为指针来使用命名空间指向实际存在的网页,这个网页包含关于命名空间的信息。 23 为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。 请使用下面的语法: xmlns="namespaceURI" 这个 XML 文档携带着某个表格中的信息: <table > <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>xmlns="http://www.w3.org/TR/html4/" 24术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。 PCDATA 的意思是被解析的字符数据(parsed character data)。 可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本。 关于 CDATA 部分的注释: <script> 25 为了避免错误,需要规定 XML 编码,或者将 XML 文档存为 Unicode。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |