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

XML轻松学习手册(4)XML的术语之一

第三章XML的术语提纲:导言一.XML文档的有关术语二.DTD的有关术语导言初学XML最令人头疼的就是有一大堆新的术语概念要懂得。由于XML本身也是一个崭新的技巧,正在不断发展和变
第三章 XML的术语

 


提纲:



导言

一.XML文档的有关术语

二.DTD的有关术语




导言




初学XML最令人头疼的就是有一大堆新的术语概念要懂得。由于XML本身也是一个崭新的技巧,正在不断发展和变更,各组织和各大网络公司(微软,IBM,SUN等)都在不断推出自己的见解和尺度,因此新概念漫天飞就不足为奇了。而国内又缺乏权威的机构或组织来对这些术语正式定名,你所看见的有关XML的中文教材大部分是靠作者本身的懂得翻译过来的,有些是准确的,有些是错误的,更加妨碍了我们对这些概念的懂得和学习。




你下面将要看到的关于XML术语的说明,也是作者本身的懂得和翻译。阿捷是以W3C组织宣布的XML1.0尺度规范和相干的正式阐明文档为根据来讲述。可以确保这些懂得是基础准确的,至少不是错误的。你假如想进一步浏览和懂得,我在本文的最后部分列明了相干资源的出处和链接,你可以直接拜访。好,我们转进正题:


一.XML文档的有关术语

什么是XML文档?知道HTML原代码文件吧,XML文档就是用XML标识写的XML原代码文件。XML文档也是ASCII的纯文本文件,你可以用Notepad创立和修正。XML文档的后缀名为.XML,例如myfile.xml。用IE5.0以上浏览器也可以直接打开.xml文件,但你看到的就是'XML原代码',而不会显示页面内容。你可以将下面代码存为myfile.xml试试:








ajie

ajie@aolhoo.com

20010115


XML文档包含三个部分:

1. 一个XML文档声明;

2. 一个关于文档类型的定义;

3. 用XML标识创立的内容。


举例阐明:










ajie



......



其中第一行就是一个XML文档的声明,第二行阐明这个文档是用filelist.dtd来定义文档类型的,第三行以下就是内容主体部分。
我们来懂得XML文档中有关的术语:


1.Element(元素):

元素在HTML我们已经有所懂得,它是组成HTML文档的最小单位,在XML中也一样。一个元素由一个标识来定义,包含开端和结束标识以及其中的内容,就象这样:ajie


唯一不同的就是:在HTML中,标识是固定的,而在XML中,标识需要你自己创立。


2.Tag(标识)

标识是用来定义元素的。在XML中,标识必需成对呈现,将数据包抄在中间。标识的名称和元素的名称是一样的。例如这样一个元素:

ajie

其中就是标识。


3.Attribute(属性):

什么是属性?看这段HTML代码:word。其中color就是font的属性之一。

属性是对标识进一步的描写和阐明,一个标识可以有多个属性,例如font的属性还有size。XML中的属性与HTML中的属性是一样的,每个属性都有它自己的名字和数值,属性是标识的一部分。举例:

ajie

XML中属性也是自己定义的,我们建议你尽量不应用属性,而将属性改成子元素,例如上面的代码可以改成这样:

ajie

<***>female



原因是属性不易扩充和被程序把持。


4.Declaration(声明)

在所有XML文档的第一行都有一个XML声明。这个声明表现这个文档是一个XML文档,它遵守的是哪个XML版本的规范。一个XML的声明语句就象这样:


5.DTD(文件类型定义)

DTD是用来定义XML文档中元素,属性以及元素之间关系的。

通过DTD文件可以检测XML文档的结构是否准确。但建立XML文档并不必定需要DTD文件。关于DTD文件的具体阐明我们将在下面单独列项。


6.Well-formed XML(良好格局的XML)

一个遵照XML语法规矩,并遵照XML规范的文档称之为'良好格局'。假如你所有的标识都严格遵照XML规范,那么你的XML文档就不必定需要DTD文件来定义它。

良好格局的文档必需以一个XML声明开端,例如:



其中你必需阐明文档遵照的XML版本,目前是1.0;其次阐明文档是'独立的',它不需要DTD文件来验证其中的标识是否有效;第三,要阐明文档所应用的语言编码。默认的是UTF-8,假如应用中文,你需要设置为GB2312。

良好格局的XML文档必需有一个根元素,就是紧接着声明后面建立的第一个元素,其它元素都是这个根元素的子元素,属于根元素一组。

良好格局的XML文档的内容书写时必需遵照XML语法。(有关XML语法我们将在下一章仔细讲解)


7.Valid XML(有效的XML)

一个遵照XML语法规矩,并遵照相应DTD文件规范的XML文档称为有效的XML文档。留心我们比拟'Well-formed XML'和'Valid
XML',它们最大的差别在于一个完整遵照XML规范,一个则有自己的'文件类型定义(DTD)'。

将XML文档和它的DTD文件进行比拟分析,看是否符合DTD规矩的过程叫validation(确认)。这样的过程通常我们是通过一个名为parser的软件来处理的。

有效的XML文档也必需以一个XML声明开端,例如:



和上面例子不同的,在standalone(独立)属性中,这里设置的是'no',由于它必需和相应的DTD一起应用,DTD文件的定义方法如下:

其中:

'!DOCTYPE'是指你要定义一个DOCTYPE;

'type-of-doc'是文档类型的名称,由你自己定义,通常于DTD文件名雷同;

'SYSTEM/PUBLIC'这两个参数只用其一。SYSTEM是指文档应用的私有DTD文件的网址,而PUBLIC则指文档调用一个公用的DTD文件的网址。

'dtd-name' 就是DTD文件的网址和名称。所有DTD文件的后缀名为'.dtd'。

我们还是用上面的例子,应当写成这样:






推荐阅读
  • 通过自定义 `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` 对象还提供了丰富的配置选项和生命周期管理功能,使得构建过程更加灵活高效。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 我正在使用 Ruby on Rails 构建个人网站。总体而言,RoR 是一个非常出色的工具,它提供了丰富的功能和灵活性,使得创建自定义页面变得既高效又便捷。通过利用其强大的框架和模块化设计,我可以轻松实现复杂的功能,同时保持代码的整洁和可维护性。此外,Rails 的社区支持也非常强大,为开发过程中遇到的问题提供了丰富的资源和解决方案。 ... [详细]
  • SQL Server开发技巧:修改表结构后的视图批量更新方法与实践 ... [详细]
  • 深入解析 OpenCV 2 中 Mat 对象的类型、深度与步长属性
    在OpenCV 2中,`Mat`类作为核心组件,对于图像处理至关重要。本文将深入探讨`Mat`对象的类型、深度与步长属性,这些属性是理解和优化图像操作的基础。通过具体示例,我们将展示如何利用这些属性实现高效的图像缩小功能。此外,还将讨论这些属性在实际应用中的重要性和常见误区,帮助读者更好地掌握`Mat`类的使用方法。 ... [详细]
  • 在Unity3D中,获取游戏对象有多种实用技巧和方法。除了常见的序列化变量拖拽方式外,还可以使用 `GameObject.Find()` 方法通过对象名称或路径来直接获取游戏对象。此外,`Transform.Find()` 和 `GameObject.FindWithTag()` 也是常用的手段,分别适用于通过层级结构和标签来查找游戏对象。这些方法各有优劣,开发者可以根据具体需求选择最合适的方式。 ... [详细]
  • 通过优化模板消息机制,本研究提出了一种高效的信息化推送方案。该方案利用获取的访问令牌(access token)和指定的模板ID,实现了精准且快速的信息推送,显著提升了用户体验和信息传递效率。具体实现中,通过调用相关API接口,确保了消息的准确性和及时性,为用户提供更加便捷的服务。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • 深入浅出:前端开发中的JavaScript基础入门
    JavaScript,作为前端开发的核心技术之一,与HTML和CSS并称为Web开发的三大基石。尽管其名称与Java相似,但实际上两者并无直接关联,JavaScript是一门独立的编程语言,与Python、Go和C++等语言一样具有独特的语法和特性。本文将从基础入手,详细介绍JavaScript的基本概念、语法结构及其在现代Web开发中的应用。 ... [详细]
  • 在第六章中,我们将深入探讨MySQL中的多表查询技术,包括联结查询和子查询。联结查询通过将两个或多个表进行连接,基于连接条件生成结果集。常见的联结类型有内联结、外联结和全外联结。交叉联结(CROSS JOIN)虽然使用较少,但其原理是生成所有可能的组合,类似于笛卡尔积的概念。此外,子查询则是在一个查询语句中嵌套另一个查询,用于获取更复杂的数据集。本章将通过实例详细讲解这些查询方法的应用和优化技巧。 ... [详细]
author-avatar
qiuqiu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有