关闭

XML小结

1865人阅读 评论(58) 收藏 举报

XML小结

什么是XML?

    什么是XML呢?专业说法是可扩展性标记语言(EXtensible Markup Language).然而什么又是可扩展性标记语言呢?  首先它是标记语言,所谓标记语言就是一套标记标签.其次就是可扩展性,所谓的可扩展性是指的,XML的标签没有被预定义,需要自行定义标签,它具有自我描述性.


XML知识体系如下:


XML元素

       有关XML元素有一点需要注意,那就是命名规范,因为XML的可扩展性决定的,很多东西需要自己定义,所以命名规范显的尤为重要.

XML元素必须遵循以下命名规则:

名称可以含字母、数字以及其他的字符

名称不能以数字或者标点符号开始

名称不能以字符 “xml”(或者 XML、Xml)开始

名称不能包含空格

其实这些规范对程序员来说不陌生,重要的是养成一个良好的习惯.还有几个需要注意的字符如下

避免"-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。

避免"." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name"是对象 "first" 的属性。

避免":" 字符。冒号会被转换为命名空间来使用

 

XML和HTML的对比

  XML和HTML很相似,但是两者却有很多的不同,XML并不是HTML的替代,因为它们的设计目的不同,XML被设计为传输和存储数据,其焦点是数据内容.而HTML被设计用来显示数据,其焦点是数据外观.HTML关注信息显示,XML关注信息的传输.

 

XMLSchema 与 XML DTD的对比

   首先什么是XML Schema 与 XML DTD?

   XML模式是指用来描述XML结构、约束等因素的语言,而XMLSchema、XML DTD则是XML的模式。XML格式则是XML文档本身所具有的格式。从模式的描述语言来说,XML Schema和XMLDTD都属于语法模式。与概念模式不同,语法模式在对同一事物描述时,可以采用不同的语法,例如在对关系模式描述时,无论是使用XML Schema还是XMLDTD,都既可以用元素也可以用属性来描述关系模式的列。

        模式必须以某种格式来表示,XML Schema的格式与XML DTD的格式有着非常明显的区别,XMLSchema事实上也是XML的一种应用,也就是说XML Schema的格式与XML的格式是完全相同的,而作为SGML DTD的一个子集,XMLDTD具有着与XML格式完全不同的格式。这种区别会给XML Schema的使用带来许多好处:

XML用户在使用XML Schema的时候,不需要为了理解XML Schema而重新学习,节省了时间;由于XML Schema本身也是一种XML,所以许多的XML编辑工具、API 开发包、XML语法分析器可以直接的应用到XMLSchema,而不需要修改。

 

作为XML的一个应用,XML Schema理所当然的继承了XML的自描述性和可扩展性,这使得XML Schema 更具有可读性和灵活性。

 

由于格式完全与XML一样,XMLSchema除了可以像XML一样处理外,也可以同它所描述的XML文档以同样的方式存储在一起,方便管理。

 

XML Schema与XML格式的一致性,使得以XML为数据交换的应用系统之间,也可以方便的进行模式交换。

 

XML有非常高的合法性要求,XML DTD对XML的描述,往往也被用作验证XML合法性的一个基础,但是XMLDTD本身的合法性却缺少较好的验证机制,必需独立处理。XML Schema则不同,它与XML有着同样的合法性验证机制。

数据类型

      XML Schema与XML DTD相比的一个最显著的特征,就是其对数据类型的支持了。这完全是因为XMLDTD提供的数据类型只有CDATA 、Enumerated、NMTOKEN、NMTOKENS等十种内置(built-in)数据类型。这样少的数据类型通常无法满足文档的可理解性和数据交换的需要。

   XMLSchema则不同,它内置了三十七种数据类型,如long,int,short,double等常用的数据类型,并通过将数据类型表示为由valuespace、lexical space和facet三部分组成的三元组而获得更大的灵活性。但是, XMLSchema数据类型的真正灵活性来自于其对用户自定义类型的支持。XML Schema提供两种方式来实现数据类型的定义。

简单类型定义(simpleType),即在XML Schema内置的数据类型基础上或其它由XMLSchema内置的数据类型继承或定义所得到的简单的数据类型(simpleType)基础上,通过restriction,list 或者union方式定义新的数据类型。

复合类型定义(complexType),该方法提供了一种功能强大的复杂数据类型定义机制,可以实现包括结构描述在内的复杂的数据类型。

元素顺序的支持

      XML DTD与XML Schema 都支持对子元素节点顺序的描述,但XMLDTD没有提供对于无序情况的描述,也就是如果以XMLDTD来描述元素的无顺序出现情况,它必须采用穷举元素各种可能出现的排列顺序的方式来实现,这种方法不仅繁琐,有时甚至是不现实的。

     通过比较,可以看出,XML Schema比XML DTD具有更强的表现力,能够更好的满足不同领域应用的需求。所以,作为一种强有力的标准,XMLSchema作为XML模式的主流已经成为一种趋势;但作为一种最简单的XML模式,XML DTD也还将会在一段时间内发挥它应有的作用。

0
0
查看评论

xml学习小结

 任何安装的软件,都不要使用中文路径和带空格等特殊字符的路径。 最好专门用一个盘来存储工作上的内容。 用一个专门的文件夹来存储和管理安装的软件。   对数组进行最大最小值判断时,初始值最好使用数组中的值。   XML 英文全称为Ex...
  • ning_xian_hong
  • ning_xian_hong
  • 2016-01-07 21:33
  • 654

XML解析的三种方式总结

XML解析有三种方式,这里来总结一下 *************************SAX************************* 首先是SAX方式,这种方式是边加载边解析 关键的一个类是DefaultHandler,我们通过集成这个类,Override一些关键的方法,从而解...
  • kangaroo835127729
  • kangaroo835127729
  • 2014-12-18 00:18
  • 672

XML 小结

<?php /**** 1. $dom = new DOMDocument('1.0','utf-8'); 2.创建的节点都是从$dom直接创建 3.属性节点的值 $attrName->value('value'); 4.将根节点加到$...
  • xiaxiaojing
  • xiaxiaojing
  • 2014-05-28 11:33
  • 286

xml小结

使用css,xsl,dso 来丰富xml的显示
  • welcomelyl
  • welcomelyl
  • 2014-11-17 13:27
  • 211

C#读取xml节点数据

 第一种: 使用XPath XML的路径我配置在web.config 的appSettings节点下         XML结构如下: 1111 aa 2222...
  • spring21st
  • spring21st
  • 2009-09-08 16:43
  • 11720

xml 小结

XML总结 一、DTD Schema 作用:   规范xml 格式 但Schema 的验证规则更复杂,现在大多数的 xml 采用更为专业的Schema 来规范格式 二、开发环境:  Altova XMLSpy 三、Altova XMLSpy调整字体大小方式: 工具—选...
  • u010260814
  • u010260814
  • 2014-04-26 09:33
  • 220

2010.10.24实习阶段小结

这篇本来想在离开公司前最后一天写的,但是忙得挤不出时间来写,拖到了现在……     当日早上报到,处理完手续,下午接到一份需求,是跟移动公司的一个研究性项目。 当时,mentor第一个就提问我对这份需求的理解,我当时有点懵,因为没有午休,而且那天中午太晚去公司食堂,都没吃...
  • jasonblog
  • jasonblog
  • 2010-10-24 16:40
  • 1411

matlab小结

本组成员郑志远,张苓琬,于鹏朔。本周小组初步计划完成数组及多维数组方面的所有学习,最终学习到数组最基本部分,离预想环节有一点距离。
  • zhengzhiyuan14
  • zhengzhiyuan14
  • 2015-10-19 18:27
  • 184

计算机学习总结

计算机学习计划总结从10年6月开始,主要完成的计算机学习计划有: 算法与数据结构 面对对象设计语言及进阶 Java C++入门 *操作系统 编译原理 其他计算机本科课程 算法与数据结构 主要通过公开课、经典算法书籍、OJ类题目来学习 公开课: 1. 看完了网易公开课的算法导论。 2. 看完...
  • tony2909
  • tony2909
  • 2015-05-20 21:01
  • 183

C#操作xml小结

using System.Xml;//初始化一个xml实例XmlDocument xml=new XmlDocument();//导入指定xml文件xml.Load(path);xml.Load(HttpContext.Current.Server.MapPath("~/file/book...
  • jamesmf
  • jamesmf
  • 2009-08-05 23:08
  • 328
    个人资料
    • 访问:777314次
    • 积分:14897
    • 等级:
    • 排名:第933名
    • 原创:231篇
    • 转载:14篇
    • 译文:6篇
    • 评论:2512条
    欢迎联系我
    Email: bemavery@163.com
    文章分类
    最新评论