资讯专栏INFORMATION COLUMN

可扩展标记语言XML之二:XML语言格式规范、文档组成

andycall / 927人阅读

摘要:大家好,小乐又来了,好久不见这次接着上次可扩展标记语言之一概念,作用,示例,继续讲述。可把字符数据想象为元素的开始标签与结束标签之间的文本。这些文本将被解析器检查实体以及标记。

大家好,小乐又来了,好久不见!这次接着上次可扩展标记语言XML之一:XML概念,作用,示例,继续讲述XML。

一、格式良好的 xml 1、语法规范:

1)、必须有 XML 文档声明:

 
 
 
 

说明:
XML standalone 定义了外部定义的 DTD 文件的存在性. standalone element 有效值是 yes 和 no. 如下是一个例子:

 
 
......... 

值 no 表示这个 XML 文档不是独立的而是依赖于外部所定义的一个 DTD. 值 yes 表

示这个 XML 文档是自包含的(self-contained).

注意文本文件保存时候默认的编码格式是ANSI,需用记事本把它手动改为UTF-8保存。

2)、必须有且仅有一个根元素

3)、严格区分大小写

4)、属性值用引号(双引号或单引号) :等号分开的名称-值对;在一个元素上,相同的属

性只能出现一次

5)、标记成对;

6)、空标记关闭;

7)、元素正确嵌套。

2、元素命名规则

1)、名称中可以包含字母、数字或者其他可见字符;

2)、名称不能以数字开头;

3)、不能以 XML/xml/Xml…开头;

4)、名称中不能含空格;

5)、名称中不能含冒号(注:冒号留给命名空间使用)

3、实体

实体叫 ENTITY,实体的作用是避免重复输入。作用相当于宏或者变量。

1)内置的 5 种实体

实体 符号

< <


& &

" "

" "

2)自定义实体

 
 
]> 
使用已定义的实体:&实体名; 
 
 
 
 
]>
 
 
明明 
保密 
 
 
 
&xm; 
&gen; 
 
 
4、文档类型声明

文档类型定义——DOCTYPE,文档类型声明,紧跟 XML 声明之后,包含所有实体声明

 
 
]> 
二、XML 文档组成 1、构成

所有的 XML 文档(以及 HTML 文档)均由以下简单的构建模块构成:

元素

属性

实体

PCDATA

CDATA

CDATA 节(character data)

2、CDATA

用于把整段文本解释为纯字符数据而不是标记的情况。如包含大量的<、>、&、或者"

字符。CDATA 节中的所有字符都会被当做元素字符数据的常量部分,而不是 XML 标记,

可以输入除]]>外任意字符,不能嵌套。

3、PCDATA

PCDATA 的意思是被解析的字符数据(parsed character data)。 可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本。

PCDATA 是会被解析器解析的文本。这些文本将被解析器检查实体以及标记。

文本中的标签会被当作标记来处理,而实体会被展开。

不过,被解析的字符数据不应当包含任何 &、< 或者 > 字符;需要使用 &、< 以及 >

的内置实体来分别替换它们。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110396.html

相关文章

  • 齿轮数据接口标准及应用前景

    摘要:德国公司已经将标准以及附加程序应用在其在全球工厂之间的数据交互以及在刀具采购,机床使用等方面与合作伙伴之间的信息交换,提高了企业生产效率,节省了生产成本。可扩展齿轮描述语言齿轮数据接口标准主要由可扩展齿轮描述语言及数据转换接口组成。 为解决齿轮设计、制造、测量和在役等各个阶段的数据种类和格式繁杂,数据交互困难且缺少相应自动化系统的问题,提出了基于XML语言的可扩展齿轮描述语言(eXte...

    dreambei 评论0 收藏0
  • XML解析详解|乐字节

    摘要:解析获取解析器获取文档获取根节点获取根节点下所有的子节点,也可以根据标签名称获取指定的直接点获取元素的名称和里面的文本创建创建节点创建属性设置文本设置关系关于解析先讲到这里了,请继续关注乐字节,后续超级干货奉上,快快乐乐学。 大家好,乐字节的小乐又来了,Java技术分享哪里少的了小乐!上次我们说了可扩展标记语言XML之二:XML语言格式规范、文档组成,本文将介绍重点——XML解析。sh...

    LinkedME2016 评论0 收藏0
  • 全栈开发自学路线

    摘要:前言这里筑梦师是一名正在努力学习的开发工程师目前致力于全栈方向的学习希望可以和大家一起交流技术共同进步用简书记录下自己的学习历程个人学习方法分享本文目录更新说明目录学习方法学习态度全栈开发学习路线很长知识拓展很长在这里收取很多人的建议以后决 前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程...

    galaxy_robot 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<