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

2016-02-19 20:00 6 1 收藏

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

【 tulaoshi.com - Web开发 】

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

(本文来源于图老师网站,更多请访问http://www.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”

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

  4)XML指令由?和保留串打开,由?关闭,如:?xml-stylesheet  type=”text/xsl”  href=”mystyle.xsl”?

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

  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)*

来源:http://www.tulaoshi.com/n/20160219/1622501.html

延伸阅读
标签: Web开发
专栏作家 Uche Ogbuji 深入思考了 XMLOpen 会议上提出的几种观点,最近在英国剑桥召开的这次会议是关于 XML 处理的一次盛会。值得注意的课题包括 XML 规格、 Semantic Web、XML 管道、Web Proper Names 和数据类型。他还从实用的角度对 XML Hacks 一书作了进一步分析,上一期文章中已经详细地介绍了这部关于技巧和窍门的书籍。 XMLOpen...
标签: Web开发
用于商业的 XML 格式很混乱,而通用商业语言(Universal Business Language,UBL)就志在统一这个混乱的领域。最近,UBL 背后的小组首次发布了该产品,供公开评审。本文中,Uche Ogbuji 首次对 UBL 作了深入探讨。 正如我在 上一篇专栏文章中提到的那样,通用商业语言(UBL)OASIS 技术委员会在 2001 年 10 月 17 日宣告成立。UBL 是用...
标签: Web开发
XML 作为基本数据格式无疑是成功的。但是 XML 1.0 提出的许多承诺 ― 从统一各企业间的通信方式到使 Web 更智能化 ― 都没有兑现。将 XML 用于共享的语义并因此用于共享的知识,是本专栏的主题。本文中,Ogbuji 先生介绍了迄今为止,开放应用程序组(Open Applications Group)和美国国防部(DoD)沿着这一方向,在最近发展环境中所取得的...
标签: Web开发
知名 XML 专家 Elliotte Rusty Harold 的著作 Effective XML为 XML 技术用户提供了最佳实践。该书中关于 XML 设计问题的多数讨论 Uche Ogbuji 也曾经关注过,在本文中,他以该书为线索,进一步探讨了 XML 设计和最佳实践。请在本文的 讨论论坛上与作者和其他读者分享您对本文的看法。 我的同事 Elliotte Rusty Harold 是一位知名的 XML...
标签: Web开发
Topic Map 提供了一种用于组织信息的系统,XML Topic Maps 使这种系统进入了 XML 的世界中。在本文中,Uche Ogbuji 讨论了 XML Topic Maps,并通过评论有关该主题的关键著作,把这种技术介绍给大家。 Semantic Web 技术用于概念的形式化描述与分类。这些技术试图降低由于概念不匹配而给信息系统互联带来的难度。您可以想像得出,在这样...

经验教程

429

收藏

67
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部