精华内容
下载资源
问答
  • 在开发Android应用程序的时候,我们经常都会操作一些Xml文件用以构建我们的Android工程。例如:用以规划Android界面的布局文件,Android工程中的AndroidManifest.xml清单文件,资源文件等等。有趣的是每次我们在这些...

    在开发Android应用程序的时候,我们经常都会操作一些Xml文件用以构建我们的Android工程。例如:用以规划Android界面的布局文件,Android工程中的AndroidManifest.xml清单文件,资源文件等等。有趣的是每次我们在这些Xml文件中添加自己的代码时,都会按照一定的规则进行添加,而我们大多数人都不知道编写Xml文件时所遵循的约束规则是怎么来的。在这里我就来向大家揭秘一下Xml文件的约束规则,以及怎么定义自己的约束规则!

    一、XML的概述

    * XML即eXtensible Markup Language 可扩展标记语言

    * 宗旨是传输数据,而并非显示数据。

    * XML标签没有被预定义,需要用户自行定义标签。

    * XML技术是W3C组织(World Wide Web Consortium万维网联盟)发布的,目前 遵循的是W3C组织于2000年发布的XML1.0规范。

    * 作用:

    a. 传输数据

    b. 配置文件

    二、XML的语法

    * 文档开头第一句必须声明

    * 一个XML文档必须有且仅有一个根标签

    * 一个标签有如下两种书写形式:

    包含标签主体:some content

    不含标签主体:

    * XML中不会忽略出现的空格和换行。

    * 严格区分大小写

    * 注释语句:

    * 如果需要将标签当做普通文本内容那么需要使用CDATA:使用方 式如下:

    www.itcast.cn ]]>

    三、XML的约束

    Xml的约束规则有DTD和Schema下面就来向大家一一解析两种不同的约束规则:

    一:DTD约束:

    A)分类:

    格式良好的XML:遵循XML语法的XML

    有效的XML:遵循约束文档的XML

    注意:dtd文档必须用utf-8编码格式保存

    B)校验XML的有效性

    1.非校验解析器

    2.校验解析器

    C)DTD文件的语法

    1.DTD文档中使用ELEMENT关键字声明一个元素。

    2.若子元素用逗号分开,说明须按照声明顺序编写XML文档。

    3.如果子元素用“|”分开,说明任选其一

    4.用+、*、?来表示元素出现的次数

    5.定义属性:

    属性名1 属性值类型 设置说明

    属性名2 属性值类型 设置说明>

    D)DTD 文件的引入:

    1.引用本地的DTD文档时:

    2.引用公共网络上的DTD文档时:

    E):DTD约束实例:

    DTD文件代码:(farsight.dtd)

    XML文件:

    二:Schema约束

    A)Schema约束是用于定义和描述XML文档结构与内容的模式语言,其出现目的是为了克服DTD的局限性。

    B)Schema约束与DTD约束的比较:

    1.Schema符合XML语法结构。

    2.DOM、SAX等XML API很容易解析出Schema文档中的内容。

    3.Schema对名称空间支持很好。

    4.Schema比DTD支持更多的数据类型,并支持用户自定义新的数据类型。

    5.Schema定义约束的能力强大,可以对XML实例文档作出细致的语义限制。

    6.chema不能像DTD一样定义实体,比DTD更复杂,但Schema现在已是w3c组织的标准,它正逐步取代DTD。

    C)使用注意事项

    1.Schema文件自身就是一个XML文件,但它的扩展名通常为.xsd。

    2.一个Schema文档通常称之为模式文档(约束文档),遵循这个文档书写的xml文件称之为实例文档。

    3和XML文件一样,一个Schema文档也必须有一个根结点,但这个根结点的名称为Schema。

    4编写了一个Schema约束文档后,通常需要把这个文件中声明的元素绑定到一个URI地址上,即把Schema文档声明的元素绑定到 一个名称空间上,以后XML文件就可以通过这个URI(即名称空间)来告诉解析引擎,xml文档中编写的元素来自哪里,被谁约束。

    D)Schema约束实例:

    Schema文件:(farsight.xsd)

    targetNamespace="http://www.farsight.cn"

    elementFormDefault="qualified">

    xml文件:

    好了,到这里已经将Xml文件的约束规则已经跟大家详细的讲解完了。相信大家再次在android工程中使用Xml时就不会有困惑了!

    展开全文
  • xml的特点及语法规范

    2021-06-09 05:15:11
    一个完整的xml文档由两部分组成:声明部分和文档节点部分xml的声明部分。xml的声明部分由xml的版本与编码组成。xml的文档节点部分在xml里节点、元素、标签都是一个意思。在xml里,一切皆是节点,包括换行符和空白,...

    一个完整的xml文档由两部分组成:声明部分和文档节点部分

    xml的声明部分

    <?xml version="1.0" encoding="utf-8" ?>。xml的声明部分由xml的版本与编码组成。

    xml的文档节点部分

    在xml里节点、元素、标签都是一个意思。

    在xml里,一切皆是节点,包括换行符和空白,都是文本节点。例如:

    root节点中加上换行符一共有7个子节点

    xml标签的写法

    xml的标签必须成对出现进行闭合,如。而且标签区分大小写,一般推荐标签名和属性使用小写。

    整个文档有且只有一个根节点,如可以是,不允许是

    标签可以嵌套,但不能相互嵌套,如可以是,不允许是

    xml属性的写法

    xml的节点属性必须要有值,且属性的值必须要用引号引起来。如yyj121男的属性是id值是1。

    xml注释与特殊字符的写法

    xml的注释写法与html注释的写法相同都是。

    xml的特殊字符写法与html的相同。例如大于号是&gt、小于号是&lt。

    xml里CDATA节点的写法

    在xml中CDATA节点主要用于存放大段文章。存放在CDATA节点中的文章不用考虑特殊字符以及转义。

    使用方法为其中CDATA必须大写。

    展开全文
  • XML基本语法规则

    2020-12-21 18:54:45
    XML文档的基本语法规则

    XML基本语法规则

    XML 声明

    可选择是否进行声明

    XML 文档的第一行内容,通常是 XML 的声明部分,比如:

    <?xml version="版本号" encoding="编码方式" standalone="独立与否"?>

    声明时的相对位置必须与示例相同即:version>>encoding>>standalone

    若出现则必须是整XML 文档的第一行内容(第一行不能为注释或者空行)。<?xml 必须顶格,且中间不能有空格。

    XML声明内容是否可缺省
    版本声明(version)
    编码声明(encoding)
    文档独立性声明(standalone)

    版本声明(version 属性)

    在 XML 的声明中,这个属性是必须的,并且必须作为第一个属性出现

    若存在XML声明,则必须存在版本声明

    编码声明(encoding 属性)

    用于指明当前 XML 文档中所使用的符号的编码方式(指定解码方式)

    这个编码方式与 XML 文档在文件系统中保存时使用的编码方式没有直接的关系

    编码方式与解码方式是一一对应的

    文档独立性声明 (standalone 属性)

    表明当前 XML 文件是独立使用、还是与其他的标记文件配套使用

    依赖于外部dtd、xslt等文件时,不独立,若是依赖于内部的则依旧独立

    属性解析时是否需要外部标记声明文档
    yes不需要
    no需要

    处理指令(Processing Instruction)

    将 XML 文档用于特殊的应用程序时,表示需要执行的特定操作

    XML 解析器并不理解这些处理指令的含义,也不会执行任何特定的操作

    处理指令的语法格式如下:

    <?target-name data?>

    比如: <?xml-stylesheet href="style.xsl" type="text/xsl”?>。
    (1) 两个问号,是处理指令的开始与结束。
    (2) 当 XSL 的执行引擎碰到这个处理指令时,将会根据 href 的取值获得指定的 xsl 文件,并对输入的 XML 文档进行相应的转换。

    注释 (Comment)

    语法:

    注释中不应该出现两个连续的横线 (-)
    注释不应该出现在元素的标记中
    注释之中不应该嵌套注释

    元素 (Element)

    在层次结构的 XML 文档中,元素是最基本的组成单元

    1. 一个元素可以包含任意多个子元素,可以包含多个同名的子元素

    2. 子元素的顺序是非常重要的

    比如再书的XML文档中,第一个 author 元素表示该书籍的第一作者,而第二个 author 元素表示第二作者,所以颠倒顺序后含义完全不同。

    语法格式

    <element_name att1=“val1” att2=“val2”> ――开始标记
    …content… ――内容
    </element_name> ――结束标记

    元素中可以包含文本、子元素、或者两者的组合

    命名规则

    1. 元素的名称必须以字母、或者下划线( _ )、或者冒号( : )开头
    2. 元素名称中除首个符号之外的部分可以是字母、数字、横线(-)、下划线(_)、点号(.)、冒号(:)的任意组合
    3. 元素名称是大小写敏感的,因此开始标记和结束标记中元素名称的大小写形式必须完全相同
    4. 元素名称长度没有限制
    5. 可以使用非英文的元素名
    位置字符
    开头字母-下划线-冒号
    除首字符外的其他位置字母、数字、横线(-)、下划线(_)、点号(.)、冒号(:)

    不可以出现其他特殊字符,如&$%#@!等

    空元素 (Empty Element)

    在 XML 文档中,元素的内容可以为空

    空元素是指不包含任何内容的元素,但是在其开始标记中可以包含属性

    1. <element_name att1=“val1” att2=“val2”> </element_name>

    2. <element_name> </element_name>

    3. <element_name/>

      2和3完全等价

    属性 (Attribute)

    1. 元素在其开始标记中可以包含任意多个属性,但不能包含同名的属性

    2. 对于一个元素所有的属性,它们不分先后顺序,因为它们之间可以通过名称相互区别

    属性不能独立于元素而存在(存在于元素的开始标记中),通常以名=值的形式出现,属性的取值必须加上引号(单引号或者双引号)。

    属性的名-值对用于描述当前元素的某个方面的特征,比如:
    < author firstname=“tom” lastname=“hanks” > < / author >

    属性的命名规则与元素的命名规则相同

    元素VS属性

    元素内容中的子元素和属性,都可以用来刻画该元素某个方面的特征

    对于简单的标量数据(无结构的数据),可以采用属性,否则应该采用子元素。
    对于可能在数目上发生变化的特性,应该使用子元素,使用子元素的方案在可扩展性方面性能良好

    比如某本书籍可能有多个作者:

    1. 子元素表示描述
      < book >
      < author >tom hanks< /author >
      < author >mike jimmy< /author >

      < /book >

    2. 属性描述
      < book author1=“tom hanks” author2=“mike jimmy”>…< /book>

    方法2修改了元数据的内容,即属性名称本身,可能会影响到已经编写的用于解析该文档的应用程序

    同一元素其子元素与属性的对比

    子元素属性
    数量无限制无限制
    名称可同名不可同名
    顺序有序无序

    元素的内容

    元素开始标记和结束标记之间的数据称为该元素的内容

    内容形式

    1. 子元素
    2. 文本
    3. 子元素和文本的混合

    XML解析器靠<>符号区分文本内容和元素

    < > 之间的文本是元素的标记

    文本内容

    文本内容中不应该出现的特殊字符

    特殊字符指的是在XML中有特殊含义的字符

    使用特殊字符的方法
    预定义实体

    XML 1.0 规范中定义了五种预定义实体

    字符预定义实体(解析之后将被还原)
    <& lt;(less than)
    >& gt;(great than)
    && amp;
    & apos;
    "& quot;

    注意&与字符之间无空格

    除此以外的的其他实体,必须在使用前进行声明

    CDATA段

    CDATA段的作用:告诉解析器不要试图从该文本块中查找 XML 标记,它仅仅就是文本内容

    假设 XML 文档的某块文本内容中包含大量的特殊字符,那么可以将整个文本块的内容放入到一个 CDATA 段

    形如:

    (<![CDATA[......]]>)

    …表示文本块

    CDATA 段的文本内容中不能直接出现 ]]>,并且 CDATA 段不应该嵌套使用

    使用空白字符的方法(White Space)

    空白字符:

    1. 空格

    2. 回车

    3. 换行

    4. 制表

    在缺省的情况下,对于连续出现的空白字符,解析器会将其缩减为一个空格字符。

    显示标记包含的全部空格的方法: 在编辑xml文件时将输入法换成“中文”输入法,并选择“全角状态”来编辑空格字符。

    展开全文
  • XML语法

    2021-02-26 10:55:22
    XML文件结构 文件头 XML文件头由XML声明与DTD文件类型声明组成。其中DTD文件类型声明是可以缺少的,关于DTD声明将在后续的内容中介绍,而XML声明是必须要有的,以使文件符合XML的标准规格。 <?xml version="1.0...

    XML文件结构

    1.文件头
    XML文件头由XML声明与DTD文件类型声明组成。其中DTD文件类型声明是可以缺少的,关于DTD声明将在后续的内容中介绍,而XML声明是必须要有的,以使文件符合XML的标准规格。

    <?xml version="1.0" encoding="utf-8"?>

    文档的声明必须写在第一行第一列

    <?:代表一条指令的开始 ?>:代表一条指令的结束;

    xml:代表此文件是XML文件;

    version=“1.0”:代表此文件用的是XML1.0标准;

    encoding=“gb2312”:代表此文件所用的字符集,默认值为utf-8,如果该文件中要用到中文,就必须将此值设定为gb2312。保存在硬盘上的文件编码要与声明的编码一致。

    <?xml version="1.0" standalone="yes" ?>

    用standalone属性说明文档是否独立,即是否依赖其他文档。yes表示不用引入外部文件,no需要引入。

    2.文件体
    文件体中包含的是XML文件的内容,XML元素是XML文件内容的基本单元。从语法讲,一个元素包含一个起始标记、一个结束标记以及标记之间的数据内容。

    <标记名称 属性名1=“属性值1” 属性名1=“属性值1” ……>内容</标记名称>

    有的数据内容都必须在某个标记的开始和结束标记内,而每个标记又必须包含在另一个标记的开始与结束标记内,形成嵌套式的分布,只有最外层的标记不必被其他的标记所包含。最外层的是根元素(Root),又称文件(Document)元素,所有的元素都包含在根元素内。

    3.元素
    XML元素指XML文件中出现的标签。一个标签分为起始和结束标签(不能省略)。一个标签有如下几种书写形式;
    包含标签主体:<mytag>some content </mytag>和 不含标签主体:<mytag/>
    XML文档中的第一个元素就是根元素,是所有其他元素的父元素。

    <root>
      <child>
        <subchild>.....</subchild>
      </child>
    </root>
    

    一个标签中可以嵌套若干个子标签,但所有的标签必须合理的嵌套,不允许有交叉嵌套。
    <b><i>This text is bold and italic</i></b>
    由于<i>元素是在元素内打开的,那么它必须在<b> 元素内关闭。

    一个XML文档必须有且仅有一个根标签,其他标签都是这个根标签的子标签或孙标签。

    对于XML标签中出现的所有空格和换行,XML解析程序都会当做标签内容进行处理。

    4.命名规范
    区分大小写,例如:<P><p> 是两个不同的标记。
    不能以数字或"-"(中划线)开头。
    不能以xml或(或XML、或Xml等)开头。
    不能包含空格。
    名称中间不能包含冒号(:)。

    5.属性
    一个元素可以有多个属性,每个属性都有它自己的名称和取值,例如:<mytag name=“value” …>

    属性值一定要用引号(单引号或双引号)引起来。
    <person sex="female">
    <person sex='female'>

    如果属性值本身包含双引号,那么有必要使用单引号包围它
    <gangster name='George "Shotgun" Ziegler'>

    属性名的命名规范与元素的命名规范相同。

    元素中的属性是不允许重复的。

    在XML技术中,标签属性所代表的信息也可以被改成用子元素的形式来进行描述。

    <note date="08/08/2008">
      <to>George</to>
      <from>John</from>
    </note>
    

    6.特殊字符
    所有 XML 文档中的文本均会被解析器解析。
    在处理XML数据时,特殊字符要特殊处理,不能和节点字符混淆。
    在 XML 中,一些字符拥有特殊的意义。
    如果你把字符 “<” 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。

    实体引用是指分析文档时会被字符数据取代的元素,实体引用用于XML文档中的特殊字符,否则这些字符会被解释为元素的组成部分。

    为了避免这个错误,请用实体引用来代替 “<” 字符:
    <message>if salary &lt; 1000 then</message>

    在 XML 中,有 5 个预定义的实体引用:
    在这里插入图片描述
    7. 注释
    在这里插入图片描述
    <!-- This is a comment -->

    展开全文
  • HTML语法规范

    千次阅读 2021-09-01 19:03:51
    HTML语法规范 使用正确的文档类型 文档类型声明位于HTML文档的第一行: <!DOCTYPE html> 如果你想跟其他标签一样使用小写,可以使用以下代码: <!doctype html> 使用小写元素名 HTML5 元素名可以...
  • xml语法,约束

    2021-03-15 17:45:35
    1.2、xml 和 html 的区别1.3、xml 的优点1.4、xml 语法1.4.1、文档声明1.4.2、元素1.4.2.1、xml的命名规则1.4.2.2、xml语法规则1.4.3、属性1.5、xml约束1.5.1、何为约束?1.5.2、约束技术1.5.2.1、DTD 约束1.5....
  • XML语法
  • 在开发Android应用程序的时候,我们经常都会操作一些Xml文件用以构建我们的Android工程。例如:用以规划Android界面的布局文件,Android工程中的AndroidManifest.xml清单文件,资源文件等等。有趣的是每次我们在这些...
  • XML语法规则

    2021-06-09 05:15:20
    XML语法规则既简单又严格,非常容易学习和使用。正因为如此,编写读取和操作XML的软件也是相对容易的事情。一个XML文档的例子XML文档使用了自描述的和简单的语法。ToveJaniReminder文档的第1行:XML声明——定义此...
  • XML 语法

    2021-05-09 19:15:49
    ***XML语法树状图*** 【XML 文档 【序言 【处理命令 【注释 【DTD 样式 【文档节点 【元素 【属性 【文本 【CDATA 【实体 【注释 必须有 XML 生命语句 <?xml version="1.0" standalone=...
  • 一、文档声明 用来声明xml的基本属性,用来指挥解析引擎如何去解析当前xml。 通常一个xml都要包含并且只能包含一个文档声明 ... version是必须存在的属性,表明当前xml所遵循规范的版本 encodin...
  • XML的基本语法

    2021-01-19 21:00:13
    开发 JSP 的编程技术人员必须掌握 XML 的基本语法以及规范,才能正确使用 XMLXML 文档的基本结构XML 文档的基本结构如下: //文档声明白素素baisusu22女北京市她是一个作家建立XML文档必须要有XML文档的声明,如第...
  • XML语法格式和HTML语法格式的不同时间:2017-6-2HTML语法格式和XML语法格式都可以用来编写HTML5文档,但还是有些不同,XML语法格式必须严格遵守XML规范,而HTML语法格式是在HTML4.0的语法要求下稍微做了变化....
  • 1.HTML语法规范 1.1基本语法概述 HTML标签是由尖括号包围的关键词,例如< html > HTML标签通常是成对出现的,例如< html >(开始标签)和 < /html >(结束标签),称为双标签 有些特殊的标签必须...
  • 简介什么是xmlxml的作用xml语法文档声明xml注释元素(标签)xml属性文本区域(CDATA区) 什么是xml xml是可扩展的标记语言 xml的作用 主要作用: 用来保存数据,而且这些数据有自我描述性 它还可以作为项目或者模块...
  • 验证xml格式

    2021-02-28 11:42:47
    原文链接http://zhhll.icu/2020/12/20/xml/xml%E7%9A%84%E6%A0%BC%E5%BC%8F/验证xml格式DTD验证可以使用DTD来定义XML文档的合法构建模块。DTD可以写在文档内部,也可以另外写一个文件文档内部]>llzhDTD包含在以上...
  • Android DataBinding语法规范:基本用法:xmlns:app="http://schemas.android.com/apk/res-auto">//class属性定义了DataBinding的类型,如果使用了class属性,则不在根据layout名称生成相应DataBinding了//import...
  • XML期末练习题及答案

    2021-10-30 15:12:29
    一、单项选择题 1.以下的标记名称中合法的是(A )  A.<Book> B.<_ Book>...〈xml〉〈/xml〉C.〈body〉〈/body〉D.〈datasrc〉〈/datasrc〉 3.XML采用以下哪种
  • 前言今天天气大好, 起了个大早开始总结一些常用的基础知识.XML一直来说都很陌生, 使用大多是用于配置文件, 之前并没有细究过其中的约束规范, 今天刚好没事来学习并总结下.1,XML基础介绍XML 指可扩展标记语言...
  • 规范数据格式,是数据具有结构性 1.2 what is XMLXML:可拓展性标记语言 用于传输和存储数据,而不是展示数据 标签必须自定义 <root> <user>董小D</user> <age>23</age> <...
  • [原]用DTD规范XML文档

    2021-05-11 06:03:08
    DTD是一套关于标记符的语法规则,它是XML 1.0版规范的一部分,也是XML文档的一个组成部分,它为XML文档提供了验证机制。DTD是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来检查文档是否符合...
  • XML 验证器

    2021-03-14 13:47:26
    XML 验证器使用我们的 XML 验证器来对您的 XML 文件进行语法检查。XML 错误会终止您的程序XML 文档中的错误会终止您的 XML 应用程序。W3C 的 XML 规范声明:如果 XML 文档存在错误,那么程序就不应当继续处理这个...
  • Java原生API操作XML

    2021-02-27 14:10:00
    使用Java操作XML的开源框架比较多,如著名的Dom4J、JDOM等,但个人认为不管你用那个框架都要对JDK原生的API有所了解才能更得心应手的应用。本篇就来简单了解下原生的XML API。JAVA的XML APIXML的开放性和Java的开源...
  • 这篇文档描述了SCXML,或者说是“状态图可扩展标记语言”。SCXML基于CCXML和Harel State Tables为状态机提供了一个一般性的可执行环境,概述这篇文档描述的SCXML,是一种基于...CCXML1.0规范定义了一个状态机和事件...
  • XML全解

    2021-08-31 11:26:29
    XML可扩展标记语言 1、定义 可扩展标记语言(XML)是标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记计算机之间可以处理...
  • SAR成像处理软件经常使用XML文件进行参数传递,这里简单介绍一下XML文件。然后下面以代码段的形式分别介绍PugiXML和tinyXML两种工具对XML文件读写改查增删等操作。 XML:可扩展标记语言,标准通用标记语言的子集...
  • 9.3:Java:xml基本介绍

    2021-03-22 13:20:19
    ## **1.xml概述**1.1 xmlxml一种数据存储格式,这种数据存储格式在存储数据内容的同时,还能够保存数据之间的关系1.2 xml保存数据的方法:xml利用标签来保存数据的内容,利用标签之间的嵌套关系来保存数据之间的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,316
精华内容 36,926
关键字:

xml语法规范