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. 关于OpenGL和DX学习的取舍

    大家多知道左右就肯定要与显卡打交道.两大图形图像IPA.OpenGL(图形),DX(图形,声音,键盘控制,网络) OpenGL的兴起可能取决于苹果公司的适用,吸引看大部分开发者适用,它有跨平台的有点. ...

  2. Windows Opengl ES 环境搭建

    环境 OS:win7 专业版SP1 64位 编译器: VS 2013 express 的cl 软件 windows上运行OpenGL ES要用到第三方的头文件,库文件和dll.下载地址 http:// ...

  3. centos7搭建nexus maven私服

    前置条件: 1.安装jdk,可参考 http://www.cnblogs.com/grey-wolf/p/6480489.html 2.nexus仓库管理器,分为两个版本,Nexus Reposito ...

  4. gstunnel---一个网络安全管道

    项目简介: gstunnel 是 基于go 语言开发的一个安全网络管道,支持tcp协议. gstunnel分为client和server两部分. gstunnel 基于aes进行数据加密. 流程示意: ...

  5. WPF 自定义标题栏

    在做客户端应用程序时,往往觉得Windows自带的标题栏没有样式,不太好看,下面分享自自定义的一个Windows工具 效果图: <Style x:Key="Buttonclock&qu ...

  6. Collector for ArcGIS的使用体验

    基于Esri的Portal for ArcGIS(下面简称Portal),用户可以搭建一个本地的地理信息云平台.围绕着这个云平台,Esri为不同的终端提供了响应的解决方案,其中Collector fo ...

  7. DOM基础(一)

    在我们刚刚学JavaScript的时候,就应该听说过,JavaScript是由三部分组成的.分别是ECMAScript,DOM和BOM组成的.ECMAScript是JavaScript的核心,它描述了 ...

  8. MATLAB(5)——生成归一化直方图

    作者:桂. 时间:2017-03-10  22:13:36 链接:http://www.cnblogs.com/xingshansi/p/6533579.html 声明:欢迎转载,不过记得注明出处哦~ ...

  9. wemall app商城源码中基于JAVA的Android异步加载图片管理器代码

    wemall doraemon是Android客户端程序,服务端采用wemall微信商城,不对原商城做任何修改,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可随意定制修改.本文分享其中 ...

  10. iOS 常用公共方法

    iOS常用公共方法 1. 获取磁盘总空间大小 //磁盘总空间 + (CGFloat)diskOfAllSizeMBytes{ CGFloat size = 0.0; NSError *error; N ...