网页编程必看:XML文法分析_XHTML/WEB_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

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

作者:黑客防线网安XML教程基地 来源:黑客防线网安XML教程基地 浏览次数:0

本篇关键词:分析编程网页元素
黑客防线网安网讯:  在进行XML文法分析之前,首先有必要了解XML语法的基本规则:  词法特征:1)XML区分大小写,如元素名在打开和关闭标记中应保持大小写一致<mytag>…</mytag>,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段,如:

  以下为引用的内容:

<?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    -->

  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]  /*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.rongsen.com.cn/show-16095-1.html
网站维护教程更新时间:2012-04-06 01:04:37  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer