1.XML规范
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规范的更多相关文章
- 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 ...
- xml规范及xml解析
http://www.cnblogs.com/wang-meng/p/5374498.html 1,XML基础介绍 xml的概念: XML 指可扩展标记语言(EXtensible Markup Lan ...
- 如何使用Google APIs和Google应用系统集成(7)----在里面JSON兑换XML数据处理,JSON数据包括违规XML数据规范:XML节点名称不支持号码Java解
笔者电话Google Calendar APIs的GetColors方法,其中(有关详细信息Google Calendar API已经Google API看到我的博文介绍的其余部分,目前,我们只取Go ...
- Batsing的网页编程规范(HTML/CSS/JS/PHP)
特别注意!!!我这里的前端编程规范不苟同于Bootstrap的前端规范. 因为我和它的目的不同,Bootstrap规范是极简主义,甚至有些没有考虑到兼容性的问题. 我的规范是自己从编程实践中总结出来的 ...
- XML中<beans>中属性概述
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w ...
- XML和JSON数据格式对比
概念 XML 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语 ...
- Strus2第一次课:dom4j解析xml文档
xml文本标记语言: 常用于交换数据:独立于操作系统.编程语言数据存储:xml数据配置:灵活性强,可读性高可以使用css样式改变xml样式 xml解析技术:dom解析xml技术: sax解析xml技术 ...
- html, xhtml和xml
html, xhtml和xml 1.定义及特点: 1) html:Hyper Text Markup Language 超文本标记语言 是最早写网页的语言,但编码不规范,主要用于控制数据的显示和外观. ...
- XMl.02-约束
DTD约束 DTD的书写位置 XML构建模块 DTD定义元素 DTD属性的定义 DTD实体的定义 schema约束 命名空间 schema约束的书写流程 XML被设计为一种很灵活的标记文档. 但是,有 ...
随机推荐
- Tree on the level UVa122
很单纯的树的遍历,但是输入和方向好麻烦!!下面给出代码,题目来自UVa 122 #include<cstdio> #include<cstring> #include<v ...
- Java Web(九) 用户管理系统
前面学习了一大堆,什么JSP,Servlet.jstl.el等等等,大多是一些死的东西,只要会其语法,知道怎么用就行了,所以做了一个小小的只有增删改查的小demo,为的就是熟悉这些知识.灵活运用起来. ...
- IKAnalyzer 分词
IK Analyzer 3.0特性 采用了特有的"正向迭代最细粒度切分算法",具有80万字/秒的高速处理能力 采用了多子处理器分析模式,支持:英文字母(IP地址.Email.URL ...
- 自定义view(一)
为什么标题会是自定义view(一)呢?因为自定义view其实内容很多,变化也很多,所以我会慢慢更新博客,争取多写的有关的东西,同时,如果我以后学到了新的有关于自定义view的东西,我也会及时写出来. ...
- 【openstack N版】——块存储服务cinder
一.块存储服务介绍 1.1块存储服务通常包含以下组件 cinder-api: 接受API请求,并将其路由到"cinder-volume"执行. cinder-volume: 与块存 ...
- 1692: [Usaco2007 Dec]队列变换(BZOJ1640强化版)
1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 682 Solved: 280[Submit][Sta ...
- 深入理解 JavaScript 异步系列(5)—— async await
第一部分,ES7 中引入 async-await 原文地址 http://www.cnblogs.com/wangfupeng1988/p/6532734.html 未经作者允许,不得转载~ 前面介绍 ...
- webpack和webpack-dev-server安装配置(遇到各种问题的解决方法)
跟着Webpack傻瓜式指南(一)这个教程在安装webpack和webpack-dev-server的时候遇到很多问题,查了很多终于一一找到解决办法. 主要参考了这三篇博文: moudule.js:3 ...
- 给 Qt 添加模块
添加 Qt 模块 QtCanvas3D 由于需要使用 Qt Quick 进行 3D 绘图,因此在网上找了一些资料. JS 绘制 3D 的有 ThreeJS 库,应该可以用于 QML.继续搜索,发现Qt ...
- CoreAnimation 图层几何学
CoreAnimation 图层几何学 博客园MakeDown支持不佳,如有需要请进GitHub 图层几何所讲主要是有关图层的位置,尺寸等几何类属性. 布局 在UIView中与位置,尺寸有关的属性有 ...