空白处理
在XML规范中,空白包括空格、制表符、空行。
空白在XML文档中,主要有两种作用。
第一种,为了使代码格式更加美观,进行的空白。对于代码本身的运行没有什么影响,仅仅是为了代码的美观和规范。——可以舍弃的空白
第二种,分隔作用,例如<!ELEMENT content (#PCDATA)>此种代码中用到的空白符为空格,主要就是为了分隔关键字ELEMENT、定义的元素content标记和元素类型#PCDATA,是有实际意义的。或者是用户想要保留的空白。——不可舍弃的空白
对于XML文档中,任何一个元素标签之间的空白字符一般都是用来是代码更加美观的,如果用户不特殊说明要保留空白,通常都会进行缺省处理,即舍弃元素标签之间的空白符。
XML处理器总是将文档中不是标记的所有字符都传递给应用程序(个人理解,这里所所说的应用程序就是用来处理这些字符的应用程序),一个进行有效性验证的XML处理器会通知应用程序这些字符中的哪一些组成了出现在元素中的空白。
分析:
XML处理器将不是标记的字符传递给应用程序。
进行有效性验证的处理器还会通知应用程序这些字符中哪些组成了出现在元素中的空白。
通常情况下,当XML处理器将XML文档中的所有不是标记的字符都传递给应用程序之后。应用程序会对空白符做缺省处理,即舍弃空白字符。那么用户如何通知应用程序来保留用户想要保留的空白符呢?看下面的内容:
在XML文档中,可以在元素中使用一个特殊的属性xml:space,来通知应用程序保留此元素中的空白。
注意:该属性名及其功能都已经定义好了,我们使用的时候只要生命即可。