XML二
XML的语法要求:
1,XML文档必须有一个顶层元素,即文档元素,所有其他元素必须嵌入在文档元素中。
2,元素嵌套要正确,即如果一个元素在另一个元素中开始,那么必须在同一个元素中结束。
3,每个元素必须同时拥有起始标记和结束标记。
4,起始标记中的元素类型名必须与相应结束标记中的名称完全匹配。
5,元素类型名区分大小写。
6,元素类型名称中可以包含字母,数字以及其他字母元素类型,也可以使用非英文字符,但名称 不能以数字或者符号“-”开头,另外,名称中不能包含空格和冒号“:”。
上边是XML语言本身的相关知识,下边我讲述一下XML的两种语法规则:XML文档是一种结构化的标记文档,XML文档结构有两种描述数据的方法,分别为文档类型定义(Document Type Definition ,DTD)和Schema模式。
先说DTD:
1,DTD的概述:
DTD(Document TypeDefinition),定义了XML文件的结构,为XML文件提供了语法与规则,内容既可以定义在XML文件中,也可以定义在XML文件之外(分为内部DTD和内部DTD(效果一样)),使用XML进行数据教书的行业或组织可定义自己的DTD。
分类:
每个XML文档可单独定义的DTD,也可以推广为一个系统共享的公用DTD。
外部DTD,一个由权威机构制定的,提供给特定行业或公众使用哦的DTD。
语法:
<!ELEMENT NAMECONTENT> ,说明:NAME表示一个标准的XML的标记名称,CONTENT为下边介绍的内容模型。
2,为什么要使用DTD:
(1),通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。
(2),通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。
(3),而您的应用程序也可使用某个标准的 DTD来验证从外部接收到的数据。
(4),您还可以使用 DTD来验证您自身的数据。
总而言之就是给我们规章可循,使XML文件可以按照DTD很好的交换和表现。
XML二的更多相关文章
- Java SE之XML<二>XML DOM与SAX解析
[文档整理系列] Java SE之XML<二>XML DOM与SAX解析 XML编程:CRUD(Create Read Update Delete) XML解析的两种常见方式: DOM(D ...
- JavaScript操作XML(二)
上一篇介绍了XML的结构以及节点之间的关系这一篇介绍浏览器内建的XML解析器以及JavaScript是如何加载XML的. 大多数浏览器都有读取和操作 XML 的内建 XML 解析器. 解析器(XML ...
- Hibernate映射文件详解(News***.hbm.xml)二
转自 http://blog.csdn.net/a9529lty/article/details/6454924 一.hibernate映射文件的作用: Hibernate映射文件是Hibernate ...
- 用javascript操作xml(二)JavaScript 将XML转换成字符串(xml to string)
function xmlToString(xmlData) { var xmlString; //IE if (window.ActiveXObject){ xmlString = xmlData.x ...
- Xml二(解析思想)、
XML解析: * 解析xml可以做: * 如果xml作为配置文件:读取 * 如果xml作为传输文件:写,读 * xml解析思想: * DOM:将文档加载进内存,形成一颗dom树(document对象) ...
- Android之使用XMLPull解析xml(二)
转自:http://www.blogjava.net/sxyx2008/archive/2010/08/04/327885.html 介绍下在Android中极力推荐的xmlpull方式解析xml.x ...
- XML介绍
XML [TOC] 1.XML简介 XML是Extend Markup Langue可扩展标签语言,标签由开发着自己定义 作用是: 1.描述带关系的数据(作为软件的配置文件):包含与被包含的关系 2. ...
- XML增、删、改
今天有个需求需要操作xml节点.突然见遗忘了许多.上网看了些资料.才整出来.脑袋真不够用.在这里把我找到的资料共享一下.方便以后使用.本文属于网摘/ 一.简单介绍 using System.Xml; ...
- JavaScript操作XML
JavaScript操作XML (一) JavaScript操作XML是通过XML DOM来完成的.那么什么是XML DOM呢?XML DOM 是: 用于 XML 的标准对象模型 用于 XML 的标准 ...
随机推荐
- visual studio中csproj文件中的project guid改为小写
安装了vs2019之后,发现有的项目中引用的其他项目的源码,但是无法识别了. 最后发现是因为project guid是大写导致的. https://stackoverflow.com/question ...
- C/C++.判断文件是否存在(_access)
1. int _access(char* path,int mode)头文件<io.h>功能:确定文件或文件夹的访问权限.如果指定的存取方式有效,则函数返回0,否则函数返回-1. 参数pa ...
- Harbor私有仓库中如何彻底删除镜像释放存储空间?
简介: Harbor私有仓库运行一段时间后,仓库中存有大量镜像,会占用太多的存储空间.直接通过Harbor界面删除相关镜像,并不会自动删除存储中的文件和镜像.需要停止Harbor服务,执行垃圾回收命令 ...
- npm init 命令生成package.json文件
通过npm init 命令可以生成一个package.json文件.这个文件是 整个项目的描述文件.通过这个文件可以清楚的知道项目的包依赖关系,版本,作者等信息.每个NPM包都有自己的package. ...
- C语言获取Linux系统精确时间
gettimeofday()函数的使用方法 1.函数原型 #include <sys/time.h> int gettimeofday(struct timeval *tv, struct ...
- Python3编译安装以及创建虚拟运行环境
一.yum安装pip# yum -y install epel-release #Centos6.8安装epel源# yum -y install python-pip手动安装pip# wget ...
- 3、VNC
VNC(Virtual Network Computing,虚拟网络计算机) VNC分为两部分组成:VNC server 和 VNC viewer VNC安装 1.yum install tigerv ...
- day34 GIL锁 线程队列 线程池
一.Gil锁(Global Interpreter Lock) python全局解释器锁,有了这个锁的存在,python解释器在同一时间内只能让一个进程中的一个线程去执行,这样python的多线程就无 ...
- Descriptors;Hello1 project中的Web.xml
Deployment Descriptors(描述符)是一个xml文件,用来描述如何部署一个模块或者应用(根据描述符中定义的配置和容器选项).举例来说,一个EJB的部署描述符会向EJB容器传递如何管理 ...
- jvm回收器回收过程一:CMS和 G1的初认知(持续更新中)
CMS:介绍: 1.CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器.对于要求服务器响应速度的应用上,这种垃圾回收器非常适合. 在启动JVM参 ...