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

單飛雪°

單飛雪°

2016-02-19 20:00

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的网页编程必看:XML文法分析,希望大家看完后能赶快学习起来。

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

  词法特征:1)XML区分大小写,如元素名在打开和关闭标记中应保持大小写一致mytag…/mytag,XML的保留词串应符合大小写要求?xml  …  !ENTITY…。

  2)XML保留标记字符为:    &,保留字符不允许出现在元素名、元素文本、属性名、属性值中,  用户打开标记,用于关闭标记,&用于转意,常见的转意为  &lt生成,&gt生成,&amp生成&,&apos生成’,&quot生成”

  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段,如:

  以下为引用的内容:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

?xml  …?  /*XML说明*/
  !DOCTYPE  …  /*XML文档说明*/
  !--  …  --  /*XML注释*/
  ?xml-stylesheet  …?  /*XML指令*/
  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=”mystyle.xsl”?

  5)XML注释由!――打开,由――关闭,如:!--      this  is  my  xml  document    --

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

  6)XML元素由元素名打开,由/,或/元素名关闭,元素的打开和关闭标记相互匹配,如myteg../或mytag…/myteg,XML的元素允许嵌套,应此还应保持层次上的匹配,如mytegsubtag../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]  /*ASCII  chart2  扩展字符*/
  #define  space  [0x20,  ,  ,  ]  /*空格符,跳格符,回车符,换行符*/
  #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)*

展开更多 50%)
分享

猜你喜欢

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

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

在网页上读取远程xml的数据-Xml编程教程

Web开发
在网页上读取远程xml的数据-Xml编程教程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

XML 编程思想:XML语义

Web开发
XML 编程思想:XML语义

XML编程实例

Web开发
XML编程实例

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

XML 编程简介

Web开发
XML 编程简介

XML 编程思想:XML和语义

Web开发
XML 编程思想:XML和语义

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

XML 取得元素的字符数据

XML 取得元素的字符数据

Windows 8系统添乱导致笔记本键盘失灵的解决方法

Windows 8系统添乱导致笔记本键盘失灵的解决方法
下拉加载更多内容 ↓