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二的更多相关文章

  1. Java SE之XML<二>XML DOM与SAX解析

    [文档整理系列] Java SE之XML<二>XML DOM与SAX解析 XML编程:CRUD(Create Read Update Delete) XML解析的两种常见方式: DOM(D ...

  2. JavaScript操作XML(二)

    上一篇介绍了XML的结构以及节点之间的关系这一篇介绍浏览器内建的XML解析器以及JavaScript是如何加载XML的. 大多数浏览器都有读取和操作 XML 的内建 XML 解析器. 解析器(XML ...

  3. Hibernate映射文件详解(News***.hbm.xml)二

    转自 http://blog.csdn.net/a9529lty/article/details/6454924 一.hibernate映射文件的作用: Hibernate映射文件是Hibernate ...

  4. 用javascript操作xml(二)JavaScript 将XML转换成字符串(xml to string)

    function xmlToString(xmlData) { var xmlString; //IE if (window.ActiveXObject){ xmlString = xmlData.x ...

  5. Xml二(解析思想)、

    XML解析: * 解析xml可以做: * 如果xml作为配置文件:读取 * 如果xml作为传输文件:写,读 * xml解析思想: * DOM:将文档加载进内存,形成一颗dom树(document对象) ...

  6. Android之使用XMLPull解析xml(二)

    转自:http://www.blogjava.net/sxyx2008/archive/2010/08/04/327885.html 介绍下在Android中极力推荐的xmlpull方式解析xml.x ...

  7. XML介绍

    XML [TOC] 1.XML简介 XML是Extend Markup Langue可扩展标签语言,标签由开发着自己定义 作用是: 1.描述带关系的数据(作为软件的配置文件):包含与被包含的关系 2. ...

  8. XML增、删、改

    今天有个需求需要操作xml节点.突然见遗忘了许多.上网看了些资料.才整出来.脑袋真不够用.在这里把我找到的资料共享一下.方便以后使用.本文属于网摘/ 一.简单介绍 using System.Xml; ...

  9. JavaScript操作XML

    JavaScript操作XML (一) JavaScript操作XML是通过XML DOM来完成的.那么什么是XML DOM呢?XML DOM 是: 用于 XML 的标准对象模型 用于 XML 的标准 ...

随机推荐

  1. IVIEW对的table组件超出长度用省略号代替,使用气泡提示。

    render: (h, params) => { return h('div', [ h('Tooltip', { props: { placement: 'top' } }, [ h('spa ...

  2. Verification of Model Transformations A Survey of the State-of-the-Art 模型转换的验证 对现状的调查

    模型驱动工程范式认为软件开发生命周期由工件(需求规范.分析和设计文档.测试套件.源代码)支持,这些工件是表示要构建的系统不同视图的模型.存在一个由模型转换驱动的(半)自动构造过程,从系统的抽象模型开始 ...

  3. JS 单线程

    js单线程阻塞实例setTimeout(function () { while (true) { } }, 1000);setTimeout(function () { alert('end 2'); ...

  4. image magick 批量转换文件

    一个事例: You can set the output file name via -set + some percent escapes (in this case you need the di ...

  5. 第三方API使用的好习惯

    1自己封装API接口 有些不很稳定的API接口,最好还是自己封装隔离后再使用,否则哪天它一改接口,那我得到处替换了 比如融云的群组,聊天室

  6. Python自学:第二章 注释

    #向大家问好 print("Hello Python People") 输出为 Hello Python People

  7. Ubuntu用android-ndk-r15c编译boost_1_65_1

    方法一(最简单的): 下载:android-ndk-r16-beta1 然后下载Boost-for-Android:https://github.com/moritz-wundke/Boost-for ...

  8. Quartz的基本使用之入门(2.3.0版本)

    一.Quartz可以用来做什么 Quartz是一个强大任务调度框架,我工作时候会在这些情况下使用到quartz框架,当然还有很多的应用场景,在这里只列举2个实际用到的 餐厅系统会在每周四晚上的22点自 ...

  9. linux c使用socket进行http 通信,并接收任意大小的http响应(二)

    先贴请求头部信息组织代码. 有同学会疑问http_url.h是干什么用的,我要在这里声明,http_url.h并不是给http_url.c用的,实际上http_url.h声明了http_url.c已经 ...

  10. nopcommerce 4.1 学习2 -插件之挂件

    先了解下nop4.1的一些插件有哪些类型: 1.支付插件   Nop.Plugin.Payments.PayPalStandard  Nop.Plugin.Payments.CheckMoneyOrd ...