• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:16来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

的信息。值“ n o”表示可能存在这类外部标记声明。独立文档声明仅仅说明是否存在外部声
明;但是如果文档引用了内部声明的外部实体,它不影响文档的独立状态。
如果不存在外部标记声明,独立文档声明就没有任何意义。如果文档存在外部标记声明,
但没有独立文档声明,则假设取值为“ n o”。
某些在网络上传输的应用程序可能需要独立的文档,从算法角度讲,任何s t a n d a l o n e = " n o "的
X M L文档都能够转化为独立的文档。
有效性约束:独立文档声明
如果文档的外部标记声明包含以下类型的声明,则独立文档声明的值必须设置为“ n o”:
820使用XML 高级编程
下载
• 含缺省值的属性声明,且具有该属性的元素在文档中没有指定属性值。
• (除a m p、l t、g t、a p o s和q u o t之外的)实体声明,且文档中引用了该实体。
• 属性值受规格化限定的属性声明,且文档中的属性值将因规格化而修改。
• 具有元素内容的元素类型声明,且这些类型的任何实例中直接出现空白。
下面的例子显示了含独立文档声明的X M L声明:
2.10 空白处理
在编辑X M L文档时,为了增强文档的可读性,经常要使用“空白”(空格、制表符或空行,
本规范中用非终结符S表示)来分隔标记。这些空白通常不需要出现在文档的发布版本中。另一
方面,有些“重要的”空白应该保留,例如诗歌和源代码中的空白。
X M L处理器必须将文档中的所有非标记字符传递给应用程序。验证有效性的X M L处理器必
须告知应用程序元素内容中的哪些字符构成了空白。
元素中可以附加一个名为x m l : s p a c e的特殊属性,它用于通知应用程序应该保留此元素中的
空白。在有效的文档中,与其他属性一样,该属性必须在使用之前进行声明。该属性必须声明
为枚举类型,它的可选值只有“ d e f a u l t”和“p r e s e r v e”。例如:
值“d e f a u l t”表明对于该元素可以使用应用程序缺省的空白处理模式;值“ p r e s e r v e”表明
应该为应用程序保留所有空白。该声明将作用于它所在的元素内容中的所有元素,除非被另一
个x m l : s p a c e属性实例所覆盖。
任何文档的根元素通常被认为对应用程序的空白处理方式不作要求,除非它设置了
x m l : s p a c e属性的值,或者将该属性声明为带缺省值的。
2 . 11 行尾处理
X M L解析实体一般保存在计算机文件中,为了编辑方便,它们是按行组织的。这些行通常
用某些字符的组合来分隔,例如:回车( # x D)和换行(# x A)。
为了简化应用程序的工作,如果外部解析实体或内部解析实体的文字实体值包含字符序列
“# x D # x A”或独立的字符# x D,X M L处理器必须将它们替换为单字符# x A传递给应用程序。(在
解析文档之前,只要将所有换行规格化为# x A,就能够简便地实现该行为。)
2.12 语言标识
在处理文档时,标识出内容所用的自然语言或形式语言是非常有必要的。为此,可以在文
档中插入名为x m l : l a n g的特殊属性,它能够指定X M L文档中任意元素的内容和属性值所用的语
言。在有效的文档中,与其他属性一样,该属性必须在使用之前进行声明。[IETF RFC 1766]
(“语言识别标记”)定义了该属性值可以选择的语言标识符:
表A - 1 4
语言标识
[ 3 3 ] L a n g u a g e I D : : = Langcode ('-' Subcode)*
[ 3 4 ] L a n g c o d e : : = ISO639Code | IanaCode | UserCode
[ 3 5 ] I S O 6 3 9 C o d e : : = ([a-z] | [A-Z]) ([a-z] | [A-Z])
附录A XML 1.0规范使用821 下载
(续)
语言标识
[ 3 6 ] I a n a C o d e : : = ('i' | 'I') '-' ([a-z] | [A-Z])+
[ 3 7 ] U s e r C o d e : : = ('x' | 'X') '-' ([a-z] | [A-Z])+
[ 3 8 ] S u b c o d e : : = ([a-z] | [A-Z])+
L a n g c o d e可以取以下值:
• [ISO 639](“语言名称的表示码”)中定义的双字母的语言代码。
• I A N A(Internet Assigned Numbers Authority)注册的语言标识符;它们是以前缀“ i -”
(或“I -”)开头的。
• 用户设置的语言标识符,或者各方经协商同意的语言标识符;为了不与标准化的名称或
I A N A注册的名称冲突,它们必须以前缀“ x -”或“X -”开头。
S u b c o d e段的数量不受限制;如果存在第一个子代码段且它包含两个字母,则它必须是[ I S O
3 1 6 6 ](“国家名称的表示码”)中定义的国家代码。如果第一个子代码包含的字母多于两个,则
它必须是I A N A注册的语言的子代码,除非L a n g c o d e是以前缀“ x -”或“X -”开头的。
习惯上,语言代码用小写字母表示,国家代码(如果存在的话)用大写字母表示。需要注
意的是,与X M L文档中的其他名称不同,这些值是不区分大小写的。
例如:
属性声明x m l : l a n g将应用于它所在的元素的所有属性和内容,除非被内容中的另一个元素的
x m l : l a n g实例所覆盖。
简单的x m l : l a n g属性声明可能具有以下形式:
xml: lang NMTOKEN #IMPLIED
如果需要的话,也可以给出特定的缺省值。在下面的例子中,有一本要给英国学生阅读的
法文诗集,它的注释和说明都是英文的,它可以有以下x m l : l a n g属性声明:
3. 逻辑结构
每个X M L文档都包含一个或多个元素,它们通过起始标记和结束标记定界,或者对于空元
素,使用空元素标记来表示元素的边界。每个元素都有一个用名称标识的类型,有时称之为
“通用标识符(Generic Identifier,G I),元素还可以有属性定义集合。属性定义是由名称和值构
成的。
822使用XML 高级编程
下载
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程下(84)