唐山网站建设

设为主页 加入收藏 繁體中文

网页编程必看:XML文法分析

核心提示:在进行XML文法分析之前,首先有必要了解XML语法的基本规则...

 在进行XML文法分析之前,首先有必要了解XML语法的基本规则:

 词法特点:1)XML辨别大小写,如元素名在打开和封闭标记中应保持大小写1致,XML的保存词串应符合大小写要求 …。

 2)XML保存标记字符为:< > &,保存字符不答应出现在元素名、元素文本、属性名、属性值中,< 用户打开标记,>用于封闭标记,&用于转意,常见的转意为 &lt天生<,&gt天生>,&amp天生&,&apos天生’,&quot天生”

 3)元素名以下划线或字母开始,可包括字母、数字、句点、连字符、下划线、冒号和用于其他语言的扩大字符,元素名中不能有空格符(分格符、跳格符、换行符、回车符),元素名可以由名域前缀。如: 元素文本可以是除XML保存字符外的字符集合,如 my money is $2000

 4)属性名的规则同元素名,属性值由单引号或双引号括约其中,可由除XML保存字符之外的字符串组成,如:。属性名有xmlns前缀,表明该属性定义了1个名域,如:

 句法特点:1)XML文档由1个XML说明、多个可选的文档说明、多个可选的XML指令、多个可选的XML注释和1个根元素的数据体组成,另外还可以有嵌进语句中的CDATA段,如:

以下为援用的内容:
/*XML说明*/
   /*XML文档说明*/
   /*XML注释*/
   /*XML指令*/
   /*根数据元素*/
  
  …
  

  

 2)XML说明由标封闭,其中包括版本、编码等可选说明,如:

 3)XML文档说明由封闭,如:

 4)XML指令由封闭,如:

 5)XML注释由封闭,如:

 6)XML元素由<元素名>打开,由/>,或封闭,元素的打开和封闭标记相互匹配,如…,XML的元素答应嵌套,应此还应保持层次上的匹配,如..

 7)CDTATA段由打开,由]]>封闭,用于使居于其中的语句规避XML解析规则。如:

 根据以上的XML文法特点,可以构造出用于词法分析的正则式和用于句法分析的下推自动机结构。

 XML词法正则式:

 #define digit [1,2,…,9] /*数字字符*/
 #define letter [a,b,…,z,A,B,…,Z] /*字母字符*/
 #define signs [~, ! , @, #, %, ^, &,*,(, ), ?, :, ;, “, ‘, ,, ., /,-, _, +, =, |, \] /*符号字符*/
 #define ascii2 [0x80,…,0xFF] /*ASCII chart2 扩大字符*/
 #define space [0x20, \t, \r, \n] /*空格符,跳格符,回车符,换行符*/
 #define reserve [< , >, &] /*XML保存字符*/

 1) 元素名的正则式:

 element_name -> (_ | letter | ascii2) (ε| _ | - | : | . | digit | letter | signs | ascii2)*

 2) 元素文本的正则式:

 element_text -> (ε| not reserve)*

 3) 属性名的正则式:

 proper_name -> (_ | letter | ascii2) (ε| _ | - | : | . | digit | letter | signs | ascii2)*

 4) 属性文本的正则式:

 proper_value -> (ε| not reserve)*

唐山网站建设www.fw8.net
TAG:属性,字符,元素,正则,词法
评论加载中...
内容:
评论者: 验证码: