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. githup教程

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/瘳雪峰-Git教程http://w ...

  2. php分页查询

    1.先把数据库里所有的数据分页显示在页面,并在显示数据的表格上方加上查询表单. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit ...

  3. 发布自己的Angular2库初探

    从去年年底开始使用ng2,遇到并解决或被虐了一些问题点,对其各种新特性与开发模式感觉还算舒服.还有的一个感想就是,要使用ng2还得先学习不少其他东西,比如TypeScript语法,比如ES6新特性,还 ...

  4. 数据库读写分离Amoeba

    1.理解读写分离的原理 Amoeba(变形虫)项目,该开源框架于2008发布一款Amoeba for mysql软件,该软件致力于mysql的分布式数据库前端代理层,主要的作用是应用服务访问mysql ...

  5. iOS 用Swipe手势和动画实现循环播放图片

    主要想法 添加3个ImageView展示图片,实现图片的无限循环. 使用Swipe手势识别用户向右或向左滑动图片. 使用CATransition给ImageView.layer添加动画,展示图片更换的 ...

  6. MySQL主从复制与主主复制

    1.简介 MySQL作为世界上使用最为广泛的数据库之一,免费是其原因之一.但不可忽略的是它本身的功能的确很强大.随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求.此时 ...

  7. ABP入门系列(13)——Redis缓存用起来

    ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 引言 创建任务时我们需要指定分配给谁,Demo中我们使用一个下拉列表用来显示当前系统的所有用 ...

  8. Swift 包管理器命令行使用

    1.swift -version //swift 版本查看 2.swift build //swift工程编译 3.swift package generate-xcodeproj //创建Xcode ...

  9. 在.NET Core 上运行的 WordPress

    在.NET Core 上运行的 WordPress,无需安装PHP既可跨平台运行WordPress. 在Peachpie中实现PHP所需的功能数月后,现在终于可以运行一个真实的应用程序:WordPre ...

  10. Java8中 Parallel Streams 的陷阱 [译]

    译注:文本有所精简和意译 原文链接 : Java Parallel Streams Are Bad for Your Health!原作者:OLEG SHELAJEV 翻译:Hason 转载请保留相关 ...