XML知识点滴(2)
(引用文章,版权归作者,如需删除请联系我)
XML与HTML的比较
n XML将数据与显示分开
<html>
<head>
</head>
<body>
<center>
<h2><font color="red">静夜思</font></h2>
<b>作者:李白</b>
<hr color="blue">
<p><b><i><font size=3 color="green">
窗前明月光,疑是地上霜。<br>
举头望明月,低头思故乡。</font></i></b>
</center>
</body>
</html>
|
<?xml version="1.0" encoding="gb2312"?>
<poem>
<title>静夜思</title>
<author>李白</author>
<content>
<line>窗前明月光</line>
<line>疑是地上霜</line>
<line>举头望明月</line>
<line>低头思故乡</line>
</content>
</poem>
|
n XML对文档的格式要求更加严格
由于HTML文档格式非常松散,导致了HTML文档解析的复杂性,也造成了浏览器兼容的问题,所以XML从一开始,就对文档的格式制定了非常严格的标准,凡是符合这一标准的XML文档就是格式良好的XML文档(Well-Formed XML Documents)。
1) 开始标签必须要有一个结束标签
在HTML文档中,可以直接使用<p>、<tr>、<td>等标签,而不加结束标签,在XML中,开始标签和结束标签必须配套,也就是必须写成<p>…</p>、<tr>…</tr>、<td>…</td>
2) 空元素标签必须被关闭
在HTML文档中,可以使用<br>、<hr>、<img src=”logo.gif” width=”197” height=”81”>等标签,而在XML中,空元素标签必须被关闭。空元素标签用斜杠(/)来关闭,例如:<br/>、<hr/>、<img src=”logo.gif” width=”197” height=”81”/>
3) 所有的标签都区分大小写
在HTML文档中,标签是不区分大小写的,<tr>和</TR>是tr元素的开始标签和结束标签,但是在XML中,<tr>和<TR>是两个不同的标签,开始标签和结束标签的大小写形式必须一致。
4) 所有的标签必须合理嵌套
在HTML文档中,<b><i>…</b></i>是允许的,但是在XML中,这是错误的。在XML中,所有的标签都要成对出现,合理嵌套,正确的形式是:<b><i>…</i></b>。
5) 所有标签的属性值必须用双引号(“”)或单引号(‘’)括起来
在HTML文档中,属性值可以加引号,也可以不加,例如:<hr color=”blue”>和<hr color=blue>都是合法的。在XML文档中,即使是数字字符,也必须加双引号或单引号,例如:<student name=”zhangsan” age=’18’ />。
6) XML有且只能有一个根元素
在HTML中,可以有多个根元素,如下:
<table>…</table>
<table>…</table>
但在XML中,有且只能有一个根元素,如下:
<?xml version=”1.0” encoding=”gb2312”?>
<table>
…
</table>
XML的编辑工具
n Notepad
n UltraEdit
n XMLSpy
XML文档
n 每一个XML文档都有一个逻辑和一个物理结构。
n 物理上而言,文档由称为实体(entities)的存储单元组成,实体都具有内容并且都通过实体的名字进行标识(文档实体和外部DTD子集除外)。实体可以是一段文本、一个文件、一个数据库记录或其他包含数据的项目。一个实体可以引用其他的实体,从而将它们包含在文档中。文档开始于“根(root)”或文档实体(document entitiy)。
n 格式良好的XML文档形成了一种层次树结构,而这个树的书根就是文档实体,与其他实体不同,文档实体没有名字,只有用于表示文档树的根。XML文档的根元素被称为文档元素(document element),它和在其他外部出现的处理指令、注释等作为文档实体的子结点,而根元素本身和其内部的子元素也是一颗树。
n 实体可以包含已分析(parsed)的或未分析的(unparsed)数据。已分析的数据由字符组成,其中一些字符组成字符数据,另一些字符组成标记。已分析的实体(parsed entity)内容被称为它的替换文本,这个文本被看成是文档整体的一部分。在XML处理器分析XML文档时,凡是文档中出现引用已分析实体的地方,都将被该实体的内容所替换。
n 未分析的实体(unparsed entity)是一种资源,它的内容可以是也可以不是文本,并且,如果是文本的话,可以不是XML文本。每一个未分析的实体有一个相关联的用名字标识的记号(notation)。除了要求XML处理器能向应用程序提供可用的实体和记号的标识之外,XML对未分析的实体内容不作任何限制。
n 已分析的实体以实体引用的方式通过名称来调用;未分析的实体通过ENTITY或ENTITIES属性中给出的名字来调用。
n 逻辑上而言,文档由声明、元素、注释、字符引用和处理指令组成,在文档中,所有这些都是通过显式的标记(markup)来指明的。
n XML标记(markup)包括开始标签(tag)、结束标签、空元素标签、实体引用、字符引用、注释、CDATA段定界符、文档类型声明、处理指令、XML声明、文本声明以及任何在文档实体顶层的空白(即,在文档元素之外,且不在任何其他的标记内部)。其他所有非标记的文本组成文档的字符数据。
n XML文档在逻辑上主要由以下五个部分组成
1) XML声明
2) 文档类型声明
3) 元素
4) 注释
5) 处理指令
分享到:
相关推荐
### CSS基础知识概览 #### CSS简介 CSS,全称为Cascading Style Sheets(层叠样式表),是一种用于定义HTML或XML文档中元素样式的语言。它使得网页设计者能够独立地控制网页的内容与表现形式,提高了网站开发的效率...
### Eclipse SWT开发点滴 #### 一、第三方包的引用 在使用Eclipse进行SWT开发时,经常会遇到需要引入第三方库的情况。以下是引入第三方库的具体步骤: 1. **工程项目增加Libraries** - 右键点击项目 -> `Build ...
"Oracle知识点滴"显然是一份汇聚了关于Oracle数据库关键概念和技术的资料,适合Oracle用户进行学习和参考。以下是根据标题、描述以及文件名所推测的一些关键知识点: 1. **Oracle数据库架构**:Oracle数据库采用...
而“心梓知识”可能是指该源码包含了关于心理健康或情绪管理的知识分享,为用户提供更全面的服务。 总的来说,这份源码资源涵盖了前端网页开发的多个方面,从基础的HTML结构到复杂的JavaScript交互,再到可能涉及的...
### Spring in Action 学习点滴知识点总结 #### 第二章:装配Bean 1. **`<ref>`标签中的`bean`、`local`、`parent`三个属性的区别** - `bean`属性用于指向一个具体的bean实例。 - `local`属性用于表示本地bean...
3. **日记**:暗示NoteBook可能有日记编写和管理的功能,适合记录个人生活或工作中的点滴。 4. **知识点管理**:说明NoteBook设计时考虑到了知识的分类、存储和检索,适合学习者或研究者使用。 5. **随笔**:可能有...
综合以上信息,我们可以得出NoteBook是一个具有笔记、日记、知识管理功能的软件,用户可以通过它来记录生活点滴、管理信息,并且可以自定义界面。它依赖于一些库文件如mfc42.dll和iconv.dll来实现其功能,并且使用...
安装完成后,系统会自动创建一个JRE目录,但为了确保系统能正确识别JDK环境,还需要配置环境变量`PATH`,添加JDK的`bin`目录路径,如`C:\j2sdk1.4.2\bin`,以确保可以在命令行中使用Java相关的命令。 #### JDK常用...
【标题】"我的日记本—可参考"是一个安卓应用程序项目,旨在提供一个个人日记管理平台,用户可以在这里记录、编辑、删除和查找他们的日常生活点滴。这个项目作为一个安卓入门练习,涵盖了移动应用开发的基础知识,是...
在安卓(Android)平台上,开发一个便签应用是常见的任务,它可以帮助用户快速记录生活、工作中的点滴。本文将深入探讨“安卓Android源码——便签软件.zip”中包含的知识点,带你理解如何构建一个基本的便签应用。 ...
这篇文档包含了六篇程序员实习日记,记录了一位实习生在2020年期间学习和工作的点滴,主要涉及Java编程、开源框架、数据库管理和Web应用开发等主题。以下是这些日记中提炼出的重要知识点: 1. **Java编程框架**:...
QQ发表说说功能框是QQ社交平台上的一个重要组成部分,它允许用户分享心情、想法或生活点滴,与好友进行互动。实现这一功能涉及到前端界面设计、后端数据处理以及用户交互等多个方面的技术。以下是对这个功能框背后的...
【部分内容】中的第一篇文章讲述了主人公在生活中感到忙碌和压力,但在生日那天得到了家人的惊喜,从而意识到幸福就存在于日常生活的点滴之中。第二篇文章通过与爷爷下棋的情景,展现了亲情的温暖和陪伴带来的幸福感...
这种系统提供了一种便捷的方式,让人们能够分享思想、观点、专业知识或者生活点滴,无需深入学习编程技术。博客引擎是博客系统的核心组成部分,它负责处理用户的交互、内容管理、模板渲染和权限控制等功能。 在...
2. **布局设计**:应用的界面由XML文件定义,使用Android的Layout组件如LinearLayout、RelativeLayout或ConstraintLayout来组织各个UI元素,如EditText(文本输入框)和Button(按钮)。 3. **活动(Activity)管理...
2. **数据库结构**:用户可以创建多个数据库,每个数据库下可建立树状的层级结构,用于分类存储各类信息。 3. **模板系统**:预设或自定义模板,方便快速录入常见类型的笔记。 4. **搜索功能**:强大的全文搜索功能...
在Android平台上,开发一款记事本应用是一项基础且常见的任务,可以帮助用户记录日常生活中的点滴信息。这个名为"DateNote"的APP就是你自己使用Android Developer Tools(ADT)编写的成果,它展示了Android应用开发...
【标题】"简单的个人记事本APP"是一个基于Android Studio开发的应用程序,旨在提供一个便捷的个人记事功能,让用户可以快速记录生活中的点滴、想法或待办事项。这款应用结合了基本的文本编辑功能与照相机权限的调用...
在Android平台中,开发一款记事本应用程序是一项基础且实用的任务,它能够帮助用户记录生活中的点滴、工作中的想法或是学习笔记。本教程将深入探讨如何使用Android Studio进行记事本应用的开发,以"Jishiben.rar...
本项目名为“Android应用源码之便签软件”,它是一个典型的Android应用程序,旨在实现一个便签管理功能,帮助用户记录日常生活中的点滴。通过分析这个源码,我们可以深入学习Android开发的多个关键知识点。 首先,...