词法特征:1)XML区分大小写,如元素名在打开和关闭标记中应保持大小写一致
2)XML保留标记字符为:< > &,https://www.mshxw.com/wiki/75.html" target="_blank">保留字符不允许出现在元素名、元素文本、属性名、属性值中,< 用户打开标记,>用于关闭标记,&用于转意,常见的转意为 <生成<,>生成>,&生成&,&apos生成’,"生成”
3)元素名以下划线或字母开始,可包含字母、数字、句点、连字符、下划线、冒号和用于其他语言的扩展字符,元素名中不能有空格符(分格符、跳格符、换行符、回车符),元素名可以由名域前缀。如:
4)属性名的规则同元素名,属性值由单引号或双引号括约其中,可由除XML保留字符以外的字符串组成,如:
句法特征:1)XML文档由一个XML说明、多个可选的文档说明、多个可选的XML指令、多个可选的XML注释和一个根元素的数据体组成,此外还可以有嵌入语句中的CDATA段,如:
…
2)XML说明由标关闭,其中包含版本、编码等可选说明,如:
3)XML文档说明由关闭,如:
4)XML指令由关闭,如:
5)XML注释由关闭,如:
6)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]
#define space [0x20, /t, /r, /n]
#define reserve [< , >, &]
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)*
XML句法结构:
xml_document -> xml_header (ε| xml_declare | xml_instruct | xml_comments)* xml_element xml_header -> [] xml_declare -> [] xml_instruct -> []reserve_word(space)* (proper_token)* (space)*[?>] xml_comments -> [热门相关搜索路由器设置 木托盘 宝塔面板 儿童python教程 心情低落 朋友圈 vim 双一流学科 专升本 我的学校 日记学校 西点培训学校 汽修学校 情书 化妆学校 塔沟武校 异形模板 西南大学排名 最精辟人生短句 6步教你追回被骗的钱 南昌大学排名 清朝十二帝 北京印刷学院排名 北方工业大学排名 北京航空航天大学排名 首都经济贸易大学排名 中国传媒大学排名 首都师范大学排名 中国地质大学(北京)排名 北京信息科技大学排名 中央民族大学排名 北京舞蹈学院排名 北京电影学院排名 中国戏曲学院排名 河北政法职业学院排名 河北经贸大学排名 天津中德应用技术大学排名 天津医学高等专科学校排名 天津美术学院排名 天津音乐学院排名 天津工业大学排名 北京工业大学耿丹学院排名 北京警察学院排名 天津科技大学排名 北京邮电大学(宏福校区)排名 北京网络职业学院排名 北京大学医学部排名 河北科技大学排名 河北地质大学排名 河北体育学院排名



