The eXtensible Markup Language (XML)

文章目录

  • 前言
  • No.1 - XML 基础概念
    • ① 简介
  • No.2 - XML 序列形式与树形式的转换
    • ① 一般形式转换
    • ② nesting elements 的转换
    • ③ 当元素含有属性时的转换
    • ④ 当文档含有根节点(Document)时的转换
    • 小结
  • No.3 - XML 语法
    • ① Entities and references
    • ② Comments
    • ③ Instructions
    • ④ XML CDATA
    • ⑤ Typing(DTD & valid)
    • ⑥ namespace


前言

本系列是 COMPSCI 752 的笔记总结,本文为第一篇,XML


No.1 - XML 基础概念

① 简介

XML 指可扩展标记语言(eXtensible Markup Language),用来传送和携带数据信息,其焦点是数据的内容。(HTML 被设计用来显示数据,其焦点是数据的外观)

HTML 旨在显示信息,而 XML 旨在传输信息。

No.2 - XML 序列形式与树形式的转换

① 一般形式转换

The eXtensible Markup Language (XML)_第1张图片
对应的 tree 形式:
The eXtensible Markup Language (XML)_第2张图片

② nesting elements 的转换

The eXtensible Markup Language (XML)_第3张图片

③ 当元素含有属性时的转换

The eXtensible Markup Language (XML)_第4张图片

④ 当文档含有根节点(Document)时的转换

The eXtensible Markup Language (XML)_第5张图片

小结

The eXtensible Markup Language (XML)_第6张图片

No.3 - XML 语法

① Entities and references

entity 译为"实体"。它的作用类似 word 中的"宏",也可以理解为DW中的摸板,可以预先定义一个 entity(可以包含字符,文字等),然后在一个文档中多次调用(reference),或者在多个文档中调用同一个 entity。

使用 entity 的好处在于:

  1. 减少差错。文档中多个相同的部分只需要输入一遍就可以。
  2. 提高维护效率。比如有 40个文档都包含 copyright 的entity,如果需要修改这个 copyright, 不需要所有的文件都修改,只要改最初定义的 entity 语句。

XML 定义了两种类型的 entity。一是普通 entity,在 XML 文档中使用;另一种是参数 entity,在 DTD 文件中使用。

例:
The eXtensible Markup Language (XML)_第7张图片

预定义的 entity:
The eXtensible Markup Language (XML)_第8张图片

② Comments

XML 注释写法:


③ Instructions

特殊的 applications 使用的代码行,被其他 applications 忽略。

如:


需要 XSLT stylesheet 来相应。

④ XML CDATA

XML 文档中的所有文本均会被解析器解析,只有 CDATA 区段中的文本会被解析器忽略。

某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代码定义为 CDATA。

<script>
<![CDATA[   //此处开始
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1;
}
else
{
return 0;
}
}
]]>	   //此处结束
</script>

由 “” 结束

⑤ Typing(DTD & valid)

XML 文档可以进行分类,主要依赖的机制为 DTD(Document Type Definitions)

The eXtensible Markup Language (XML)_第9张图片
well-formed 文档:

A document with proper opening and closing of tags is said to be well-formed.

The eXtensible Markup Language (XML)_第10张图片
valid 文档:

A document that conforms to its DTD is said to be valid

⑥ namespace

命名空间,提供避免元素命名冲突的方法。
在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。

如一下两个 XML 文档:

<table>
<tr>
<td>Applestd>
<td>Bananastd>
tr>
table>
<table>
<name>African Coffee Tablename>
<width>80width>
<length>120length>
table>

假如这两个 XML 文档被一起使用,由于两个文档都包含带有不同内容和定义的

元素,就会发生命名冲突。

解决方法:
在跟元素或产生冲突的元素中的 xmlns 属性定义用于前缀的命名空间(namespace),从而借助前缀的不同来避免元素的命名冲突。

<root>
//
或在<root>标签中定义:
<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3cschool.cc/furniture">
//

<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Applesh:td>
<h:td>Bananash:td>
h:tr>
h:table>

<f:table xmlns:f="http://www.w3cschool.cc/furniture">
<f:name>African Coffee Tablef:name>
<f:width>80f:width>
<f:length>120f:length>
f:table>

root>

你可能感兴趣的:(COMPSCI,752,xml,前端,java)