站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
PHP-XML语法元素
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="text-align:center; border:1px solid #000; float:right; padding:6px;"><strong>导航:</strong> [[PHP#PHP教程|上一页]] | {{template:开发语言导航}}</span> <div style="clear:both;"></div> == XML语法规则 == XML的文档和HTML的原代码类似,也是用标识来标识内容。创建XML文档必须遵守下列重要规则: <br> '''规则1''' <br> 必须有XML声明语句 <br> 这一点我们在上一章学习时已经提到过。声明是XML文档的第一句,其格式如下: <br> <?xml version="1.0" standalone="yes/no" encoding="UTF-8"?> <br> 声明的作用是告诉浏览器或者其它处理程序:这个文档是XML文档。声明语句中的version表示文档遵守的XML规范的版本;standalone表示文档是否附带DTD文件,如果有,参数为no;encoding表示文档所用的语言编码,默认是UTF-8。 <br> ''' 规则2 ''' <br> 是否有DTD文件 <br> 如果文档是一个"有效的XML文档"(见上一章),那么文档一定要有相应DTD文件,并且严格遵守DTD文件制定的规范。DTD文件的声明语句紧跟在XML声明语句后面,格式如下: <br> <!DOCTYPE type-of-doc SYSTEM/PUBLIC "dtd-name"> <br> 其中: <br> "!DOCTYPE"是指你要定义一个DOCTYPE; <br> "type-of-doc"是文档类型的名称,由你自己定义,通常于DTD文件名相同; <br> "SYSTEM/PUBLIC"这两个参数只用其一。SYSTEM是指文档使用的私有DTD文件的网址,而PUBLIC则指文档调用一个公用的DTD文件的网址。 <br> "dtd-name" 就是DTD文件的网址和名称。所有DTD文件的后缀名为".dtd"。 <br> 我们还是用上面的例子,应该写成这样: <br> <?xml version="1.0" standalone="no" encode="UTF-8"?> <br> <!DOCTYPE filelist SYSTEM "filelist.dtd"> <br> '''规则3''' <br> 注意你的大小写 <br> 在XML文档中,大小写是有区别的。<P>和<p>是不同的标识。注意在写元素时,前后标识大小写要保持一样。例如:<Author>ajie</Author>,写成<Author>ajie</author>是错误的。 <br> 你最好养成一种习惯,或者全部大写,或者全部小写,或者大写第一个字母。这样可以减少因为大小写不匹配产生的文档错误。 <br> '''规则4''' <br> 给属性值加引号 <br> 在HTML代码里面,属性值可以加引号,也可以不加。例如:<font color=red>word</font>和<font color="red">word</font>都可以被浏览器正确解释。 <br> 但是在XML中则规定,所有属性值必须加引号(可以是单引号,也可以是双引号),否则将被视为错误。 <br> '''规则5''' 所有的标识必须有相应的结束标识 <br> 在HTML中,标识可能不是成对出现的,比如<br>。而在XML中规定,所有标识必须成对出现,有一个开始标识,就必须有一个结束标识。否则将被视为错误。<br> '''规则6''' 所有的空标识也必须被关闭<br> 空标识就是标识对之间没有内容的标识。比如<br>,<img>等标识。在XML中,规定所有的标识必须有结束标识,针对这样的空标识,XML中处理的方法是在原标识最后加/,就可以了。<br>例如:<br> <br> 应写为 <br /> <META name="keywords" c>应写为<META name="keywords" c />;<br> <IMG src= "cool.gif">应写为<IMG src= "cool.gif" /> <br> ---- == 元素的语法 == 元素由一对标识以及其中的内容组成。就象这样:ajie。元素的名称和标识的名称是一样的。标识可以用属性来进一步描述。 <br> 在XML中,没有任何保留字,所以你可以随心所欲的用任何词语来作为元素名称。但是也必须遵守下列规范: <br> 1.名称中可以包含字母、数字以及其它字母; <br> 2.名称不能以数字或"_" (下划线)开头; <br> 3.名称不能以字母xml(或XML 或Xml ..)开头 <br> 4.名称中不能包含空格 <br> 5.名称中间不能包含":"(冒号) <br> 为了使元素更容易阅读理解和操作,我们还有一些建议: <br> 1.名称中不要使用"."。因为在很多程序语言中,"."是作为对象的属性,例如:font.color。同样的原因"-"也最好不要用,必须使用的,以"_"代替; <br> 2.名称尽量简短。 <br> 3.名称的大小写尽量采用同一标准。 <br> 4.名称可以使用非英文字符,比如用中文。但是有些软件可能不支持。(IE5目前是支持中文元素的。) <br> 另外,补充一点关于属性的说明。在HTML中,属性可以用来定义元素的显示格式,比如:<font color="red">word</font>将把word显示为红色。而在XML中,属性只是对标识的描述,与元素内容的显示无关。例如同样一句:<font color="red">word</font>,并不会将word显示为红色。(那么,有网友会问:如何在XML中将文字显示为红色呢?这就需要使用CSS或者XSL,我们在下面详细讲述。) <br> ---- == 注释的语法 == 注释是为了便于阅读和理解,在XML文档添加的附加信息,将不会被程序解释或则浏览器显示。 <br> 注释的语法如下: <br> <!-- 这里是注释信息--> <br> 可以看到,它和HTML中的注释语法是一样的,非常容易。养成良好的注释习惯将使你的文档更加便于维护,共享,看起来也更专业。 <br> ---- == CDATA的语法 == CDATA全称character data,翻译为字符数据。我们在写XML文档时,有时需要显示字母,数字和其它的符号本身,比如"<",而在XML中,这些字符已经有特殊的含义,我们怎么办呢?这就需要用到CDATA语法。语法格式如下: <br> <![CDATA[这里放置需要显示的字符]]> <br> 例如: <br> <![CDATA[<AUTHOR sex="female">ajie</AUTHOR>]]> <br> 在页面上显示的内容将是"<AUTHOR sex="female">ajie</AUTHOR>" <br> ---- == Namespaces的语法 == Namespaces翻译为名字空间。名字空间有什么作用呢?当我们在一个XML文档中使用他人的或者多个DTD文件,就会出现这样的矛盾:因为XML中标识都是自己创建的,在不同的DTD文件中,标识名可能相同但表示的含义不同,这就可能引起数据混乱。 <br> 比如在一个文档<table>wood table</table>中<table>表示桌子, <br> 而在另一个文档<table>namelist</table>中<table>表示表格。如果我需要同时处理这两个文档,就会发生名字冲突。 <br> 了解决这个问题,我们引进了namespaces这个概念。namespaces通过给标识名称加一个网址(URL)定位的方法来区别这些名称相同的标识。 <br> Namespaces同样需要在XML文档的开头部分声明,声明的语法如下: <br> <document xmlns:yourname='URL'> <br> 其中yourname是由你定义的namespaces的名称,URL就是名字空间的网址。 <br> 假设上面的"桌子<table>"文档来自http://www.zhuozi.com,我们就可以声明为 <br> <document xmlns:zhuozi='http://www.zhuozi.com'> <br> 然后在后面的标识中使用定义好的名字空间: <br> <zhuozi:table>wood table</table> <br> 这样就将这两个<table>区分开来。注意的是:设置URL并不是说这个标识真的要到那个网址去读取,仅仅作为一种区别的标志而已。 <br> ---- == entity的语法 == entity翻译为"实体"。它的作用类似word中的"宏",也可以理解为DW中的摸板,你可以预先定义一个entity,然后在一个文档中多次调用,或者在多个文档中调用同一个entity。 entity可以包含字符,文字等等,使用entity的好处在于:1.它可以减少差错,文档中多个相同的部分只需要输入一遍就可以了。2.它提高维护效率。比如你有40个文档都包含copyright的entity,如果需要修改这个copyright,不需要所有的文件都修改,只要改最初定义的entity语句就可以了。 <br> XML定义了两种类型的entity。一种是我们这里说的普通entity,在XML文档中使用;另一种是参数entity,在DTD文件中使用。 <br> entity的定义语法为: <br> <!DOCTYPE filename [ <br> <!ENTITY entity-name "entity-content"<br> ] <br> > <br> 例如我要定义一段版权信息: <br> <!DOCTYPE copyright [ <br> <!ENTITY copyright "Copyright 2001, Ajie. All rights reserved" <br> ] <br> > <br> 如果我的版权信息内容和他人共享一个XML文件,也可以使用外部调用的方法,语法象这样: <br> <!DOCTYPE copyright [ <br> <!ENTITY copyright SYSTEM "http://www.sample.com/copyright.xml"> <br> ] <br> > <br> 定义好的entity在文档中的引用语法为:&entity-name; <br> 例如,上面定义的版权信息,调用时写作:©right; <br> 完整的例子如下,你可以copy下来存为copyright.xml观看实例: <br> <?xml version="1.0" encoding="GB2312"?> <br> <!DOCTYPE copyright [ <br> <!ENTITY copyright "Copyright 2001, Ajie. All rights reserved"> <br> ]> <br> <myfile> <br> <title>XML</title> <br> <author>ajie</author> <br> <email>ajie@aolhoo.com</email> <br> <date>20010115</date> <br> ©right; <br> </myfile> <br> [[category:PHP教程]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:开发语言导航
(
编辑
)