知识大全 XML的语法规则
Posted 元素
篇首语:对我来说,不学习,毋宁死。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 XML的语法规则相关的知识,希望对你有一定的参考价值。
XML入门基础:XML的语法规则 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
提纲 一 XML语法规则 二 元素的语法 三 注释的语法 四 CDATA的语法 五 Namespaces的语法 六 entity的语法 七 DTD的语法 一 XML语法规则 XML的文档和HTML的原代码类似 也是用标识来标识内容 创建XML文档必须遵守下列重要规则 规则 必须有XML声明语句 这一点我们在上一章学习时已经提到过 声明是XML文档的第一句 其格式如下 <?xml version= standalone= yes/no encoding= UTF ?> 声明的作用是告诉浏览器或者其它处理程序 这个文档是XML文档 声明语句中的version表示文档遵守的XML规范的版本 standalone表示文档是否附带DTD文件 如果有 参数为no encoding表示文档所用的语言编码 默认是UTF 规则 是否有DTD文件 如果文档是一个 有效的XML文档 (见上一章) 那么文档一定要有相应DTD文件 并且严格遵守DTD文件制定的规范 DTD文件的声明语句紧跟在XML声明语句后面 格式如下 <!DOCTYPE type of doc SYSTEM/PUBLIC dtd name > 其中 !DOCTYPE 是指你要定义一个DOCTYPE; type of doc 是文档类型的名称 由你自己定义 通常于DTD文件名相同 SYSTEM/PUBLIC 这两个参数只用其一 SYSTEM是指文档使用的私有DTD文件的网址 而PUBLIC则指文档调用一个公用的DTD文件的网址 dtd name 就是DTD文件的网址和名称 所有DTD文件的后缀名为 dtd 我们还是用上面的例子 应该写成这样 <?xml version= standalone= no encode= UTF ?><!DOCTYPE filelist SYSTEM filelist dtd > 规则 注意你的大小写 在XML文档中 大小写是有区别的 <P>和<p>是不同的标识 注意在写元素时 前后标识大小写要保持一样 例如:<Author>ajie</Author> 写成<Author>ajie</author>是错误的 你最好养成一种习惯 或者全部大写 或者全部小写 或者大写第一个字母 这样可以减少因为大小写不匹配产生的文档错误 规则 给属性值加引号 在HTML代码里面 属性值可以加引号 也可以不加 例如:<font color=red>word</font>和<font color= red >word</font>都可以被浏览器正确解释 但是在XML中则规定 所有属性值必须加引号(可以是单引号 也可以是双引号) 否则将被视为错误 规则 所有的标识必须有相应的结束标识 在HTML中 标识可能不是成对出现的 比?lt;br> 而在XML中规定 所有标识必须成对出现 有一个开始标识 就必须有一个结束标识 否则将被视为错误 规则 所有的空标识也必须被关闭空标识就是标识对之间没有内容的标识 比如<br> <img>等标识 在XML中 规定所有的标识必须有结束标识 针对这样的空标识 XML中处理的方法是在原标识最后加/ 就可以了 例如 <br>应写为<br /> <META name= keywords content= XML SGML HTML >应写为<META name= keywords content= XML SGML HTML /> <IMG src= cool gif >应写为<IMG src= cool gif />第四章 XML语法二 元素的语法 元素由一对标识以及其中的内容组成 就象这样 ajie 元素的名称和标识的名称是一样的 标识可以用属性来进一步描述
在XML中 没有任何保留字 所以你可以随心所欲的用任何词语来作为元素名称 但是也必须遵守下列规范 名称中可以包含字母 数字以及其它字母 名称不能以数字或 _ (下划线)开头 名称不能以字母 xml(或 XML 或 Xml ……)开头 名称中不能包含空格 名称中间不能包含 (冒号) 为了使元素更容易阅读理解和操作 我们还有一些建议 名称中不要使用 因为在很多程序语言中 是作为对象的属性 例如 lor 同样的原因 也最好不要用 必须使用的 以 _ 代替 名称尽量简短 名称的大小写尽量采用同一标准 名称可以使用非英文字符 比如用中文 但是有些软件可能不支持 (IE 目前是支持中文元素的 ) 另外 补充一点关于属性的说明 在HTML中 属性可以用来定义元素的显示格式 比如 <font color= red >word</font>将把word显示为红色 而在XML中 属性只是对标识的描述 与元素内容的显示无关 例如同样一句 <font color= red >word</font> 并不会将word显示为红色 (那么 有网友会问 如何在XML中将文字显示为红色呢?这就需要使用CSS或者XSL 我们在下面详细讲述 ) 三 注释的语法 注释是为了便于阅读和理解 在XML文档添加的附加信息 将不会被程序解释或则浏览器显示 注释的语法如下 <! 这里是注释信息 > 可以看到 它和HTML中的注释语法是一样的 非常容易 养成良好的注释习惯将使你的文档更加便于维护 共享 看起来也更专业 四 CDATA的语法 CDATA全称character data 翻译为字符数据 我们在写XML文档时 有时需要显示字母 数字和其它的符号本身 比如 < 而在XML中 这些字符已经有特殊的含义 我们怎么办呢?这就需要用到CDATA语法 语法格式如下 <![CDATA[这里放置需要显示的字符]]>
例如 <![CDATA[<AUTHOR sex= female >ajie</AUTHOR>]]> 在页面上显示的内容将是 <AUTHOR sex= female >ajie</AUTHOR>
第四章 XML语法五 Namespaces的语法 Namespaces翻译为名字空间 名字空间有什么作用呢?当我们在一个XML文档中使用他人的或者多个DTD文件 就会出现这样的矛盾 因为XML中标识都是自己创建的 在不同的DTD文件中 标识名可能相同但表示的含义不同 这就可能引起数据混乱 比如在一个文档<table>wood table</table>中<table>表示桌子 而在另一个文档<table>namelist</table>中<table>表示表格 如果我需要同时处理这两个文档 就会发生名字冲突 了解决这个问题 我们引进了namespaces这个概念 namespaces通过给标识名称加一个网址(URL)定位的方法来区别这些名称相同的标识 Namespaces同样需要在XML文档的开头部分声明 声明的语法如下 <document xmlns:yourname= URL >其中yourname是由你定义的namespaces的名称 URL就是名字空间的网址 假设上面的 桌子<table> 文档来自 我们就可以声明为<document xmlns:zhuozi= > 然后在后面的标识中使用定义好的名字空间 <zhuozi:table>wood table</table> 这样就将这两个<table>区分开来 注意的是 设置URL并不是说这个标识真的要到那个网址去读取 仅仅作为一种区别的标志而已 六 entity的语法 entity翻译为 实体 它的作用类似word中的 宏 也可以理解为DW中的摸板 你可以预先定义一个entity 然后在一个文档中多次调用 或者在多个文档中调用同一个entity entity可以包含字符 文字等等 使用entity的好处在于 它可以减少差错 文档中多个相同的部分只需要输入一遍就可以了 它提高维护效率 比如你有 个文档都包含copyright的entity 如果需要修改这个copyright 不需要所有的文件都修改 只要改最初定义的entity语句就可以了 XML定义了两种类型的entity 一种是我们这里说的普通entity 在XML文档中使用 另一种是参数entity 在DTD文件中使用 entity的定义语法为:<!DOCTYPE filename [<!ENTITY entity name entity content ]>例如我要定义一段版权信息:<!DOCTYPE copyright [<!ENTITY copyright Copyright Ajie All rights reserved ]>如果我的版权信息内容和他人共享一个XML文件 也可以使用外部调用的方法 语法象这样 <!DOCTYPE copyright [<!ENTITY copyright SYSTEM > ]>定义好的entity在文档中的引用语法为 &entity name;例如 上面定义的版权信息 调用时写作?copyright;完整的例子如下 你可以copy下来存为copyright xml观看实例 <?xml version= encoding= GB ?><!DOCTYPE copyright [<!ENTITY copyright Copyright Ajie All rights reserved >]><myfile><title>XML</title><author>ajie</author><email></email><date> </date>©right;</myfile>
第四章 XML语法七 DTD的语法 DTD是 有效XML文档 的必须文件 我们通过DTD文件来定义文档中元素和标识的规则及相互关系 如何建立一个DTD文件呢?让我们一起来学习 设置元素 元素是XML文档的基本组成部分 你要在DTD中定义一个元素 然后在XML文档中使用 元素的定义语法为 <!ELEMENT DESCRIPTION (#PCDATA DEFINITION)*> 说明 <!ELEMENT 是元素的声明 说明你要定义的是一个元素
声明后面的 DESCRIPTION 是元素的名称 (#PCDATA DEFINITION)*> 则是该元素的使用规则 规则定义了元素可以包含的内容以及相互的关系 下面的表格概要列出了元素的规则 元素规则表:
Symbol
含义
举例
#PCDATA
包含字符或文本数据
<MYFILE(#PCDATA)>元素MYFILE包含一个文本数据
#PCDATA element name
包含文本和其它子元素
<MYFILE(#PCDTATA TITLE)>MYFILE元素必须包含文本和TITLE子元素
使用逗号分隔排序
<MYFILE (TITLE AUTHOR EMAIL)>MYFILE元素必须依次包含TITILE AUTHOR EMAIL三个子元素
|
使用 | 表示或者
<MYFILE (TITLE | AUTHOR | EMAIL)>MYFILE元素必须包含TITLE 或者AUTHOR或者EMAIL子元素
name
只能使用一次
<MYFILE (TITLE)>MYFILE元素必须包含TITLE子元素 而且只能使用一次
使用一次或者不使用
<MYFILE (TITLE AUTHOR? EMAIL?)>MYFILE元素必须包含TITLE子元素 而且只能使用一次 可以包含或者不包含AUTHOR和EMAIL子元素 但是如果使用 只能一次
使用至少一次或多次
<MYFILE (TITLE+ AUTHOR? EMAIL)>MYFILE元素必须包含TITLE子元素 而且使用至少一次 接下来可以跟随AUTHOR子元素 也可以不跟 最后必须包含EMAIL子元素 而且只能使用一次
使用一次 多次 或者根本不使用
<MYFILE (TITLE*)>MYFILE元素可以包含一个 多个或者不包含TITLE子元素
设置组 可以嵌套
<MYFILE(#PCDATA | TITLE)*>元素MYFILE包含一个或者更多的文本或者TITLE子元素
<MYFILE((TITLE* AUTHOR? EMAIL)* | MENT)>MYFILE元素必须包含一些内容 内容或者是一个注释 也或者是多个组 组里包含 一个 多个或者没有TITLE子元素 接着是一个或者没有AUTHOR子元素 再接着是一个必须的EMAIL子元素
另外 我们还可以为元素定义属性 因为我们不推荐使用属性 在这里就不详细展开了 最后 我们来总结一些前四章学习的内容 写一个包含DTD XML 以及Script的简单实例 便于读者理解 将下面文件存为myfile dtd<!ELEMENT myfile (title author)><!ELEMENT title (#PCDATA)><!ELEMENT author (#PCDATA)> 然后建立XML文档myfile xml:<?xml version= encoding= GB ?><!DOCTYPE myfile SYSTEM myfile dtd ><myfile><title>XML轻松学习手册</title><author>ajie</author></myfile> 建立HTML文档l<><head><script language= JavaScript for= window event= onload >var xmlDoc = new ActiveXObject( Microsoft XMLDOM );xmlDoc async= false ;xmlDoc load( myfile xml );nodes = xmlDoc documentElement childNodes;title innerText = em( ) text;author innerText = em( ) text;</script><title>在HTML中调用XML数据</title></head><body bgcolor= #FFFFFF ><b>标题: </b><span id= title ></span><br><b>作者: </b><span id= author ></span><br></body></>
cha138/Article/program/net/201311/11347相关参考
知识大全 高中学考英语的语法填空和完形填空怎么答题 我基础很差 只会蒙
高中学考英语的语法填空和完形填空怎么答题我基础很差只会蒙完形填空需要很强大的基础。还是先学好语法题,语法题比较简单。语法就是语言的规则。主要的规则就是那么几种。动词的时态,名词的头尾注意事项,还有从句
知识大全 我们现在学习的英语语法是外国人发明的,还是中国人总结
我们现在学习的英语语法是外国人发明的,还是中国人总结外国人也是人。中国人学语法,外国人怎么可能不学语法呢?中国人也不是所有人都学语法。外国人也不是所有人都学语法。语法是语言的规律,语言的规则。凡是语言
国外语言生物学的研究表明,人生下来就有一种本能,即能理解作为自然语言基础的语法规则,婴儿还具有神奇的语言学习能力。宝宝的咿呀学语,标志着宝宝开始学习说话了,这时就应对宝宝进行发音训练。 首先,爸爸妈
应征者在参加英语面试前大都作过充分的语言知识的准备与练习。那么在众多的英语语法规则中为什么要单独强调时态的运用呢?其一是因为由于和汉语的表达习惯不同,这是一个口语中极其常见的错误。但同时来说,时态又是
XML入门教程:XML有哪些用途? 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! XML是被设计
怎么学好英语单词和语法。学英语语法切记不可盲目!如果你把语文的语法学通了,要学英语语法那是轻而易举的。而你只是一心要学好英语语法,却不注重将之融会贯通,那你就会越学越觉得烦、难,进而对学习英语语法、英
掌握XML实例演练ASP+XML编程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 作为一个普通
WebXML编程之显示XML文件内容 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! XML技术越
学了谢孟媛的语法还要学新概念英语的语法吗我认为结合学比较好。谢孟媛文法要听细,学透。特别要学习她的做题方法哦,顶呱呱滴。新概念的就拿来多读吧,有助于提高口语。语法不是学得越多就越好,是要学得扎实、深刻
***正则表达式语法(字符匹配语法重复匹配语法字符定位语法转义匹配语法)******** (字符 \\ 将下一个字符标记为