曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
前面的声明。
5.2 使用X M L处理器
验证有效性的X M L处理器的行为是高度可预测的;它必须读取文档的每个部分,报告违反
格式正规约束和有效性约束之处。对于不验证有效性的处理器的要求略微低一些;它不必读取
整个文档,只要将注意力集中于文档实体即可。这对于X M L的处理器的用户而言可能会产生以
下两个重要的影响:
• 某些违反格式正规约束的错误,特别是需要读取外部实体才能发觉的错误,可能不会被不
验证有效性的处理器检测到。例如:实体声明约束、解析实体约束和无递归约束,以及
“4.4 XML处理器对实体和引用的处理”的“禁止”一节中描述的某些情况。
• 根据处理器是否读取参数和外部实体,从处理器传递给应用程序的信息有可能发生变化。
例如,规格化属性值、包含内部实体的置换文本,或者提供缺省属性值,如果上述操作需
要依赖于外部或参数实体中的声明,不验证有效性的处理器可能无法执行。
为了实现不同X M L处理器之间最大限度的可靠的互操作,使用不验证有效性的处理器的应
用程序不能依赖于这类处理器的非必需行为。需要更高功能的应用程序,例如要使用外部实体
中声明的缺省属性或内部实体,应该使用验证有效性的X M L处理器。
6. 表示法
本规范使用简单的扩展巴克斯-诺尔范式( Extended Backus-Naur Form ,E B N F)定义了
X M L的正式语法。语法中的每条规则都采用以下形式定义了一个符号:
838使用XML 高级编程
下载
如果符号是用正规表达式定义的,则它的第一个字母大写,否则第一个字母小写。文字串
都是带引号的。
在规则右侧的表达式中,以下表达式用于与含一个或多个字符的字符串匹配:
# x N
其中N是十六进制整数,表达式与ISO/IEC 10646中的字符匹配,该字符的规范( U C S - 4)代码
值解释为无符号二进制数时恰好与表达式的值相等。# x N格式中数字前面的零无关紧要;相应的
代码值中前面的零是由所采用的字符编码控制的,对X M L来说没有任何意义。
[ a - z A - Z ],[ # x N - # x N ]
与值在指定范围内的任意字符匹配(包含范围的边界)。
[ ^ a - z ],[ ^ # x N - # x N ]
与值在指定范围之外的任意字符匹配。
[ ^ a b c ],[ ^ # x N # x N # x N ]
与任何不在给定字符集内的字符匹配。
" s t r i n g "
与由双引号包含的文字串匹配。
' s t r i n g '
与由单引号包含的文字串匹配。
以上符号可能通过组合构成更加复杂的形式,下面描述了可能出现的组合,其中A和B代表
简单表达式:
( e x p r e s s i o n )
e x p r e s s i o n被视作一个单元,它可以按照下面列表描述的方式进行组合。
( [- ' ( ) + , . / : = ? ; ! * # @ $ _ $ ] )
与该列表匹配的字符可被认为是表达式。
A ?
与零个或一个A匹配,即:A是可选的。
A B
与A后接B匹配
A | B
与A或B匹配,但不能同时和两者匹配。
A - B
与任何与A匹配但不与B匹配的字符串匹配。
A +
与一个或多个A匹配。
A *
与零个或多个A匹配。
本产生式还用到了以下表示法:
/*... */
附录A XML 1.0规范使用839 下载
注释。
[ wfc:... ]
格式正规约束;它通过名称标识格式正规的文档应有的约束。
[ vc:... ]
有效性约束;它通过名称标识有效的文档应有的约束。
附录A 参考文献
A.1 标准化的参考文献
A.2 其他参考文献
840使用XML 高级编程
下载
附录B 字符的分类
根据统一码标准定义的特征,字符可以分为:基字符(包括拉丁字母表中没有变音符的字
母)、表意字符和组合字符(包括大多数有变音符的字母);以上三种类型构成了字母的分类。
除此之外,还有数字和混合字符。
表A - 3 7
字符
附录A XML 1.0规范使用841 下载
(续)
字符
842使用XML 高级编程
下载
(续)
字符
在此定义的字符类可以从统一码字符库中如下导出:
• 名称的起始字符必须属于L l,L u,L o,L t,N l中的一类。
• 除了起始字符之外的名称字符必须属于M c,M e,M n,L m或N d中的一类。
• 兼容区(即:代码大于# x F 9 0 0,小于# x F F F E的字符)中的字符不允许出现在X M L名称中。
• 不允许出现具有字体或兼容分解(即:字符库第5区有“兼容格式化标记”的字符—“<”
标志着5区的开始)的字符。
• 下列字符被当成名称起始字符,而不是名称字符,因为属性文档中将它们归于字母类:
[ # x 0 2 B B - # x 0 2 C 1 ],# x 0 5 5 9,# x 0 6 E 5,# x 0 6 E 6。
• 不允许出现字符# x 2 0 D D ~ # x 2 0 E 0 (与统一码的5 . 1 4节保持一致)。
• 字符# x 0 0 B 7被归入混合字符类,因为属性文档中对它是这么标识的。
• 字符# x 0 3 8 7被作为名称字符,因为# x 0 0 B 7是它的等价规范形式。
• 字符‘:’和‘_’可以作为名称起始字符。
• 字符‘-’和‘.’可以作为名称字符。
附录C XML和S G M L(未标准化)
X M L是S G M L的子集,因此有效的X M L文档也应该是正确的S G M L文档。要详细了解X M L
对文档的附加限制,参见[ C l a r k ]。
附录D 实体引用和字符引用的展开(未标准化)
本附录包含的例子用于说明“ 4.4 XML处理器对实体和引用的处理”一节中规定的实体引
用和字符引用识别和展开的顺序。
如果D T D包含以下声明:
当X M L解析实体声明时,它会发现字符引用,并处理这些引用,然后再将以下字符串保存
为实体“e x a m p l e”的值:
当文档中出现引用“ & e x a m p l e ;”时,文本会被再次解析,此时X M L处理器会发现元素“ p”
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
XML高级编程下(91)