学习 XML
时间:2006-01-04 来源:brookvoice
XML 可以使数据跨平台、可扩展,并且基于文本,把数据和应用分开。除非那些带有保密性质的数据外,都可以使用XML来代替。未必非要数据库或二进制数据文件。当然,大型的系统一般会采用数据库和 XML 相结合的方法,使得效率更加出色。
1. 标签
自定义标签,如:
<message><head></head></message>
或:<br />
但一定要注意规范。
不解析:<![CDATA[...内容...]]>
2. 注释
<!-- 注释内容 -->
3. 声明
<?xml version="1.0" standalone="yes" encoding="utf-8" ?>
声明必须以 <?xml 开头,判断一个文件是否规范的 xml 文件时,先判断输入流的头4个字符是否正确。
4. 属性
<message title="信息标题"></message>
5. 实体
如: < 代替 <, > 代替 > 等等
定义:<!ENTITY lt "<">
<!ENTITY copyright SYSTEM "url of the another xml file">
6. 文档类型
<!DOCTYPE rootElement SYSTEM "url of the DTD file">
或者:
<!DOCTYPE rootElement SYSTEM "url of the DTD file" [
实体定义列表
]>
7. DTD 文档 document type defination
DTD 标签以 "<!" 开始
? 零个或一个
+ 一个或多个
* 零个或多个
<!ELEMENT root (element1,element2?,element3*,element4+)>
<!ELEMENT element1 (#PCDATA | element2)*>
<!ATTLIST element1
att1 CDATA #REQUIRED
att2 CDATA #IMPLIED
att3 CDATA "默认值"
att4 CDATA #FIXED "定死的值"
att5 (值1 | 值2 | 值3) #IMPLIED
>
8. 参数实体
<!ENTITY % 实体名 SYSTEM "url of another DTD file">
%实体名;
<!ENTITY % 实体名 "值">
<!ELEMENT element1 %实体名;>
9. 条件段
以 "<![" 开始,然后是 INCLUDE 或者 IGNORE 再加 [,然后是条件段的内容,最后以 "]]>" 结束
<![ %XML; [...内容...]]>
<![ %SGML; [...内容...]]>
<!ENTITY % XML "INCLUDE">
<!ENTITY % SGML "IGNORE">
10. 命名空间
用于同一个标签不同用途
在 DTD 文件中定义:
<!ATTR 元素名称
xmlns CDATA #FIXED "url"
>
在 xml 中引用:
<元素名称 xmlns="url"></元素名称>
使用前缀:
<前缀:元素名称 xmlns:前缀="url"></前缀:元素名称>
相关阅读 更多 +