XML 高速入门总结
XML已经学习完了一段时间了。一直感觉知识比較琐碎,没有去好好总结。事实上越琐碎的知识也越须要我们去好好
理一下。将知识串起来。争取变得不再琐碎。以下是我学完xml画的一张图。
以下对XML进行一下简单的介绍。
xml介绍
XML 指可扩展标记语言(EXtensible Markup Language)。 是一种标记语言,非常类似 HTML。
XML 的设计宗旨是
数据传输。而非显示数据。XML 标签没有被提前定义。须要自行定义标签。XML 被设计为具有自我描写叙述性。
XML 是 W3C
的推荐标准。
XML 与 HTML 的主要差异
XML 不是 HTML 的替代。
XML 和 HTML 为不同的目的而设计:
XML 被设计为传输和存储数据。其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息。
语法
(1)全部 XML 元素都须有关闭标签
(2)XML 标签对大写和小写敏感
(3)XML 必须正确地嵌套
(4)XML 文档必须有一个元素是全部其它元素的父元素。该元素称为根元素。
DTD和Schema
Schema是对XML文档结构的定义和描写叙述,其基本的作用是用来约束XML文件,并验证XML文件有效性。DTD的作用
是定义XML的合法构建模块,它使用一系列的合法元素来定义文档结构。它们之间的差别有以下几点:
(1)Schema本身也是XML文档,DTD定义跟XML没有什么关系,Schema在理解和实际应用有非常多的优点。
(2)DTD文档的结构是“平铺型”的,假设定义复杂的XML文档,非常难把握各元素之间的嵌套关系;Schema文档
结构性强。各元素之间的嵌套关系很直观。
(3)DTD仅仅能指定元素含有文本,不能定义元素文本的详细类型,如字符型、整型、日期型、自己定义类型等。
Schema在这方面比DTD强大。
(4)Schema支持元素节点顺序的描写叙述,DTD没有提供无序情况的描写叙述。要定义无序必需穷举排列的全部情况。
Schema能够利用xs:all来表示无序的情况。
(5)对命名空间的支持。
DTD无法利用XML的命名空间,Schema非常好满足命名空间。而且,Schema还提供了
include和import两种引用命名空间的方法。
Schema是对DTD的替代。
个人点睛
上述图中的三种标记语言的发展顺序为:html(超文本标记语言)——xhtml(可扩展性超文本标记语言)——
xml(可扩展性标记语言)。在学习知识的时候首先要把大背景给搞清楚。弄清了语言之间的关系。理清了思路,学
习起来就有条理了。
XML 高速入门总结的更多相关文章
- XML高速入门
XML是什么 Extensible Markup Language 自己定义标签: 用来数据传输: 可扩展标记语言,是一种类似超文本标记语言的标记语言. 与HTML的比較: 1.不是用来替代HTML的 ...
- Hadoop高速入门
Hadoop高速入门 先决条件 支持平台 GNU/Linux是产品开发和执行的平台. Hadoop已在有2000个节点的GNU/Linux主机组成的集群系统上得到验证. Win32平台是作为开发平台支 ...
- Bmob移动后端云服务平台--Android从零開始--(二)android高速入门
Bmob移动后端云服务平台--Android从零開始--(二)android高速入门 上一篇博文我们简介何为Bmob移动后端服务平台,以及其相关功能和优势. 本文将利用Bmob高速实现简单样例,进一步 ...
- Windows下FFmpeg高速入门
本系列文章导航 Windows下FFmpeg高速入门 ffmpeg參数解释 mencoder和ffmpeg參数具体解释(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进 ...
- XML新手入门 创建构造良好的XML(1)
XML新手入门 创建构造良好的XML(1) 2009-03-19 09:24 Kay Whatley IBM Developerworks 我要评论(0) 字号:T | T 本文描述了构建良好的XML ...
- XML实例入门2
工具:notepad++.VS2008(MSXML6.0) 来自msdn的例子(经过修改,因为升级到MSXML6.0,有些关键字不太一样了), 需要文件books.xml,books.vsd(博客只支 ...
- Tensorflow高速入门2--实现手写数字识别
Tensorflow高速入门2–实现手写数字识别 环境: 虚拟机ubuntun16.0.4 Tensorflow 版本号:0.12.0(仅使用cpu下) Tensorflow安装见: http://b ...
- C语言高速入门系列(二)
C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ...
- Swift高速入门之函数
函数 看一个函数的样例: func addNumbers( let a:Int,let b:Int)->Int{ return a+b; } 实现两个数相加.函数必须以func开头,后面是函数名 ...
随机推荐
- 一个网页的对象抽象之路——po编程 (干货,Java自动化测试)
先来看一个在腾讯课堂首页搜索机构的操作步骤: 1:首先打开腾讯课堂的首页:https://ke.qq.com 2:点击课程或机构的下拉选择图标 3:选择机构 4:在搜索框输入要搜索的机构名称 5:点击 ...
- lucene查询索引之QueryParser解析查询——(八)
0.语法介绍:
- perl6 中将 字符串 转成十六进制
say Blob.new('abcde'.encode('utf8')).unpack("H*"); say '0x'~'abcde'.encode('utf8').unpack( ...
- RESTful 个人理解总结【转】
转自:http://www.cnblogs.com/wang-yaz/p/9237981.html 一.什么是RESTful 面向资源 简单的说:RESTful是一种架构的规范与约束.原则,符合这种规 ...
- C语言清空输入缓冲区的N种方法对比【转】
转自:http://www.cnblogs.com/codingmylife/archive/2010/04/18/1714954.html C语言中有几个基本输入函数: //获取字符系列 int f ...
- window批处理——bat文件的编写
BAT 批处理脚本 教程 第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命 ...
- linux诡异的硬盘不足
phpmyadmin页面登录不进去,ftp也连不上.而服务端的service都开着的.直觉是看一下硬盘使用情况. df -TH 发现可用空间几乎为0 但是查看各个目录使用情况: du -sh /* | ...
- KnockoutJs学习笔记(七)
if binding与visible binding类似.不同之处在于,包含visible binding的元素会在DOM中一直保存,并且该元素相应的data-bind属性会一直保持,visible ...
- Spring Boot Mvc 单元测试
https://blog.csdn.net/hfmbook/article/details/70209162
- 打FFT时中发现的卡常技巧
题目:洛谷P1919 A*B Problem 加强版 我的代码完全借鉴boshi,然而他380ms我880ms...于是我通过彻底的卡(chao)常(dai)数(ma)成功优化到了380ms,都是改了 ...