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

XML轻松学习手册(3)XML概念之一

第二章XML概念导言经过第一章的快速进门学习,你已经知道了XML是一种能够让你自己发明标识的语言,它可以将数据与格局从网页中离开,它可以储存数据和共享数据的特征使得XML无
第二章 XML概念

导言

经过第一章的快速进门学习,你已经知道了XML是一种能够让你自己发明标识的语言,它可以将数据与格局从网页中离开,它可以储存数据和共享数据的特征使得XML无所不能。假如你盼看深进学习XML,系统把握XML的来龙往脉,那么我们首先还是要回到XML概念的标题上来。XML(Extensible Markup Language),一种扩大性标识语言。'扩大性''标识''语言'。每一个词都明白的点明了XML的重要特点和功效。我们来仔细分析:

一. 扩大性
二. 标识
三. 语言
四. 结构化
五. Meta数据
六. 显示
七. DOM

一.扩大性---应用XML,你可认为你的文档建立自己的标记(tags)。

XML的第一个词是'扩大性',这正是XML强盛的功效和弹性的原因。
在HTML里,有很多固定的标记,我们必需记住然后应用它们,你不能应用HTML规范里没有的标记。而在XML中,你能建立任何你需要的标记。你可以充分施展你的想象力,给你的文档起一些好记的标记名称。比如,你的文档里包含一些游戏的攻略,你可以建立一个名为的标记,然后在下再根据游戏种别建立,等标记。只要明白,易于懂得你可以建立任何数目标标记。

一开端你也许会不适应,由于我们在学习HTML时,有固定的标记可以直接学习和应用;(很多人包含我自己都是边分析别人的代码和标识,边建立自己的网页),而XML却没有任何标记可以学,也很少有文档的标记是一模一样的。我们怎么办?呵呵,没有就自己创立呀。一旦你真正开端写XML文档,你会发明为所欲为的发明新标记也是一份很有趣的事。你可以建立有自己特点的标记,甚至建立你自己的HTML语言。

扩大性使你有更多的选择和强盛的才能,但同时也产生一个标题就是你必需学会计划。你自己要懂得自己的文档,知道它由哪几部分组成,相互之间的关系和如何辨认它们。

关于建立标识还需要阐明一点,标识是描写数据的类型或特征,比如,年纪,姓名等,而不是数据的内容,比如:<10pxl>,<18>,<张三>,这些都是无用的标记。假如你学过数据库,你可以这样懂得,标识就是一种字段名。

二.标识---应用XML你可以辨认文档中的元素。

XML的第二个词是'标识',这表明了XML的目标是标识文档中的元素。

不论你是HTML,还是XML,标识的本质在于便于懂得,假如没有标识,你的文档在盘算机看来只是一个很长的字符串,每个字看起来都一样,没有重点之分。

通过标识,你的文档才便于浏览和懂得,你可以划分段落,列明标题。XML中,你更可以利用其扩大性 来为文档建立更合适的标识。

不过,有一点要提示大家留心:标识仅仅是用来辨认信息,它本身并不转达信息。例如这样的HTML代码:

frist step
这里表现粗体,只用来阐明是用粗体来显示'frist step'字符,本身并不包含任何实际的信息,在页面上你看不到,真正转达信息的是'frist step '。

三.语言---应用XML你要遵守特定的语法来标识你的文档。

XML第三个词是'语言'。这表明了作为一种语言XML必需遵守必定的规矩。固然XML的扩大性答应你创立新标识,但它仍然必需遵守特定的结构,语法和明白的定义。

在盘算机范畴,语言经常表现一?quot;程序语言',用来编程实现一些功效和利用,但不是所有的'语言'都是用来编程的,XML就只是一种用来定义标识和描写信息的语言。

下面我们来深进懂得一下XML利用的其本原理,可能会很枯燥,但是对于整体的懂得很重要,你可以先快速过一遍,心里有一个含混的概念,具体精髓则需要在实践中慢慢懂得。

四.结构化---XML促使文档结构化,所有的信息按某种关系排列。

'结构化'听起来太抽象了,我们这样懂得,结构化就是为你的文档建立一个框架,就象写文章先写一个提纲。结构化使你的文档看起来不会混乱无章,每一部分都紧密接洽,形成一个整体。

结构化有两个原则:
1.每一部分(每一个元素)都和其他元素有关联。关联的级数就形成了结构。
2.标识本身的含义与它描写的信息相分别。

我们来看一个简略的例子帮助懂得:



XML快速进门
什么是XML
应用XML的利益

XML的概念
扩大性
标识


这是本文的XML描写文档,可以看到标识分三级关联,非常明白:



...



上面这样的文档结构,我们又称之为'文档树',主干是父元素,如,分支和页是子元素,如



推荐阅读
  • 通过自定义 `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:开发者的实用指南 ... [详细]
  • 如何在Java中高效构建WebService
    本文介绍了如何利用XFire框架在Java中高效构建WebService。XFire是一个轻量级、高性能的Java SOAP框架,能够简化WebService的开发流程。通过结合MyEclipse集成开发环境,开发者可以更便捷地进行项目配置和代码编写,从而提高开发效率。此外,文章还详细探讨了XFire的关键特性和最佳实践,为读者提供了实用的参考。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • 在 HihoCoder 1505 中,题目要求从给定的 n 个数中选取两对数,使这两对数的和相等。如果直接对所有可能的组合进行遍历,时间复杂度将达到 O(n^4),因此需要考虑优化选择过程。通过使用哈希表或其他高效的数据结构,可以显著降低时间复杂度,从而提高算法的效率。具体实现中,可以通过预处理和存储中间结果来减少重复计算,进一步提升性能。 ... [详细]
  • [TyvjP1050] 动态规划求解最长公共子序列问题
    在解决最长公共子序列问题时,动态规划是一种高效的方法。具体而言,我们使用二维数组 `dp[i][j]` 来表示第一个字符串匹配到第 `i` 位,第二个字符串匹配到第 `j` 位时的最长公共子序列长度。状态转移方程为:当两个字符相等时,`dp[i][j] = dp[i-1][j-1] + 1`;否则,`dp[i][j] = max(dp[i-1][j], dp[i][j-1])`。通过这种方法,我们可以有效地计算出两个字符串的最长公共子序列。 ... [详细]
  • 在探讨如何高效处理大规模数据报表的分页展示之前,首先需要明确导致报表加载缓慢的主要原因。通常情况下,这主要是由于两个方面:一是查询条件过于宽泛,使得数据库返回的结果集包含数百万甚至更多的记录;二是前端渲染性能不足,无法高效处理大量数据。为了优化这一过程,可以从以下几个方面入手:优化查询条件,减少不必要的数据返回;采用分页查询技术,每次仅加载所需的数据;利用缓存机制,减少对数据库的频繁访问;提升前端渲染效率,使用虚拟滚动等技术提高用户体验。 ... [详细]
  • 如何在Windows 7旗舰版中高效打开CHM帮助文件
    如何在Windows 7旗舰版中高效打开CHM帮助文件 ... [详细]
  • 本文深入探讨了原型模式在软件设计中的应用与实现。原型模式通过使用已有的实例作为原型来创建新对象,而不是直接通过类实例化。这种方式不仅简化了对象的创建过程,还提高了系统的灵活性和效率。具体来说,原型模式涉及一个支持克隆功能的接口或基类,子类通过实现该接口来提供具体的克隆方法,从而实现对象的快速复制。此外,文章还详细分析了原型模式的优缺点及其在实际项目中的应用场景,为开发者提供了实用的指导和建议。 ... [详细]
  • 在Linux环境下编译安装Heartbeat时,常遇到依赖库缺失的问题。为确保顺利安装,建议预先通过yum安装必要的开发库,如glib2-devel、libtool-ltdl-devel、net-snmp-devel、bzip2-devel和ncurses-devel等。这些库是编译过程中不可或缺的组件,能够有效避免编译错误,确保Heartbeat的稳定运行。 ... [详细]
author-avatar
好宝贝蛋_282
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有