• 热门标签

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

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

表A - 1 5
元素
[ 3 9 ] e l e m e n t : : = E m p t y E l e m Tag
| STag content ETa g [ W F C:元素类型匹配]
[ V C:元素有效性]
本规范对元素类型和属性的语义、用法和(除了语法之外的)名称没有特殊限制,但是在本
规范的当前版本及后续版本中,以( ( ' X ' | ' x ' ) ( ' M ' | ' m ' ) ( ' L ' | ' l ' ) )开头的名称都是专为标准化而保留的。
格式正规约束:元素类型匹配
元素的结束标记中的名称必须与起始标记中的元素类型匹配。
有效性约束:元素有效性
对于一个与e l e m e n t d e c l匹配的声明,如果声明的N a m e与元素类型匹配,且满足以下条件之
一,则认为元素是有效的:
• 声明与E M P T Y匹配,且元素没有内容。
• 声明与c h i l d r e n匹配,且子元素序列属于根据内容模型中的正则表达式产生的语言,每对
子元素之间可以有空白(与非终结符S匹配的字符)。
• 声明与M i x e d匹配,且内容包含字符数据和子元素,其中子元素的类型与内容模型中的名
称匹配。
• 声明与A N Y匹配,且任何子元素的类型都已经声明。
3.1 起始标记、结束标记和空元素标记
每个非空X M L元素都是以起始标记作为开始的。
表A - 1 6
起始标记
[ 4 0 ] STa g : : = '<' Name (S [ W F C:唯一的属性说明]
Attribute)*S? '>'
[ 4 1 ] A t t r i b u t e : : = Name Eq AttVa l u e [ V C:属性值类型]
[ W F C:无外部实体引用]
[ W F C:属性值中不含< ]
起始标记和结束标记中的N a m e指定了元素的类型。N a m e - A t t Va l u e对被称为元素的属性说明,
其中的N a m e代表属性名称,A t t Va l u e的内容(定界符'或"之间的文本)是属性值。
格式正规约束:唯一的属性说明
任何属性名称在起始标记或空元素标记中至多只能出现一次。
有效性约束:属性值类型
属性必须提前声明;它的值必须是所声明的类型。(“3.3 属性列表声明”一节详细定义了属
性类型。)
格式正规约束:无外部实体引用
属性值不能包含对外部实体的直接或间接的实体引用。
格式正规约束:属性值中不含<
附录A XML 1.0规范使用823 下载
属性值直接或间接引用的实体的置换文本绝对不能包含<,但是可以使用“& l t ;”。
下面是一个起始标记的例子:
对于以起始标记开始的元素,必须以结束标记终止,结束标记中的名称应该与起始标记中
的元素类型相同。
表A - 1 7
结束标记
[ 4 2 ] ETa g : : = '</' Name S? '>'
下面是一个结束标记的例子:
起始标记和结束标记之间的文本称为元素的内容:
表A - 1 8
元素内容
[ 4 3 ] c o n t e n t ::= (element | CharData | Reference | CDSect | PI
| Comment)*
如果元素为空,它必须以连续的起始标记和结束标记表示,或者以空元素标记表示。空元
素标记的格式如下:
表A - 1 9
空元素标记
[ 4 4 ] E m p t y E l e m Ta g : : = '<' Name (S Attribute)* S? '/>' [ W F C:唯一的属性
说明]
空元素标记可以应用于任何无内容的元素,无论该元素在声明时是否使用了关键字E M P T Y。
出于互操作性考虑,空元素标记必须且只能用于声明为E M P T Y的元素。
下面是空元素的例子:
3.2 元素类型声明
为了保证文档的有效性, X M L文档的元素结构要使用元素类型和属性列表声明进行约束。
元素类型声明用于限制元素的内容。
元素类型声明指定了该元素可以包含的子元素类型。根据用户的选择,当声明中涉及的元
素类型没有声明时, X M L处理器可以产生警告,但这并不是错误。
元素类型声明的格式如下:
824使用XML 高级编程
下载
表A - 2 0
元素类型声明
[ 4 5 ] e l e m e n t d e c l : : = '<!ELEMENT' S Name S [ V C:唯一的元素类型声明]
contentspec S? '>'
[ 4 6 ] c o n t e n t s p e c : : = 'EMPTY' | 'ANY'
| Mixed | children
其中N a m e是所声明的元素类型。
有效性约束:唯一的元素类型声明
元素类型至多声明一次。
下面是元素类型声明的例子:
3.2.1 元素内容
当元素只能包含以空白(与非终结符S匹配的字符)分隔的子元素(不含字符数据)时,我
们称元素类型具有元素内容。在这种情况下,使用内容模型对元素进行约束,内容模型是用于
指定子元素类型及顺序的简单语法。该语法是建立在内容粒子( Content Particle,C P)基础上
的,内容粒子包含名称、内容粒子的选择列表或顺序列表:
表A - 2 1
元素内容模型
[ 4 7 ] c h i l d r e n : : = (choice | seq) ('?' | '*' | '+')?
[ 4 8 ] c p : : = (Name | choice | seq) ('?' | '*' | '+')?
[ 4 9 ] c h o i c e : : = '(' S? cp ( S? '|' S? cp )*S? ')' [ V C:正确的组/ P E
嵌套]
[ 5 0 ] s e q : : = '(' S? cp ( S? ',' S? cp )*S? ')' [ V C:正确的组/ P E
嵌套]
其中N a m e是子元素的类型。选择列表中的任何内容粒子都可以出现在元素内容中,它的位
置应该是选择列表在语法中出现的位置;顺序列表中的内容粒子必须按照列表中指定的顺序出
现在元素内容中。名称或列表后的可选字符用于控制列表中的元素或内容粒子出现的次数,例
如:+表示一次或多次, *表示零次或多次,?表示零次或一次。如果缺少这类运算符,则意味
着元素或内容粒子必须出现一次,且只能出现一次。上述语法和含义可以应用于本规范的所有
产生式。
当且仅当元素内容能够与内容模型吻合,遵守顺序、选择和重复运算符,且内容中的每个
元素与内容模型中的元素类型匹配,则称元素内容与内容模型匹配。出于兼容性考虑,如果某
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程下(85)