XML 究竟是什么?
在开发的大部分情况下,我们遇到的XML都指的是一种类型的文档,而且大部分人知道这种文档类型是W3C推荐的数据存储标准,但是,为什么要有这种标准呢?很多人就答不上了。大家也都知道操作XML,java提供 SAX,DOM,JDOM等方式,很多人也在实际中用过一两种方式去操作过XML,但如果你的处理要求比较高,就很有可能需要接触到另外一些与XML相关的概念:XSLT 、 XSL 、 Xpath 、DTD 、命名空间等等,那么,这许多名称与 XML 又是什么关系呢?相信能答的好的更是寥寥无几。下面,根据我的学习,将一些知识总结一下。在此之前,给大家伙推荐一本书,
XML:管理者指南——构筑XML的企业级应用
对于想要对XML有超越技术的,比较高和宽视野理解的同仁来说,这是一本不可多得的好书。废话少说,下面开始介绍,对于一般教材都有的部分,我会尽量避免。
首先回答刚刚的那个问题:为什么会有XML?
技术领域,一件新玩意要出现,一般有两个前提:需求和相关研究基础;XML 的出现是为了解决 Internet 的一个很强烈的需求:数据交换;Internet 的基础是连接,通过一定的协议,各地的人们、各种电子设备可以简单地连入一个共同的网络,将自己的信息资源提交到网络上,简单的连接和越来越多的资源能吸引更多的人进入,形成良性循环。这XML出现之前,大部分的数据是以超文本html的形式存在于网络上,其他的还有以办公软件、PDF等格式存在,但html有它自身的不足。
html 更大程度上是一种数据呈现手段,它的标签全部是为布局和显示服务的,传统的html文档数据内容和显示信息杂糅在一起,不同企业、不同开发者做出来的html差别很大,即便是同类型的业务,结果也往往很不同,这对公司之间业务数据的自动处理,某主题信息的抽取等操作,带来很大不便。用CSS将显示独立出来后,剩下的也都是布局标签,无法用来表达内容。
传统数据存储还有另一个重要的工具,即数据库;但数据库对数据复杂关系的表现力也远远不够,试想一下,用数据库表示一个树状结构,会有多麻烦,但用XML,是如此直观。
所有说,XML的出现是有很强的现实需求的。
第二方面,就是相关研究基础,即元数据的研究;元数据指描述数据的数据;这一领域的研究成果是XML标准的一个基石;我们知道,XML文档的主体是一个个的标签对(称为元素),标签内放有数据,这些标签的名字都可以用户自定义,并且可扩展,这些标签其实就是元数据,中间的内容是它们描述的‘数据’。下面,给出狭义的XML定义:XML是一个主体由标签组成的,具有一定结构的,包含一个文档结构定义的文本文档;
即,从最简单的意义上理解,XML就是由一组标签组成的文本文档,为了告诉程序它是XML,每个XML文档都必须有一个header,如<?xml version="0.1"?>,更多的时候还要加上一个DTD定义;关于XML和DTD,W3cShool 有基本的教程
http://www.w3school.com.cn/
有些人可能不理解,为什么要有DTD?XML的文档结构不是明摆着的吗?其实,DTD起着一个仲裁的作用,设想一个团队好几个同时开发针对一个业务(业务数据以XML表示)的应用,而XML的标签又特别多,这时候,对XML文档结构的精确定义,即DTD,是不是就很必要呢?只要开发之前大家统一设计一个DTD,然后所有程序都以它为标准,就可以保证最后程序不冲突;另一方面,XML Parser 在解析XML之前,先用DTD检测一下,也可以为后续处理避免不必要的错误。
接下来是本篇的重点,即XML的各种标准的理解。“XML:管理者指南”提出了一种可能的分类方式:
领域标准与行业有关,我还不是很理解,就不多说了,再说这个分类体系只是帮助我们更好地理解各种相继提出的名称,能达到那个目标就足够了;平台标准指的是不管什么开发平台和语言都通用的一套规定。它又分为3部分,其中,构架标准主要是为了让 XML 与WEB 技术进行集成,这类标准有 SOAP 和 XML Encryption等;技术标准主要指为了解决复杂性问题而规定的严格的标准,如 XML Infoset 和 XML Include 等,这些标准为 XML 处理模型增加了一些更严格的制约;在所有标准中,对一般开发者而言最重要的应该是特性标准,前面提到的很多与XML相关的词汇都属于特性标准。特性标准将会在第二篇介绍。
- 大小: 23.8 KB
- 大小: 23.8 KB
分享到:
相关推荐
【描述】"图集分类的全屏flash+xml相册画廊源码.rar" 是一个压缩包文件,其中包含了一套完整的源代码和相关资源,用于实现所述的全屏Flash相册功能。这个RAR文件可能包括ActionScript代码(用于Flash编程)、XML配置...
XML(可扩展标记语言)是一种用于存储和传输数据的标准格式。在OpenCV中,XML文件常用于存储机器学习模型,如SVM(支持向量机)或Haar级联分类器。这些模型可以用来识别特定的特征,如人脸、车辆或其他物体。"cars....
XML文件是存储这种分类器训练结果的标准格式,其中包含了多个阶段的决策规则,这些规则被设计用来逐步排除背景并识别目标对象。 标签 "xml" 强调了文件格式的重要性。在OpenCV中,XML或YAML格式用于存储级联分类器...
6.1 实体定义和分类 6.2 声明通用实体 6.2.1 声明内部通用可分析型实体 6.2.2 声明外部通用可分析型实体 6.2.3 声明外部通用不可分析型实体 6.2.4 声明符号 6.3 声明参数实体 6.3.1 声明内部参数可分析型实体...
1. **数据标准化**:XML提供了统一的数据表达和交换标准,使得不同的系统和平台可以无缝通信,提高了数据处理的效率和准确性。 2. **元数据支持**:XML允许自定义标记,使得数据携带丰富的元信息,便于数据的解析和...
标题中的“行业分类-设备装置-一种将XML文件的内容导入数据库的方法和装置”表明这是一个关于IT行业中设备装置领域的技术,具体涉及XML数据处理和数据库管理。这个技术可能是一种自动化工具或者系统,旨在高效地将...
综上所述,基于XML数据库的标准化教育资源内容服务系统不仅解决了教育资源管理中的关键技术难题,还为未来教育资源的开放共享、智能推荐和个性化学习提供了坚实的基础。随着技术的不断进步,XML数据库在教育资源管理...
3. **相关XML和词汇表活动**:全球范围内存在多个组织致力于XML标准和技术的发展,例如: - **联合国/经济和社会事务委员会电子商务工作组 (UN/CEFACT ebTWG)** 和 **开放标准联盟 (OASIS)**:共同制定了用于国际...
标准的总体结构包括范围、规范性引用文件、术语和定义、分类原则、分类方法、编码规则、分类编码的使用、分类代码表,以及多个资料性附录,如使用实例、与其他分类标准的映射和XML文件格式等。这些组成部分构成了...
训练过程使用`opencv_haartraining.exe`,这个工具会根据提供的VEC文件和参数生成XML分类器模型。以下是一些常用参数: - `-data`: 指定训练结果的输出目录。 - `-vec`: 正样本VEC文件的路径。 - `-info`: 正样本...
XML是一种用于存储和传输数据的开放标准,尤其适合表示具有复杂结构的数据。在数据立方(Data Cube)的概念下,它被用来构建多维分析环境,以支持快速查询和数据汇总。 描述部分提到了作者“王晓玲”和“董逸生”,...
XML(Extensible Markup Language,可扩展标记语言)自1998年成为W3C标准以来,因其灵活性和标准化特性,在数据交换和存储方面得到了广泛应用。随着XML的应用日益广泛,如何有效地管理和查询XML数据成为了一个重要的...
标题中的“用于进行人脸口罩识别的XML.zip”表明这是一个与人脸识别技术有关的资源包,特别是针对是否佩戴口罩的检测。这种技术是计算机视觉领域的一个重要应用,它利用深度学习和机器学习算法来分析图像,判断其中...
7. ICS编号:文件中提到了多个ICS编号,这些编号是国际分类系统(International Classification System)中用于标准分类的代码,用于表明标准涉及的行业和技术领域。例如,25.040.40是关于工业过程控制设备的代码,...
书中主要面向C#开发者介绍了XML(可扩展标记语言)的处理和数据访问相关的知识。 ### 标题知识点 **C# 7**: C#是微软公司开发的一种面向对象的编程语言,广泛应用于.NET框架中。C# 7指的是2017年发布的C#的第七个...
XML(Extensible Markup Language,可扩展标记语言)作为一种标准的数据交换格式,在互联网和IT领域中的地位日益凸显。根据Gartner的预测,XML文件的使用率在2007年已经达到了40%,并在2008年占据了主导地位。这一...