XML知识点滴(1)
(引用文章,版权归作者,如需删除请联系我)
XML的产生
n XML是一种采用文本标记描述数据的语言,具有灵活、开放、跨平台、跨语种等特点,因而被广泛用于信息的表达及交换。XML的全称是可扩展标记语言(Extensible Markup Language),它是标准通用标记语言SGML(Standard Generalized Markup Language)的一个子集,是由W3C提出的一个推荐标准,和超文本标记语言(HyperText Makeup language,HTML)是同胞兄弟。
n 在80年代早期,IBM提出在各文档之间共享一些相似的属性,例如字体大小和版面。IBM设计了一种文档系统,通过在文档中添加标记,来标识文档中的各种元素,IBM把这种标识语言称作通用标记语言(Generalized Markup Language),即GML。经过若干年的发展,1984年国际标准化组织(ISO)开始对此提案进行讨论,并于1986年正式发布了为生成标准化文档而定义的标记语言标准(ISO 8879),称为新的语言SGML,即通用标记语言。
n SGML功能非常强大,是可以定义标记语言的元语言。
n 1998年2月,W3C发布了XML1.0标准,其目的是为了在Web上能以现有的超文本标记语言(HTML)的使用方式提供、接收和处理通用的SGML。XML是SGML的一个简化子集,它以一种开放的、自我描述的方式定义了数据结构。在描述数据内容的同时突出对结构的描述,从而体现出数据与数据之间的关系。
n W3C组织于2004年2月4日,发布了XML1.1推荐标准(同时发布了XML1.0推荐标准的第三版),这是最新的XML 版本,不过目前大多数的应用还是基于XML1.0的推荐标准。
XML文档的特点
n 容易创建
n 由人类可读的文本组成
n 具有层次结构的标记语言且表达了结构画的数据
n 可以自由扩展定义
n 可以用严格的语法进行约束
n 将内容与形式分开
XML文档的注意点
n XML是标记语言,不是程序语言
n XML可以在网络上传输,但不是传输协议
n XML表达结构化的数据,但不是数据库
n XML主要用于计算机的读取
n XML文档不等于XML文件
XML文档的结构方式
n 叙述型的文档(Narrative-like document)
n 数据记录型的文档(Record-like document)
W3C介绍
n W3C是万维网联盟(World Wide Web Consortium)的英文缩写,它成立于1994年10月,以开放论坛的方式来促进开发互通技术(包括规格、指南、软件和工具),开发网络的全部潜能。万维网联盟(W3C)从1994年成立以来,已发布了90多份Web技术规范,领导着Web技术向前发展。
n W3C认为自身不是官方组织,因此将它正式发布的规范称为推荐(或建议)标准,意思是进一步标准化的建议,但是由于该组织自身的权威性往往成为事实上的标准。
n 一项技术要成为W3C的推荐标准,需要经过7个步骤:
1) W3C收到提交(receives a Submission)
2) W3C发布注释(publishes a Note)
3) W3C成立工作组(creates a Working Group)
4) W3C发布工作草案(publishes a Working Draft)
5) W3C发布候选推荐标准(publishes a Candidate Recommendation)
6) W3C发布提议的推荐标准(publishes a Proposed Recommendation)
7) W3C发布推荐标准(publishes a Recommendation)
关于XML的两个问题
n XML是HTML的扩展吗?
HTML的全称是超文本标记语言(Hypertext Markup Language),而XML的全称是(Extensible Markup Language)可扩展标记语言,这很容易让人联想到XML是通过增加新标记来扩展HTML的一种标记语言。实际上HTML和XML在标记语言中处于不同的层次。同HTML4.01一样,XML在设计之初,就考虑到了国际化的问题,XML也是基于ISO/IEC 10646字符集标准中定义的通用字符集(Universal Character Set,UCS)。
<html>
<head>
<title>这是一个欢迎的例子</title>
</head>
<body>
<p>你好!欢迎你!</p>
</body>
</html>
|
<?xml version="1.0" encoding="gb2312"?>
<欢迎词>
<标题>这是一个欢迎的例子</标题>
<内容>你好,欢迎你!</内容>
</欢迎词>
|
n SGML、HTML和XML之间是什么关系?
SGML是一种在Web发明之前就早已存在的使用标记来描述文档资料的通用语言,它是一种定义标记语言的元语言。HTML和XML都是从SGML发展而来的标记语言,因此,它们有一些共同点,如相似的语法和标记的使用。不过HTML是SGML定义下的一个描述性语言,只是SGML的一个应用,其DTD作为标准被固定下来,而XML是SGML的一个简化版本,是SGML的一个子集,严格意义上来说,XML仍然是SGML。
HTML不能用来定义新的应用,而XML可以,例如RDF和CDF都是使用XML定义的应用。事实上,XML和SGML是兼容的,但又没有SGML那么复杂,它是设计用于有限带宽的网络,如Internet。XML规范的制定者之一Tim Bray 说,XML的设计出发点是取SGML的优点,去除复杂的部分,使其保持轻巧,可以在Web上工作。HTML、SGML和XML将继续用于适合的地方,它们中的任何一个都不会使其它一个废弃。对于像新闻、网络日记、论坛留言等大部分短期的数据,HTML仍是Web上快速出版数据的最简单的方法。如果数据要长期使用,并且需要更多的一些结构,我们更推荐使用XML。不同于HTML和XML,SGML可能永远不会在Internet上被广泛接受,因为它不是为某个网络协议而设计,也从来没有为某个网络协议的需求而优化过。对于高端的、复杂结构的出版应用,SGML将继续使用。
分享到:
相关推荐
### CSS基础知识概览 #### CSS简介 CSS,全称为Cascading Style Sheets(层叠样式表),是一种用于定义HTML或XML文档中元素样式的语言。它使得网页设计者能够独立地控制网页的内容与表现形式,提高了网站开发的效率...
### Eclipse SWT开发点滴 #### 一、第三方包的引用 在使用Eclipse进行SWT开发时,经常会遇到需要引入第三方库的情况。以下是引入第三方库的具体步骤: 1. **工程项目增加Libraries** - 右键点击项目 -> `Build ...
"Oracle知识点滴1"可能包含了以上或其他更具体的Oracle使用技巧、问题解决方案、最佳实践等内容,对于Oracle用户来说,是一个宝贵的资源库。通过深入学习和实践,用户可以提升在Oracle数据库管理和开发方面的技能。
而“心梓知识”可能是指该源码包含了关于心理健康或情绪管理的知识分享,为用户提供更全面的服务。 总的来说,这份源码资源涵盖了前端网页开发的多个方面,从基础的HTML结构到复杂的JavaScript交互,再到可能涉及的...
3. **日记**:暗示NoteBook可能有日记编写和管理的功能,适合记录个人生活或工作中的点滴。 4. **知识点管理**:说明NoteBook设计时考虑到了知识的分类、存储和检索,适合学习者或研究者使用。 5. **随笔**:可能有...
综合以上信息,我们可以得出NoteBook是一个具有笔记、日记、知识管理功能的软件,用户可以通过它来记录生活点滴、管理信息,并且可以自定义界面。它依赖于一些库文件如mfc42.dll和iconv.dll来实现其功能,并且使用...
默认监听端口为8080,可通过修改`conf/server.xml`配置文件来更改。 #### 结语 Java的学习之路既漫长又充满乐趣,从理解JDK的基本构成到掌握应用服务器的配置,每一步都是对编程技能的提升。希望以上分享能够帮助...
【标题】"我的日记本—可参考"是一个安卓应用程序项目,旨在提供一个个人日记管理平台,用户可以在这里记录、编辑、删除和查找他们的日常生活点滴。这个项目作为一个安卓入门练习,涵盖了移动应用开发的基础知识,是...
在安卓(Android)平台上,开发一个便签应用是常见的任务,它可以帮助用户快速记录生活、工作中的点滴。本文将深入探讨“安卓Android源码——便签软件.zip”中包含的知识点,带你理解如何构建一个基本的便签应用。 ...
这篇文档包含了六篇程序员实习日记,记录了一位实习生在2020年期间学习和工作的点滴,主要涉及Java编程、开源框架、数据库管理和Web应用开发等主题。以下是这些日记中提炼出的重要知识点: 1. **Java编程框架**:...
QQ发表说说功能框是QQ社交平台上的一个重要组成部分,它允许用户分享心情、想法或生活点滴,与好友进行互动。实现这一功能涉及到前端界面设计、后端数据处理以及用户交互等多个方面的技术。以下是对这个功能框背后的...
【部分内容】中的第一篇文章讲述了主人公在生活中感到忙碌和压力,但在生日那天得到了家人的惊喜,从而意识到幸福就存在于日常生活的点滴之中。第二篇文章通过与爷爷下棋的情景,展现了亲情的温暖和陪伴带来的幸福感...
这种系统提供了一种便捷的方式,让人们能够分享思想、观点、专业知识或者生活点滴,无需深入学习编程技术。博客引擎是博客系统的核心组成部分,它负责处理用户的交互、内容管理、模板渲染和权限控制等功能。 在...
1. **Android Studio集成开发环境**:开发Android应用的基础工具是Android Studio,它提供了代码编辑、调试、性能分析等功能,使得开发者可以高效地构建应用程序。 2. **布局设计**:应用的界面由XML文件定义,使用...
1. **文本编辑**:myBase支持富文本编辑,可以插入图片、链接、表格等多媒体元素,使得记录的内容更加丰富多彩。 2. **数据库结构**:用户可以创建多个数据库,每个数据库下可建立树状的层级结构,用于分类存储各类...
例如,博客允许个人表达观点,分享生活点滴,而维基百科则让用户共同编写和编辑知识,实现了大规模协作的知识创作。 在技术层面,Web 2.0的实现离不开Ajax(Asynchronous JavaScript and XML)等技术的支持。Ajax...
这款软件主要用于个人记事,帮助用户记录生活、工作中的点滴信息,是学习编程和软件开发过程中的一次实践尝试。通过分享这个项目,作者希望与同样对编程和技术感兴趣的朋友们共同学习和进步。 在 MemoSam2 这个...
在Android平台上,开发一款记事本应用是一项基础且常见的任务,可以帮助用户记录日常生活中的点滴信息。这个名为"DateNote"的APP就是你自己使用Android Developer Tools(ADT)编写的成果,它展示了Android应用开发...
【标题】"简单的个人记事本APP"是一个基于Android Studio开发的应用程序,旨在提供一个便捷的个人记事功能,让用户可以快速记录生活中的点滴、想法或待办事项。这款应用结合了基本的文本编辑功能与照相机权限的调用...