找回密码
 注册
广告投放 虚位以待【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
查看: 1634|回复: 0

XML1.0 中文文档(第二版)---6. 记法(Notation)

[复制链接]
发表于 2006 年 7 月 1 日 21:36:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本规范中 XML 的形式化文法用一种简单的扩展巴科斯范式(Extended Backus-Naur Form,EBNF)给出。文法中的每一条规则定义了一个符号,形式如下:




     

         symbol ::= expression
     




如果符号是正则语言的起始符号,则它以大写字母开头,
否则以小写字母开头。字符串常量(literal strings)用引号括起。




在规则右边的表达式中,以下表达式用于匹配一个或多个字符的字符串:





   
#xN
   
N 是一个十六进制的整数,当 ISO/IEC 10646 中某个字符的规范(UCS-4)代码值作为无符号二进制数与 N 相等时,此表达式匹配这个字符。#xN 中的前导 0 没有意义,在相应的代码值中的前导 0 的个数则由所用字符编码方案决定,对 XML 没有意义。


     
   
[a-zA-Z], [#xN-#xN]
   
与其值在指定范围内的任何 Char 相匹配(含界,inclusive)。


     
    [abc], [#xN#xN#xN]  
  
  
与其值为所枚举的值之一的 Char 相匹配。在一对方括号内枚举和范围可以混用。


   
   
[^a-z], [^#xN-#xN]
   
与其值在指定范围之外的任何 Char 相匹配。


     
   
[^abc], [^#xN#xN#xN]
   
与任何不在给定字符集内的 Char 相匹配。在一对方括号内被禁值的枚举和范围可以混用。


     
   
"string"
   
与匹配双引号中所给字符串的常量字符串相匹配。


     
   
'string'
   
与匹配单引号中所给字符串的常量字符串相匹配。






这些符号可以按下列方式组合,以匹配更复杂的模式,其中A和B表示简单表达式:





   
(expression)
   
expression 被当成一个单元,可以向本表描述的那样进行组合。
   
A?
   
与零个或一个 A 相匹配,即 A 可选。
   
A B
   
与 A 后跟 B 的模式相匹配。这个操作符的优先级高于 |,因此 A B | C D 相当于 (A B) | (C D)。
   
A | B
   
与 A 或 B 之一相匹配,但不同时匹配。
   
A - B
   
与任何匹配 A 但不匹配 B 的字符串相匹配。
   
A+
   
与一个或多个 A 相匹配。连接操作的优先级高于 |,因此 A+ | B+ 相当于 (A+) | (B+)。
   
A*
   
与零个或多个 A 相匹配。连接操作的优先级高于 |,因此 A* | B* 相当于 (A*) | (B*)。




其他在产生式中使用的记法有:





   
/* ... */
   
注释
   
[ wfc: ... ]
   
格式正确性约束;用名字标识一个对与某个产生式相关联的格式正确的文件的约束。
   
[ vc: ... ]
   
有效性约束;用名字标识一个对与某个产生式相关联的有效的文件的约束。
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 2 月 4 日 08:56 , Processed in 0.017374 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表