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. 华硕ASUS笔记本 中间5个指示灯分别表示什么

    1.图案像个灯的叫电源状态指示灯:当笔记本电脑启动时,电源状态指示灯便会亮起来并会在笔记本电脑进入休眠模式(Sleep Mode,Suspend-to-RAM)时缓慢闪烁.当笔记本电脑关机或进入休眠模 ...

  2. BZOJ 1095: [ZJOI2007]Hide 捉迷藏(线段树维护括号序列)

    这个嘛= =链剖貌似可行,不过好像代码长度很长,懒得打(其实是自己太弱了QAQ)百度了一下才知道有一种高大上的叫括号序列的东西= = 岛娘真是太厉害了,先丢链接:http://www.shuizilo ...

  3. 前端数据统计用做Bootstrap的一些柱状图、饼状图和折线图案例

    Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷. Bootstrap ...

  4. 关于ImageLoader的一些东西

    网络图片异步加载 其实有关图片加载存在这样一个问题,图片的下载始终是一个耗时的操作,这个时候如果把图片加载放在主线程中话的是不明智的,模拟一个这样的场景, 假如在一个listview或Recycler ...

  5. PDO数据访问抽象层

    PDO数据访问抽象层: 我们使用的mysqli是针对mysql这个数据库扩展的一个类,如果要用到别的数据库的话就可以用PDO来做 1.操作数据库 先来代码 <!--PDO--> <! ...

  6. Java代理(静态/动态 JDK,cglib)

    Java的代理模式是应用非常广泛的设计模式之一,也叫作委托模式,其目的就是为其他的对象提供一个代理以控制对某个对象的访问和使用,代理类负责为委托类预处理消息,过滤消息并转发消息,以及对消息执行后续处理 ...

  7. NAT穿透进行P2P文件传输

    实现一个简单的p2p文件传输,主要解决NAT穿透问题,使用tcp协议传输. NAT背景介绍 简介 NAT(Network Address Translation ,网络地址转换) 是一种广泛应用的解决 ...

  8. h5标签基础 表单form

    表单:收集用户信息 一. 组成: 文本框<input type="text"/> 密码框<input type="password"/> ...

  9. 调试时a标签禁止跳转方法

    a.setAttribute("onclick",'');

  10. Js里面的数组去重方法

    去掉数组里面重复的有很多种,我这里就说一种比较简单的吧. var arr=[23,33,44,33,44,66,44,55,44,4,44,33,23]; for(var i=0;i<arr.l ...