解析XML对代码中的空白处理

   2016-03-06 0
核心提示:这篇文章主要介绍了XML对代码中的空白处理,文中介绍到了XML书写中的有效空白与无效空白的区分,需要的朋友可以参考下

1、在XML规范中,空白包括空格,制表符和空行。在编辑XML文档时,我们常常使用空白来分隔标记,以获得较好的可读性,然而在交互的空白文档中,这些空白就不需要了,但有时候又需要保留这些空白。例如,诗歌和程序代码中的空白,
2、XML处理器总是将文档中不是标记的所有字符都传递给应用程序,一个进行有效性验证的XML处理器会通知应用程序这些字符中的哪一些组成了出现在元素内容中的空白。
3、在XML文档中,可以在元素中使用一个特殊的属性xml:space,来通知应用程序保留此元素中的空白。
4、在有效的文档中,这个属性和其它任何属性一样,在使用时必须声明。Xml:space属性必须被声明为Enumerated(枚举)类型,它的值必须是“default”和“preserve”两者之一,也可两个都取。
例如:
<!ATTLIST poem xml:space (default preserve)’preserve’>
意思是在poem这个元素上声明xml:space这个属性,它的类型是枚举类型,可以取值“default”和“preserve”,且这个属性的默认值是preserve’
<!ATTLIST pre xml:space (preserve)#FIXED ‘preserve’>
意思是在元素pre这个元素上进行声明xml:space属性,类型也是枚举类型,但是它只有一个取值“preserve”,并且用FIXED这个关键字对这个属性进行了缺省声明。声明它有一个默写的缺省值"default"表示对此元素使用应用程序的缺省空白处理模式,‘preserve’指示应用程序保留所有的空白.
5、如果一个元素使用了xml:space属性,将适用于该元素内容中的所有元素,除非被另一个xml:space属性的实例所覆盖。

XML 文档包含两种类型的空白 (a) 有效空白和 (b) 无效空白。下面的例子解释了这两种类型的空白。

有效空白
有效空白通常出现在在元素同时包含文本和标记时。例如:

XML/HTML Code复制内容到剪贴板
  1. <name>TanmayPatil</name>  

XML/HTML Code复制内容到剪贴板
  1. <name>Tanmay Patil</name>  

上面的两个元素是不同的,因为 Tanmay 和 Patil 之间的空白不一样。任何程序读取 XML 文件中的这种元素时都必须保持它们的区别。

无效空白
无效空白意味着只允许在元素内容中出现。例如:

XML/HTML Code复制内容到剪贴板
  1. <address.categoryaddress.category="residence">  

或者

XML/HTML Code复制内容到剪贴板
  1. <address....categoryaddress....category="..residence">  

上面两个例子是一样的。这里,我们通过点号(.)表示空白。在上面的例子中,address 和 category 之间的空白是无效的。

我们还给元素附加一个特殊的属性 xml:space。这表示元素的空白不应该由应用程序移除。我们可以设置这个属性为 default 或者 preserve。正如下面的例子所示:

XML/HTML Code复制内容到剪贴板
  1. <!ATTLIST address xml:space (default|preserve) 'preserve'>  

这里:

值 default 表示这个元素可以接受应用程序的默认空白处理模式。
值 preserve 表示应用程序会保护所有的空白。

 
标签: XML 空白
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • JavaScript的XMLHttpRequest对象
    ajax的核心技术是XMLHttpRequest对象,简称XHR。//支持IE7及更高的版本function createXML(){if(typeof XMLHttpReqquest!="undefined"){return new XMLHttpRequest();}else if(typeof ActiveXObject!="undefined"){if(typeof arguments.callee.activeXString!
    03-08
  • DOM,html,JavaScript,xml,CSS,浏览器之间的关系
    DOM,html,JavaScript,xml,CSS,浏览器之间
    DOM树解释:W3C所制订的DOM Level分为两大模块:Core和HTML。1.Core核心,W3C规范:满足软件开发者和Web脚本编写者,访问和操控产品项目中包含的可解析的HTML和XML内容。2.HTML模块,规范描述为:HTML之中特定元素的功能,和恰到好处的、易用的、针对常见性任
    03-08
  • 响应消息的内容类型 text/html; charset=utf-8
    问题表述:响应消息的内容类型 text/html; charset=utf-8 与绑定(application/soap+xml; charset=utf-8)的内容类型不匹配。 说明:此类问题当请求内容与响应消息内容不一致时发生。特别地,如果在站点错误描述中出现这个说明,一般代表站点后台自身的网络访
    03-08
  • jquery-easyui:格式化列 js格式化xml
    主框架页面: 在主界面区会加载西区菜单点击的URL内容. !DOCTYPE htmlhtmlheadmeta charset="UTF-8"/title主界面/titlediv th:include="/public/util::public"/div th:include="/public/util::jquery-easyui"/script type="text/javascript" th:src="(${@
    03-08
  • javascript读取XML
    2006-09-22 09:39 作者: 出处: 天极网   我的xml文件Login.xml如下.?xml version="1.0" encoding="utf-8" ?Login    Character        C Text="热血" Value="0"/C        C Text="弱气" Value="1"/C        C Text="
    03-08
  • XML与HTML的区别
    一、HTML       HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言。  二、XML       XML即ExtentsibleMarkup Language(可扩展标记语言),是用来定义其它语言的一种元语言,其前身是SGML(标准通用标记语言)。它没有标签集(tagset),
    03-08
  • 一个xml转html的小程序 别人一个毕业设计【难度
    本来想5分钟写写发过去了。。发现机子上就一个vs2003 没办法用 1.1的来写一个吧。。每次都是从新google下。。这次也不例外。。奶奶的。。发现竟是2.0的代码。。无奈。自己摸索了下。。搞了10分钟写了点代码。。部分源码如下(最下面提供代码下载):---------
    03-08
  • 直接用mysql输出xml或html语句
    mysql -uroot -proot -Hc:/sql.sqlc:/data.html;mysql -uroot -proot -Xc:/sql.sqlc:/data.xml;在sql.sql中写入批处理命令,既可导出xml或html数据
    02-08
  • 微信小程序 - WXML语法与HTML比较
    上章我们看到一个小程序的page是由 .wxml  .wxss  .js  .json组成。wxml:相当于html,开发小程序的页面wxss:相当于css,小程序页面渲染样式js:实现小程序的动态方法等,包括该page的生命周期函数等json:用于小程序的配置如果你已经很熟练掌握Html,那
    02-08
  • 调用Web Service服务出现响应消息的内容类型tex
         错误信息:响应消息的内容类型 text/html; charset=utf-8 与绑定(text/xml; charset=utf-8)的内容类型不匹配。如果使用自定义编码器,请确保正确实现 IsContentTypeSupported 方法。    今天小姚给客户做远程的时候出现这问题,第一感觉应该是配
    02-08
点击排行