1.1 XML命名规范

XML 元素必须遵循以下命名规则:

• 名称可以含字母、数字以及其他的字符

• 名称不能以数字或者标点符号开始

• 名称不能以字符“xml”(或者XML、Xml)开始

• 名称不能包含空格

为了让数据更便于阅读,请使元素命名具有语义。此外,建议遵守以下的编码规范,这样可以让别人更容易阅读你的代码。

使用下划线作为分隔符。比如:<book_title>

避免"-" 字符。如果您按照这样的格式进行命名:”first-name”,一些软件会认为你需要提取第一个单词。

避免"." 字符。如果您按照这样的格式进行命名:"first.name",一些软件会认为"name" 是对象"first" 的属性。

避免":" 字符。冒号会被转换为命名空间来使用

1.2 XML编码规范(须继续补充)

当我们创建一个XML文档时,我们首先要明白这个XML文件的保存编码,我们把这个编码叫做XML文档的文件编码。另外,我们在XML也回声明该XML文档使用的是什么编码,我们把这个编码叫做XML中的编码属性。

注意文件编码一定要和XML中得编码属性相同,建议都设置为:UTF-8编码格式。此外,为了格便我们编辑XML文档,我们要选择那些支持编码的编辑器,不要使用一些不支持编码的编辑器(比如:Wins自带的记事本就不支持编码,当你保存时,其默认是按照ANSI格式保存的。ANSI编码在不同语言的计算机系统的编码是不同的,在简体中文是GB2312编码,在繁体中文是BIG5编码……)。

如果你希望深入了解字符编码,你可以看看这篇文章:http://www.ruanyifeng.com/blog/2007/10/

1.3 XML编写规范

一个良好的XML文档,需要遵守以下XML语法规则:

XML头必须有XML头声明。即:<?xml version="1.0" encoding="utf-8">。

其中encoding表示xml文件的编码。

XML 文档必须有根元素

XML 文档必须有关闭标签

XML 标签对大小写敏感

XML 元素必须被正确的嵌套

尽量填写XML命名空间

如下面的例子就是一个符合XML语法规则的XML文档:

<?xml version="1.0" encoding="utf-8">
<bookstore xmlns="wwww.cnblogs.com/chanshuyi/bookstore">
	<book>
		<title>Empire</title>
		<author>Chans</author>
	</book>
	<book>
		<title>Music</title>
		<author>Huis</author>
	</book>
	<book>
		<title>Lyrics</title>
		<author>Jacket</author>
	</book>
</bookstore>

此外,以下两点也是需要注意的:

XML 属性必须加引号

XML中的属性值或者文本如果有以下字符,需要将其转化成相对应的转义字符。


另外,关于XML属性,你应该极力养成的理念是:元数据(有关数据的数据)应当存储为属性,因为XML元素比XML属性有着更强的拓展性。

比如在下面的例子中,id属性仅仅作为一个标识笔记(note)的编号存在,与实际的数据有关,因此可以作为属性来存放。

<messages>
<note id="501">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
<note id="502">
<to>John</to>
<from>George</from>
<heading>Re: Reminder</heading>
<body>I will not</body>
</note>
</messages>

1.XML规范的更多相关文章

  1. xmlns:xsi ——是指xml文件遵守xml规范,xsi全名:xml schema instance

    http://blog.sina.com.cn/s/blog_4b6f8d150100nx3e.html http://blog.csdn.net/iaiti/article/details/4226 ...

  2. xml规范及xml解析

    http://www.cnblogs.com/wang-meng/p/5374498.html 1,XML基础介绍 xml的概念: XML 指可扩展标记语言(EXtensible Markup Lan ...

  3. 如何使用Google APIs和Google应用系统集成(7)----在里面JSON兑换XML数据处理,JSON数据包括违规XML数据规范:XML节点名称不支持号码Java解

    笔者电话Google Calendar APIs的GetColors方法,其中(有关详细信息Google Calendar API已经Google API看到我的博文介绍的其余部分,目前,我们只取Go ...

  4. Batsing的网页编程规范(HTML/CSS/JS/PHP)

    特别注意!!!我这里的前端编程规范不苟同于Bootstrap的前端规范. 因为我和它的目的不同,Bootstrap规范是极简主义,甚至有些没有考虑到兼容性的问题. 我的规范是自己从编程实践中总结出来的 ...

  5. XML中<beans>中属性概述

    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w ...

  6. XML和JSON数据格式对比

    概念 XML 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语 ...

  7. Strus2第一次课:dom4j解析xml文档

    xml文本标记语言: 常用于交换数据:独立于操作系统.编程语言数据存储:xml数据配置:灵活性强,可读性高可以使用css样式改变xml样式 xml解析技术:dom解析xml技术: sax解析xml技术 ...

  8. html, xhtml和xml

    html, xhtml和xml 1.定义及特点: 1) html:Hyper Text Markup Language 超文本标记语言 是最早写网页的语言,但编码不规范,主要用于控制数据的显示和外观. ...

  9. XMl.02-约束

    DTD约束 DTD的书写位置 XML构建模块 DTD定义元素 DTD属性的定义 DTD实体的定义 schema约束 命名空间 schema约束的书写流程 XML被设计为一种很灵活的标记文档. 但是,有 ...

随机推荐

  1. android学习18——对PathMeasure中getPosTan的理解

    考虑这样的场景:要实现物体沿直接或曲线运动的效果.这就要算出某个时刻t,物体的坐标.getPosTan就是用来求坐标的.看下面的代码: float step = 0.0001f; Path path ...

  2. Two analytical 2d line intersection in OpenCASCADE

    Two analytical 2d line intersection in OpenCASCADE eryar@163.com Abstract. OpenCASCADE geometric too ...

  3. Java Web(十) JDBC的增删改查,C3P0等连接池,dbutils框架的使用

    前面做了一个非常垃圾的小demo,真的无法直面它,菜的抠脚啊,真的菜,好好努力把.菜鸡. --WH 一.JDBC是什么? Java Data Base Connectivity,java数据库连接,在 ...

  4. AlloyTouch之select选择插件

    原文地址:https://github.com/AlloyTeam/AlloyTouch/wiki/Simple-Select 写在前面 很多情况下,产品希望统一安卓和IOS select交互和样式. ...

  5. 利用jink的驱动软件j-flash 合并两个hex的方法,bootloader+app

    由于前几天要给工厂app和bootloader的hex的文件,网上很多都是bin的合并方法,bin的方法不再赘述,相信大家都能找到,现在将hex合并的方法写下来: 第一步:先打开第一个hex文件, 第 ...

  6. iOS 图片旋转方法

    iOS 图片旋转方法 通过 CGImage 或 CIImage 旋转特定角度 UIImage可通过CGImage或CIImage初始化,初始化方法分别为init(cgImage: CGImage, s ...

  7. 【需求工程】KANO模型

    引言 1979年10月东京理工大学教授狩野纪昭(Noriaki Kano)和其同事 Fumio Takahashi发表的论文 <Motivator and Hygiene Factor in Q ...

  8. Jmeter+Badboy实战经验三 Jmeter关联相关知识

    1. 什么时候需要使用关联? 有些参数是动态变化的,获取之后,再次操作的时候,参数的值已经发生了变化,这种情况下就会出现脚本不可运行的问题,就需要用到了关联 2. 关联是什么概念? 3.jmeter ...

  9. Java 注解 入门

    这几天在学习Spring3.x,发觉现在许多框架都用上了java注解功能,然后自己就对java注解这方面初步学习了一下. 首先,注解跟注释不是一个意思,也根本不是同一个事物. 注释就是我们平常平常中对 ...

  10. java装箱跟拆箱解析

    /** * 在jdk1.5之后,java为基本数据类型到对应的应用数据类型提供了自动拆箱装箱操作 * 不管是自动拆箱还是自动装箱都是应用数据类型有的方法,基本数据类型是没有任何方法可调用的 *从概念上 ...