XML——XML概述

前端之家收集整理的这篇文章主要介绍了XML——XML概述前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

【0】README

0.1)本文描述 转自 core java volume 2, 旨在理解 XML——XML概述 的基础知识;


【1】XML概述相关

1)problem+solution (干货——引入XML的原因)

  • 1.1)problem:
  • 1.1.1) 属性文件的缺点一:属性文件采用的是一种单一的平面层次结构。 你常常会看到程序员用如下的键来努力解决这种局限性:
title.fontname=baba
title.fontsize=33
body.fontname=aaaa
body.fontsize=12
  • 1.1.2) 属性文件的缺点二: 属性文件格式的的另一个缺点是要求键是唯一的。如果要存放一个值序列, 则需要另一个变通方法, 如:
menu.item.1=hehe1
menu.item.2=hehe2
menu.item.3=hehe3
  • 1.2)solution: XML格式解决了这些问题, 因为它能够表示层次结构,这比属性文件的平面表结构更灵活,并且重复的元素不会被曲解;

2)XML 和 HTML 很相似: 因为XML 和 HTML 是古老的标准通用标记语言(standard generalized markup language, SGML)的衍生语言;(干货——SGML定义)

补充:intro to 标准通用标记语言(Standard Generalized Markup Language,SGML): 是现时常用的超文本格式的最高层次标准,是可以定义标记语言的元语言,甚至可以定义不必采用< >的常规方式。由于它的复杂,因而难以普及。
这是一个它的例子:

<QUOTE TYPE="example"> 
typically something like <ITALICS>this</ITALICS> 
</QUOTE>
  • 2.1)HTML 和 XML 有着重要的区别(Difference): (干货——XML与 HTML的区别)
    • D1)与HTML不同, XML 是大小写敏感的;
    • D2)在 HTML中,如果上下文可以分清哪里是段落或列表项的结尾,那么结束标签(< /p>,< /li>)就可以省略,而在XML 中结束标签绝对不能省略;
    • D3)在XML中, 只有单个标签而没有相对应的结束标签的元素必须以 / 结尾,如 , 这样,解析器就不需要查找 标签了;
    • D4)在XML中,属性值必须用引号括起来。在HTML中,引号是可有可无的;
    • D5)在HTML中,属性名可以没有值; 在XML中, 所有属性必须都有属性值;

3) XML文档的结构

  • 3.1) XML文档头: XML 文档应该以一个文档头开始,如(严格来说,文档头是可选的,但是强烈推荐使用文档头) (干货——XML文档头定义,强烈推荐在XML中使用文档头)
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.">
  • 3.3)文档类型定义 的是确保文档正确的一个重要机制,但是他不是必须的;

4)XML 文档的正文包含根元素,根元素包含其他元素:

  • 4.1)元素可以有子元素,文本或两者皆有;
  • 4.2)在设计XML文档时,最好要么包含子元素,要么包含文本,换句话说,你应该避免以下情况: (干货——设计XML文档时,最好要么包含子元素,要么包含文本)
<font>
    abcdefg
    <size>36</size>
</font>
  • 4.3)XML元素可以包含属性,如
<size unit="pt">36</size>
你也可以使用:<font name="abcdefg" size="36"></font>
  • 4.4)但是属性的灵活性要差一些, 比较以下荔枝:
<font name="ab" size="36 pt"/>
<font name="ab" size="36 pt">
    <name>abcdefg</name>
    <size unit="pt">36</size>
</font>
  • Attention)总之一句话,推荐使用元素而不是属性(干货——推荐使用元素而不是属性

5) 元素和文本是 XML 文档“主要的支撑元素”,你可能还会遇到其他一些标记 (干货——元素和文本是 XML 文档“主要的支撑元素”)

  • 5.1)字符引用:它的形式是&# 十进制值;或 &#x 十六进制值; (干货——XML文档中的其他标记
  • 5.2)实体引用:如 &lt,&gt,&amp,&quot,&apos 分别表示 小于,大于u, &, 引号,省略号等;
  • 5.3)CDATA部分(CDATA Section):用 < !CDATA[ 和 ]>来限定其界限。它们是字符数据的一种特殊形式。你可以使用它们来囊括那些含有 <,>,& 之类的字符串,而不必将它们解释为 标记

    • 5.3.1) CDATA 部分不能包含字符串 ]]>;
  • 5.4)处理指令:是那些专门在处理XML 文档的应用程序中使用的指令,它们将用< ? 和 ?> 来限定其界限, 如

<?xml-stylesheet href="mystyle.css" type="text/css"?>
  • 5.4.1)每个 XML 都以一个处理指令开头:

    <?xml version="1.0"?>
  • 5.5)注释(comment):用 < ! 和 – > 限定其界限, 注释不能含有 字符串 –;

猜你在找的XML相关文章