欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【网页编程必看:XML文法分析】,下面是详细的分享!
网页编程必看:XML文法分析
在进行XML文法分析之前,首先有必要了解XML语法的基本规则:
词法特征:1)XML区分大小写,如元素名在打开和关闭标记中应保持大小写一致<mytag>…</mytag>,XML的保留词串应符合大小写要求<?xml …> <!ENTITY>…。
2)XML保留标记字符为:< > &,保留字符不允许出现在元素名、元素文本、属性名、属性值中,< 用户打开标记,>用于关闭标记,&用于转意,常见的转意为 <生成<,>生成>,&生成&,&apos生成’,"生成”
3)元素名以下划线或字母开始,可包含字母、数字、句点、连字符、下划线、冒号和用于其他语言的扩展字符,元素名中不能有空格符(分格符、跳格符、换行符、回车符),元素名可以由名域前缀。如:<mytag> <dt:mytag> 元素文本可以是除XML保留字符外的字符集合,如<mytag> my money is $2000 </mytag>
4)属性名的规则同元素名,属性值由单引号或双引号括约其中,可由除XML保留字符以外的字符串组成,如:<mytag myprop=”proper value”>。属性名有xmlns前缀,表明该属性定义了一个名域,如:<mytag xmlns:ns=”http://www.myweb.com/myschema”>
句法特征:1)XML文档由一个XML说明、多个可选的文档说明、多个可选的XML指令、多个可选的XML注释和一个根元素的数据体组成,此外还可以有嵌入语句中的CDATA段,如:
| 以下为引用的内容: <?xml …?> <!DOCTYPE …> <!-- … --> <?xml-stylesheet …?> <root> <child> …<![CDATA[…]]> </child> </root> |
2)XML说明由<?xml打开,由?>标关闭,其中包含版本、编码等可选说明,如:<?xml version=”1.0” encoding=”UTF-9”?>
3)XML文档说明由<!和保留串打开,由>关闭,如:<!DOCTYPE mydoc SYSTEM “mydoc.dtd”>
4)XML指令由<?和保留串打开,由?>关闭,如:<?xml-stylesheet type=”text/xsl” href=http://www.chinaz.com/program/2007/0424/”mystyle.xsl”?>
5)XML注释由<!――打开,由――>关闭,如:<!-- this is my xml document -->
6)XML元素由<元素名>打开,由/>,或</元素名>关闭,元素的打开和关闭标记相互匹配,如<myteg../>或<mytag>…</myteg>,XML的元素允许嵌套,应此还应保持层次上的匹配,如<myteg><subtag>..</subtag></mytag>。
7)CDTATA段由<![CDATA[>打开,由]]>关闭,用于使居于其中的语句规避XML解析规则。如:<![CDATA[ select * from mytable where thefield <=‘100’ ]]>
根据以上的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文法分析,下面是编辑为你推荐的有价值的用户互动:
相关问题:电脑编程入门必看哪种基础书?拜求~
答:电脑编程入门之四库全书书单,呵呵 1、Java Java编程语言(第三版)---Java四大名著----James Gosling(Java之父) Java编程思想(第2版)----Java四大名著----Bruce Eckel Java编程思想(第3版)----Java四大名著----------------BruceEckel JAVA 2... >>详细
相关问题:xml编程初学适合什么样的软件?该怎么开始学习?如...
答:编写XML根本不需要软件,记事本就可以了....真正要知道的只有几个要点: 1,文档结构 。XML文档的结构有个头部说明,可以指定编码和校验规则;后面么就是用写一堆树节点了。学习途径:找几个现成的xml文档看看就知道了。 2,文档规则 。XML的文... >>详细
相关问题:什么是网页XML编程
答:一. 什么是XML? 这往往是第一个问题,也往往在第一个问题上你就会搞不明白,因为大多的教材上这样回 XML是Extensible Markup Language的简写,一种扩展性标识语言。 这是标准的定义。那么什么是标志语言,为什么叫扩展性?已经让人有些糊涂... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
