XML可扩展语言的发展

2009-08-21

XML介绍

可扩展置标语言(eXtensible Markup Language,简称XML),又称可扩展标记语言,是一种置标语言。置标指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用置标语言(SGML)中简化修改出来的。它主要用到的有可扩展置标语言、可扩展样式语言(XSL)、XBRL和XPath等。

XML历史

XML是从1995年开始有其雏形,并向W3C(万维网联盟)提案,而在1998二月发布为W3C的标准(XML1.0)。 XML的前身是SGML(The Standard Generalized Markup Language),是自IBM从1960年代就开始发展的 GML(Generalized Markup Language)标准化后的名称。

GML的重要概念:

文件中能够明确的将标示与内容分开

所有文件的标示使用方法均一致

1978年,ANSI将GML加以整理规范,发布成为SGML,1986年起为ISO所采用(ISO 8879),并且被广泛地运用在各种大型的文件计划中,但是SGML是一种非常严谨的文件描述法,导致过于庞大复杂(标准手册就有500多页),难以理解和学习,进而影响其推广与应用。

同时W3C也发现到HTML的问题:

  • 不能解决所有解释资料的问题 - 像是影音档或化学公式、音乐符号等其他形态的内容。
  • 效能问题 - 需要下载整份文件,才能开始对文件做搜寻。
  • 扩充性、弹性、易读性均不佳。

为了解决以上问题,专家们使用SGML精简制作,并依照HTML的发展经验,产生出一套使用上规则严谨,但是简单的描述资料语言:XML。 XML是在一个这样的背景下诞生的——是不是能有一个更中立的方式,让消费端自行决定要如何消化、呈现从服务端所提供的资讯?

XML被广泛用来作为跨平台之间交互数据的形式,主要针对数据的内容,通过不同的格式化描述手段(XSLT,CSS等)可以完成最终的形式表达(生成对应的HTML,PDF或者其他的文件格式)。

XML用途

XML设计目的用来传送及携带数据信息,XML不用来表现或展示数据,HTML语言恰恰用来表现数据,所以XML用途的焦点是它说明数据是什么,以及携带数据信息。

  • 丰富文件(Rich Documents)- 自定文件描述并使其更丰富

    属于文件为主的XML技术应用

    标记是用来定义一份资料应该如何呈现

  • 元数据(Metadata)- 描述其它文件或网络资讯

    属于资料为主的XML技术应用

    标记是用来说明一份资料的意义

  • 设定档案(Configuration Files)- 描述软件设定的参数

XML结构

每个XML文档都由XML序言开始,在前面的代码中的第一行便是XML序言,<?xml version="1.0"?>。这一行代码会告诉解析器和浏览器,这个文件应该按照前面讨论过的XML规则进行解析。第二行代码,<books>,则是文档元素(document element),它是文件中最外面的标签(我们认为元素(element)是起始标签和结束标签之间的内容)。所有其他的标签必须包含在这个标签之内来组成一个有效的XML文件。XML文件的第二行并不一定要包含文档元素;如果有注释或者其他内容,文档元素可以迟些出现。

范例文件中的第三行代码是注释,你会发现它与HTML中使用的注释风格是一样的。这是XML从SGML中继承的语法元素之一。

页面再往下的一些地方,可以发现<desc>标签里有一些特殊的语法。<![CDATA[ ]]>代码用于表示无需进行解析的文本,允许诸如大于号和小于号之类的特殊字符包含在文本中,而无需担心破坏XML的语法。文本必须出现在<![CDATA[和]]>之间才能合适地避免被解析。这样的文本称为Character Data Section,简称CData Section。

下面的一行就是在第二本书的定义之前的:

<?page render multiple authors ?>
虽然它看上去很像XML序言,但实际上是一种称为处理指令(processing instruction)的不同类型的语法。处理指令(以下简称PI)的目的是为了给处理页面的程序(例如XML解析器)提供额外的信息。PI通常情况下是没有固定格式的,唯一的要求是紧随第一个问号必须至少有一个字母。在此之后,PI可以包含除了小于号和大于号之外的任何字符串序列。

最常见的PI是用来指定XML文件的样式表:

这个PI一般会直接放在XML序言之后,通常由Web浏览器使用,来将XML数据以特殊的样式显示出来。

转载于:https://www.cnblogs.com/xiayong123/archive/2011/07/13/3717600.html

XML可扩展语言的发展相关推荐

  1. XML (可扩展标记语言)

    XML (可扩展标记语言) 一. 标记语言 标记语言,是一种将文本(txt)以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码. 当今广泛使用的标记语言是超文本标记语言(H ...

  2. css 样式三元运算_CSS扩展语言——Sass入门指南

    一.Sass概况 今天来聊聊sass吧,之前用了很久的less,刚开始接触的时候感觉这东西就是个神器. 写CSS时间长了自然就能发现CSS在书写的时候的不足之处,不能嵌套,没有变量,更加不能像js那样 ...

  3. CyberMiles发布动态可扩展语言Lity,它凭什么叫板Solidity?

    版权声明:本文为博主原创文章, 转自https://blog.csdn.net/Blockchain_lemon/article/details/81904699,未经博主允许不得转载. 第一次见 M ...

  4. 缘起 Dubbo ,讲讲 Spring XML Schema 扩展机制

    背景 在 Dubbo 中,可以使用 XML 配置相关信息,也可以用来引入服务或者导出服务.配置完成,启动工程,Spring 会读取配置文件,生成注入 相关 Bean.那 Dubbo 如何实现自定义 X ...

  5. css扩展语言_如何决定是否应该链接或扩展CSS类

    css扩展语言 by Sarah Dayan 通过莎拉·达扬 如何决定是否应该链接或扩展CSS类 (How to decide whether you should chain or extend C ...

  6. sql 两个表列包含_Oracle数据库扩展语言PL/SQL之运算符

    [本文详细介绍了Oracle数据库扩展语言PL/SQL的运算符,欢迎读者朋友们阅读.转发和收藏!] 1 基本概念 运算符是一个符号,告诉编译器执行特定的数学或逻辑操作. PL/SQL 语言有丰富的内置 ...

  7. 【面向对象】面向对象程序设计测试题1-Java语言的发展与特性测试题

    Test1:Java语言的发展与特性测试题 问题 1 Java 是由 Sun Microsystems 公司于 1995 年推出的一门面向对象程序设计语言. 答案: 对 问题 2 自2010年Orac ...

  8. python百度百科-Python语言的发展简史

    本文主要向大家介绍了Python语言的发展简史,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. Python是我喜欢的语言,简洁.优美.易用.前两天,我很激昂地向朋友宣传Pytho ...

  9. C语言的发展及其特点

    C语言是国际上广泛流行的计算机高级语言. C语言的祖先是BCPL语言.1967年英国剑桥大学的Martin Richards推出了没有类型的BCPL(Basic Combined Programmin ...

  10. C++的特点,及对C语言的发展

    一.C++的特点,及对C语言的发展 1.保留了C语言原有的优点,与C语言兼容: 2.增加了面向对象的机制"类class",类(calss)为C++重要的数据类型,可以实现面向对象时 ...

最新文章

  1. 什么是Hive?它有哪些特点和特性?
  2. uniapp中动态修改导航栏标题
  3. c语言程序的多文件组织,C代码多文件的组织
  4. PHP+AJAX 投票器功能
  5. Gateway网关-路由断言工厂
  6. php中的__FUNCTION__
  7. 对于String类型的深刻理解
  8. python输入正整数n、求n以内能被17整除的最大正整数_求100之内自然数中最大的能被17整除的数资料...
  9. 防止对SQL Server的蛮力攻击
  10. java毕业设计鸿鹄教育培训mybatis+源码+调试部署+系统+数据库+lw
  11. 15个最流行的GitHub机器学习项目
  12. 两个质数互质是_两个互质数是什么意思
  13. P3265 [JLOI2015] 线性基
  14. 电力窃漏电用户自动识别
  15. viewpager切页
  16. python---控制时间的函数time()
  17. 计算机985博士带进高校的配偶,部分本科、全国985硕士、博士应届毕业生可直接落户上海...
  18. 达内python培训质量怎么样
  19. 了解套接字Socket
  20. Allegro_根据已有BRD绘制新的BRD那些事

热门文章

  1. Spring Boot 集成 MyBatis (注解版 与 xml 配置版)
  2. Nginx 解决 Tomcat 集群下的 Session共享
  3. ps cs6导出html,渲染视频使用不了是怎么回事?pscs6ex – 手机爱问
  4. 深度学习如何入门?知乎
  5. 利用VX助手增加编程效率
  6. Firefox控制台日志转入文件
  7. (36行代码)javascript实现简单的计算器
  8. linux(Centos系统)部署项目(vue+nginx+tomcat)
  9. 个图标当十个用—多功能系统级图标制作攻略
  10. Glusterfs的安装及简单使用