热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

基础知识熟悉XML:下一代网络的基石

随着互联网的迅猛发展和普及,人们可以通过盘算机与互联网联接,从世界各地实时的接收和发送大批、最新的信息,但在信息交换的过程中存在着一个突出的标题,就是多种多样的数

随着互联网的迅猛发展和普及,人们可以通过盘算机与互联网联接,从世界各地实时的接收和发送大批、最新的信息,但在信息交换的过程中存在着一个突出的标题,就是多种多样的数据格局,给信息的有效应用带来了障碍。所以在信息时代,如何以最便捷、最可靠、最有效的方法获取所需的信息是一个很大的困扰。人们等待着能够找到一种可以描写任何逻辑关系的数据格局来同一电子数据的存储,从而不再由于数据格局的不同一而苦恼和困惑。目前,能够担负此任的就是xml(extensible markup language,可扩大符号化语言)。

可以说,xml的呈现给数据交换带来了一场革命;xml的呈现是至今为止最聪慧的一种符号化语言;xml成为下一代网络发展的基石。

xml出生的背景

sgml先容

说到xml,我们必定要先懂得一下sgml (standard generalized markup language) 。sgml最初是由ibm开发的一种用于排版的符号化语言,称为gml。经过若干年的发展,1984年国际尺度化协会(iso)开端对此提案进行讨论,于1986年正式承认sgml为国际尺度规范(iso8879)。

 图:xml作为电子数据交换的同一格局

sgml实际上是一种通用的文档结构描写符号化语言,重要用来定义文献模型的逻辑和物理类结构。一个sgml语言文件由三部分组成,即语法定义、文件类型定义dtd(definition type document)和文件实例。语法定义部分定义了文件类型定义和文件实例的语法结构;文件类型定义部分定义了文件实例的结构和组成结构的元素类型;文件实例是sgml语言程序的主体部分。

在sgml的实际应用中,每一个特定的dtd都定义了一类文件。因此,人们习惯上把具有某一特定dtd的sgml语言,称为某某符号化语言。这样sgml就成为那些派生语言的元语言。

html的呈现

1989年,欧洲物理量子实验室(cern)的信息专家蒂姆·伯纳斯·李发明了超文本链接语言, 应用此语言能轻松地将一个文件中的文字或图形连到其它的文件中往,这就是html的前身。1991年,蒂姆·伯纳斯·李在cern定义了html语言的第一个规范,之后成为w3c组织为专门在互联网上宣布信息而设计的符号化语言规范。可以说,html(hypertext markup language)是sgml的一个实例,它的dtd作为尺度被固定下来。因此,html不能作为定义其它符号化语言的元语言。

作为world wide web的一个组成部分,html语言发展很快,在短短的几年里,它已历经了html1.0、html2.0和html3.0、html4.0等多个版本,同时dhtml (动态)、vhtml(虚拟)、shtml等也飞速发展起来。html以简略精练的语法、极易把握的通用性与易学性,使web网页可以亲近于每一个普通人,互联网因此得以普及发展以至本日光辉。

但是,目前的html还不稳固,不同的浏览器会产生不同的显示后果。此外  ,由于html对超级链接支撑不足,并缺乏空间立体描写,处理图形、图像、音频、视频等多媒体才能较弱,图文混排功效简略,不能表现多种媒体的同步关系等毛病,也影响html的大范围利用以及用于复杂的多媒体数据处理。

xml的出生

xml是由w3c于1998年2月宣布的一种尺度。它同样是sgml的一个简化子集,它将sgml的丰富功效与html的易用性联合到web的利用中,以一种开放的、自我描写方法定义了数据结构。在描写数据内容的同时能突出对结构的描写,从而体现出数据之间的关系。这样所组织的数据对于利用程序和用户都是友爱的、可把持的。之后,w3c又用xml设计出一个与html4.01功效等价的语言,称为xhtml1.0 (extensible hyper text markup language)使之与html相兼容。

xml是sgml的一个子集,严格地讲,xml也还是sgml。与html不同的是xml有dtd,因而也可以像sgml那样作为元语言来定义其它文件系统,或称其它符号化语言。假如把符号化语言分为元符号化语言和实例符号化语言的话,sgml和xml都是元符号化语言,而html和由xml派生的xhtml都是实例符号化语言。

所以可以说,xml的呈现,使html存在的标题可以得到很好的解决。

xml的特点

xml作为引人注视标核心技巧利用于btob、web服务、.net等很多系统中。xml是it界谈话中不可缺乏的一个要害词。因此,xml对于盘算机工程师来说,是必不可少的一门知识。

xml可以作为电子数据交换的同一格局

10年来,web存储格局语言,从html发展到dhtml,直到今天最新的xml,发展的每一步,都是为了适应web利用发展的需求。固然xml底本是为出版界设计的一种文档描写语言,即sgml派生而来的一种符号化语言,但是它也是为互联网的数据交换而设计的。从而,xml不仅仅是sgml定义的用于描写的文档,而且在电子商务等各个范畴使数据交换成为可能。

xml能够利用于各种范畴的原因,就是xml具有到目前为止其他方法所不具备的数据描写特点,把持信息不是采用利用软件的独占情势,而是采用谁都可以看得懂的标记情势来表现,所以xml最合适作为数据交换的尺度,这也是 xml受人关注的原因。

用xml可以对数据关系进行定义形成特有的尺度,因此各行各业都在建立自己的行业化尺度,以利用于网络上处理电子商务,把后台系统通过web站点表现出来。xml还可以作为数据仓储,一个xml文件就是一个小的数据库,通过对数据关系的定义形成各种关系、属性的数据,实现数据交换、高低文检索、多媒体传输。

xml具有其他方法所不具备的数据描写特点

xml是以文本情势来描写的一种文件格局 由于xml是以文本情势描写的,所以合适于各种平台环境的数据交换。同样由于应用文本来描写内容,可以超出不同平台的障碍进行正常的数据交换。但是,文本情势也会由于文字代码的不同造成不能浏览的标题,在这一点上xml有着非常完善的解决计划。

xml应用有意义的标记(tag) 在xml中文件是由一个个称之为元素(element)的部件构成。应用标记(tag )来描写元素。由于应用了标记的描写方法,可以保持原数据的意思和结构在互联网上进行数据交换,进而可以保持不同系统之间数据交换的机动性。

为什么具有上述的长处呢?首先是应用标记描写数据的话,可以具体指出开端元素(开端标记)、结束元素(结束标记),在开端和结束元素之间是要表现的元素数据。这就是用元素表现数据的方法。

标记可以作为子元素 xml中用标记符号化的元素可以作为子元素形成数据嵌套。

xml的标记名和关系可以自由定义 就像很多文章中先容的那样“xml是用标记描写的语言”,而且xml的标记名标记的层次结构等都可以由用户定义。也就是说,根据xml语法可以定义用户特别用处的标记聚集形成一个全新的符号化语言。这就是xml“可扩充(extensible)”名字的起源。

可以说,xml是“定义语言的语言”,也即是一种元语言。由于xml具有元语言的功效,所以可以成为描写电子商务数据、多媒体演示数据、数学公式等各种各样数据利用语言的基础语言。下面供给几个以xml为基础天生的数据描写语言(本文亦称为xml利用语言)的利用例子,即出版媒体:open ebook(电子书籍)、newsml(消息媒体);科学:mathml(数学表达式)、cml(化学);电子商务:cxml(电子商务)、fpml(金融);多媒体:smil(多媒体演示)、bml(卫星数据传送)。

推荐阅读
  • wxParse 0.3:微信小程序中的高级 HTML 和 Markdown 富文本解析器,全面支持多级嵌套与 Emoji 表情
    wxParse 0.3 是一款专为微信小程序设计的高级富文本解析器,支持 HTML 和 Markdown 转换为 WXML 可视化格式。该组件不仅能够处理复杂的多级嵌套结构,还全面支持 Emoji 表情,极大地提升了内容展示的多样性和用户体验。 ... [详细]
  • 本文详细解析了JSONP(JSON with Padding)的跨域机制及其工作原理。JSONP是一种通过动态创建``标签来实现跨域请求的技术,其核心在于利用了浏览器对``标签的宽松同源策略。文章不仅介绍了JSONP的产生背景,还深入探讨了其具体实现过程,包括如何构造请求、服务器端如何响应以及客户端如何处理返回的数据。此外,还分析了JSONP的优势和局限性,帮助读者全面理解这一技术在现代Web开发中的应用。 ... [详细]
  • 通过自定义 `TextView`,实现了在用户点击或焦点变化时动态调整字体颜色的效果。该方法利用了 `ColorStateList` 和 `Selector` 资源文件,确保了界面交互的流畅性和视觉效果的提升。具体实现中,通过重写 `onTouchEvent` 和 `onFocusChanged` 方法,精确控制了颜色变化的时机和状态。此外,还对性能进行了优化,确保在高频率操作下依然保持高效响应。 ... [详细]
  • 解决基于XML配置的MyBatis在Spring整合中出现“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”问题的方法
    在将Spring与MyBatis进行整合时,作者遇到了“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”的问题。该问题主要出现在使用XML文件配置DAO层的情况下,而注解方式配置则未出现类似问题。作者详细分析了两个配置文件之间的差异,并最终找到了解决方案。本文将详细介绍问题的原因及解决方法,帮助读者避免类似问题的发生。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 本文探讨了在Android应用中实现动态滚动文本显示控件的优化方法。通过详细分析焦点管理机制,特别是通过设置返回值为`true`来确保焦点不会被其他控件抢占,从而提升滚动文本的流畅性和用户体验。具体实现中,对`MarqueeText.java`进行了代码层面的优化,增强了控件的稳定性和兼容性。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 深入解析Gradle中的Project核心组件
    在Gradle构建系统中,`Project` 是一个核心组件,扮演着至关重要的角色。通过使用 `./gradlew projects` 命令,可以清晰地列出当前项目结构中包含的所有子项目,这有助于开发者更好地理解和管理复杂的多模块项目。此外,`Project` 对象还提供了丰富的配置选项和生命周期管理功能,使得构建过程更加灵活高效。 ... [详细]
  • 本文全面介绍了 Windows 快捷键的使用方法,旨在帮助用户提高工作效率。通过详细解析各类快捷键的应用场景和功能,为用户提供了一站式的操作指南。无论是新手还是资深用户,都能从中受益,轻松掌握提升生产力的实用技巧。 ... [详细]
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
  • 优化后的标题:数据网格视图(DataGridView)在应用程序中的高效应用与优化策略
    在应用程序中,数据网格视图(DataGridView)的高效应用与优化策略至关重要。本文探讨了多种优化方法,包括但不限于:1)通过合理的数据绑定提升性能;2)利用虚拟模式处理大量数据,减少内存占用;3)在格式化单元格内容时,推荐使用CellParsing事件,以确保数据的准确性和一致性。此外,还介绍了如何通过自定义列类型和优化渲染过程,进一步提升用户体验和系统响应速度。 ... [详细]
  • 为了在Fragment中直接调用Activity的方法,可以通过定义一个接口并让Activity实现该接口来实现。具体步骤包括:首先在Fragment中声明一个接口,并在Activity中实现该接口。接着,在Fragment中通过类型转换检查Activity是否实现了该接口,如果实现了则调用相应的方法。这种方法不仅提高了代码的解耦性,还增强了模块间的通信效率。此外,还可以通过ViewModel或LiveData等现代Android架构组件进一步优化这一过程,以实现更加高效和可靠的通信机制。 ... [详细]
  • 我正在使用 Ruby on Rails 构建个人网站。总体而言,RoR 是一个非常出色的工具,它提供了丰富的功能和灵活性,使得创建自定义页面变得既高效又便捷。通过利用其强大的框架和模块化设计,我可以轻松实现复杂的功能,同时保持代码的整洁和可维护性。此外,Rails 的社区支持也非常强大,为开发过程中遇到的问题提供了丰富的资源和解决方案。 ... [详细]
  • 深入解析 OpenCV 2 中 Mat 对象的类型、深度与步长属性
    在OpenCV 2中,`Mat`类作为核心组件,对于图像处理至关重要。本文将深入探讨`Mat`对象的类型、深度与步长属性,这些属性是理解和优化图像操作的基础。通过具体示例,我们将展示如何利用这些属性实现高效的图像缩小功能。此外,还将讨论这些属性在实际应用中的重要性和常见误区,帮助读者更好地掌握`Mat`类的使用方法。 ... [详细]
  • Vue项目上线后遇到的问题及解决方案 ... [详细]
author-avatar
手机用户2602901861
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有