Xml
格式严格:
1.
所有的标记都必须要有一个相应的结束标记,
即标签总是成对出现;
2.
所有的XML
标记都必须合理嵌套,
不能存在交叉;
3.
所有XML
标记都区分大小写;
4.
所有标记的属性必须用”“
括起来;
Xml
命名规范:
1.
名字中可以包含字母,
数字,
下划线及其他字符.
2.
不能以数字或者下划线开头
3.
名字中不能出现空格
4.
名字中不能有xml,Xml,XML
等.
5.
名字中不能有冒号.
另外为了是元素容易理解和操作,
还要注意以下建议:
1.
名称中不要使用”.”
。因为在很多程序语言中,”.”
是作为对象的属性,例如:font.color
。同样的原因”-”
也最好不要用,必须使用的,以”_”
代替;
2.
名称尽量简短。
3.
名称的大小写尽量采用同一标准。
4.
名称可以使用非英文字符,比如用中文。但是有些软件可能不支持。(IE5
目前是支持中文元素的。)
第二章
:
XML文档包含三个部分:
1. 一个XML文档声明;
2. 一个关于文档类型的定义;
3. 用XML标识创建的内容
1. 一个XML文档声明;
2. 一个关于文档类型的定义;
3. 用XML标识创建的内容
Eg:
<?xml version=“
1.0” encoding=“UTF-8” ?> <!--
文档声明-->
<!DOCTYPE myclass SYSTEM “myclasst.dtd”>
<!-关于文档类型的定义
->
<?xml-stylesheet type="text/xsl" href="yxfqust.xsl" ?>
<!--处理指令 格式:<?处理指令名 处理指令信息 ?> -->
<!--处理指令 格式:<?处理指令名 处理指令信息 ?> -->
<myclass>
<!-从这里开始往下面的是用
->
<swu>
<!-xml标识创建的内容
->
<学院>计算机与信息科学学院</学院>
<major> 04InformationManage</major>
<beforecombineclass>2</beforecombineclass>
<aftercombineclass>3</aftercombineclass>
</swu>
<myclass>
<? xml version=“
1.0” standalone=“yes” encoding=“UTF-8” ?>
其中的standalone=“yes”
说明整个xml
文档是按照标准格式来写的,
不需要额外的dtd
文件来支持,
即说明文档是”独立的”,它不需要DTD文件来验证其中的标识是否有效
encoding=“utf-8” 说明编码格式是utf-8,这个也是默认的编码方式,使用中文的话用gb2312.
整个用xml创建的内容的第一个标识(tag)就是整个文档的跟元素,相当于html中的<html>.
<?xml version=“1.0” standalone=“no” encode=“UTF-8”?>
和上面例子不同的,在standalone(独立)属性中,这里设置的是”no”,因为它必须和相应的DTD一起使用,DTD文件的定义方法如下:
<!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=“1.0” standalone=“no” encode=“UTF-8”?>
<!DOCTYPE myclass SYSTEM “myclasst.dtd”>
和上面例子不同的,在standalone(独立)属性中,这里设置的是”no”,因为它必须和相应的DTD一起使用,DTD文件的定义方法如下:
<!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=“1.0” standalone=“no” encode=“UTF-8”?>
<!DOCTYPE myclass SYSTEM “myclasst.dtd”>
第三章
DTD用来规范xml文档,它包括: 元素的定义,元素间关系的定义,元素可以使用的属性,可使用的实体和符号规则.后缀名为.dtd
调用dtd文件的方法:
1. 直接包含在文件中:
例如:在上面Eg中去掉文档类型定义,然后在后面添加下面代码
<!DOCTYPE myclass [
<!DOCTYPE swu (#PCDATA)>
<!DOCTYPE major (#PCDATA)>
<!DOCTYPE beforecombineclas (#PCDATA)>
<!DOCTYPE afterecombineclas (#PCDATA)>
<!ENTITY copyright “copyright 2007,just~~SOSO.”>
]>
2. 调用独立的dtd文件
将上面代码单独保存为myclass.dtd,在声明后面插入
<!DOCTYPE myclass SYSTEM “myclass.dtd”>
第四章
XML
语法规则:
规则1:必须有XML声明语句
规则2:是否有DTD文件
规则3:注意你的大小写
规则4:给属性值加引号
规则5:所有的标识必须有相应的结束标识
规则6:所有的空标识也必须被关闭(eg:<br />
<img src=“1.jpg” />)
关于属性的说明:
在HTML中,属性可以用来定义元素的显示格式,比如:<font color=“red”>word</font>将把word显示为红色。而在XML中,属性只是对标识的描述,与元素内容的显示无关。例如同样一句:<font color=“red”>word</font>,并不会将word显示为红色。(那么,有网友会问:如何在XML中将文字显示为红色呢?这就需要使用CSS或者XSL
CDATA(character data):
<!--
开始
--><![CDATA[
中间的内容将被完全按照原格式输入
<!—
这个中间的内容也会被原封显示
-->
]]><!--
结束
-->,
类似于
html
中的
<pre></pre>.
开始标签和结束标签中间不能出现
]].
名称空间
(Namespaces):
声明语法
:
<document xmlns:spacename=“url”>
Eg:<documeng xmlns:zhuozi=http://www.zhuozi.com>
注意这里的
url
并不一定是真正的
url,
二十你自己根据需要所写
,
他并不一定真正存在
使用方式
:
<zhuozi:table>zhuozi</table>
名称空间遵循就近原则
.
实体
(Entity):
<!DOCTYPE fielname [
<!ENTITY entity_name “entity_content”
]>
XML
定义了两种类型的
entity
。一种是我们这里说的普通
entity
,在
XML
文档中使用;另一种是参数
entity
,在
DTD
文件中使用。
entity 的定义语法为 :
<!DOCTYPE filename [
<!ENTITY entity-name “entity-content”
]
>
例如我要定义一段版权信息 :
<!DOCTYPE copyright [
<!ENTITY copyright “Copyright 2001, Just~~SOSO. All rights reserved”
]
>
如果我的版权信息内容和他人共享一个 XML 文件,也可以使用外部调用的方法,语法象这样:
<!DOCTYPE copyright [
<!ENTITY copyright SYSTEM “http://www.sample.com/copyright.xml”>
]
>
定义好的 entity 在文档中的引用语法为: &entity-name;
例如,上面定义的版权信息,调用时写作: ©right;
entity 的定义语法为 :
<!DOCTYPE filename [
<!ENTITY entity-name “entity-content”
]
>
例如我要定义一段版权信息 :
<!DOCTYPE copyright [
<!ENTITY copyright “Copyright 2001, Just~~SOSO. All rights reserved”
]
>
如果我的版权信息内容和他人共享一个 XML 文件,也可以使用外部调用的方法,语法象这样:
<!DOCTYPE copyright [
<!ENTITY copyright SYSTEM “http://www.sample.com/copyright.xml”>
]
>
定义好的 entity 在文档中的引用语法为: &entity-name;
例如,上面定义的版权信息,调用时写作: ©right;