XML

XML

yjy Lv1

This article is a brief introduction to XML

可扩展标记语言(eXtensible Markup Language)

XML 不是对 HTML 的替代

XML 被设计用来传输和存储数据,不用于表现和展示数据,HTML 则用来表现数据

XML 是对 HTML 的补充

XML 不会替代 HTML,理解这一点很重要。在大多数 Web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。

对 XML 最好的描述是:

XML 是独立于软件和硬件的信息传输工具

语法

第一行声明

1
<?xml version="1.0" encoding="UTF-8"?>

元素

XML 文档必须有根元素

1
2
3
4
5
<root> 
<child>
<subchild>.....</subchild>
</child>
</root>

XML文档由元素构成,每个元素包括开始标签、结束标签和元素内容

属性

元素可以包含属性,属性提供有关元素的附加信息。
属性位于开始标签中,例如:

1
<person age="30" gender="male">John Doe</person>

XML 单标签

1
<exampleTag />

标签对大小写敏感

必须使用相同的大小写来编写打开标签和关闭标签

属性值必须加引号

1
2
3
4
<note date="12/11/2007">
<to>Tove</to>
<from>Jani</from>
</note>

实体引用

在 xml 的元素中不能加入<,>,&,’,”, 而是使用实体引用

&lt; < less than
&gt; > greater than
&amp; & ampersand
&apos; apostrophe
&quot; quotation mark

注释

1
<!-- This is a comment -->

在 XML 中,空格会被保留

HTML 会把多个连续的空格字符裁减(合并)为一个
在 XML 中,文档中的空格不会被删减

XML 以 LF 存储换行

在 Windows 应用程序中,换行通常以一对字符来存储:回车符(CR)和换行符(LF)。

在 Unix 和 Mac OSX 中,使用 LF 来存储新行。

在旧的 Mac 系统中,使用 CR 来存储新行。

XML 以 LF 存储换行

元素

XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分
一个元素可以包含:

  • 其他元素
  • 文本
  • 属性
  • 或混合以上所有…

命名规则

  • 名称可以包含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字母 xml(或者 XML、Xml 等等)开始
  • 名称不能包含空格

命名习惯

避免 “-“ 字符
避免 “.” 字符
避免 “: “ 字符

元素是可扩展的

属性

属性必须加引号

属性值必须被引号包围,不过单引号和双引号均可使用。
如果属性值本身包含双引号,就可以使用单引号

1
<person sex='female'>

元素 vs. 属性

1
2
3
4
<person sex="female">  
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
1
2
3
4
5
<person>  
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用元素。我的经验是在 HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用元素吧

Why not arribute?

  • 属性不能包含多个值(元素可以)
  • 属性不能包含树结构(元素可以)
  • 属性不容易扩展(为未来的变化)

针对元数据的 XML 属性

有时候会向元素分配 ID 引用。这些 ID 索引可用于标识 XML 元素,它起作用的方式与 HTML 中 id 属性是一样的。
元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素
`

1
2
3
4
5
6
<messages>  
<note id="501">
</note>
<note id="502">
</note>
</messages>

XML CSS

使用 CSS 显示您的 XML

1
2
3
4
5
6
7
<?xml version="1.0" encoding="ISO-8859-1"?>  
<?xml-stylesheet type="text/css" href="cd_catalog.css"?>
<CATALOG>
.
.
.
</CATALOG>

使用 CSS 格式化 XML 不是常用的方法。
W3C 推荐使用 XSLT

XML XSLT

XSLT (eXtensible Stylesheet Language Transformations) 是首选的 XML 样式表语言
通过使用 XSLT,您可以把 XML 文档转换成 HTML 格式

  • Title: XML
  • Author: yjy
  • Created at : 2024-09-04 11:53:26
  • Updated at : 2024-09-04 22:23:05
  • Link: https://yjy.us.kg/xml/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments