SGML简单语法

来源:互联网 发布:网易云 播放失败 mac 编辑:程序博客网 时间:2024/05/09 07:58

SGML常用来定义针对HTML的文档类型定义(DTD),同时它也常用于编写XML的DTD。SGML的问题就在于,它允许出现一些奇怪的语法,这让创建HTML的解析器成为一个大难题: 

找了台服务器将磁力链接爬虫架设起来http://www.51bt.cc(51搜索)大家可以看下。

  1 某些起始标签不允许出现结束标签,例如HTML中<img>标签。包含了结束标签就会出现错误。 
  2 某些起始标签可以选择性出现结束标签或者隐含了结束标签 
  3 某些起始标签要求必须出现结束标签,例如HTML中<script>标签。 
  4 标签可以以任何顺序嵌套。即使结束标签不按照起始标签的逆序出现也是允许的,例如,This is a sample string是正确的。 
  5 某些特性要求必须包含值,例如<img src="picture.jpg">中的src特性。 
  6 某些特性不要求一定有值,例如中的nowrap特性。 
  7 定义特性的两边有没有加上双引号都是可以的,所以<img src="picture.jpg">和<img src=picture.jpg>都是允许的。 
  这些问题使建立一个SGML语言的解析器变成了一项艰巨的任务。判断何时应用以上规则的困难导致了SGML语言的定义一直停滞不前。以这些问题作为出发点,XML逐渐步入我们的视野。 
  XML去掉了之前令许多开发人员头疼的SGML的随意语法。在XML中,采用了如下的语法: 
  1 任何的起始标签都必须有一个结束标签。 
  2 可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。这种语法是在大于符号之前紧跟一个斜线(/),例如<tag/ >。XML解析器会将其翻译成<tag></tag>。 
  3 标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签,例如this is a samplestring。这好比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是不能关闭外面的括号的。 
  4 所有的特性都必须有值。 
  5 所有的特性都必须在值的周围加上双引号。 
  这些规则使得开发一个XML解析器要简便得多,而且也除去了解析SGML中花在判断何时何地应用那些奇怪语法规则上的工作。仅仅在XML出现后的前六年就衍生出多种不同的语言,包括MathML、SVG、RDF、RSS、SOAP、XSLT、XSL-FO,而同时也将HTML改进为XHTML。 


因为XML是W3C制定的,XML的标准化工作由W3C的XML工作组负责,该小组成员由来自各个地方和行业的专家组成,他们通过email交流对XML标准的意见,并提出自己的看法 (www.w3.org/TR/WD-xml)。因为XML 是个公共格式, (它不专属于任何一家公司),你不必担心XML技术会成为少数公司的盈利工具,XML不是一个依附于特定浏览器的语言。 


打开方法:用记事本,editplus等文本工具软件都可以打开,多用户保存配置文件或网页英语,手机阅读网站多是基于xml开发的,多用户网页制作相关的数据存储等
0 0
原创粉丝点击