Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > XML基础 (2)
【标  题】:XML基础 (2)
【关键字】:XML
【来  源】:http://blog.csdn.net/RainyTooo/archive/2006/12/12/1439828.aspx

XML基础 (2)

Your Ad Here

精简的记一下DTD 

Tips:

    DTD的所有关键字必须大写

 

 

DTD有外部和内部两种

1 内部DTD

        由 <! 开始 接着 是DOCTYPE 然后是在 [  ] 里的标记声明块 最后由 > 结束

2 外部DTD

        用关键字 SYSTEM 或者PUBLIC 来指出DTD文件的位置

        SYSTEM 表示是私有DTD文件 使用SYSTEM时 格式如下

<! DOCTYPE 根元素的名字 SYSTEM "外部DTD的URL">

        URL可以是相对或者绝对路径

        PUBLIC 是公共的DTD 并且还要包含一个DTD的名称 格式如下:

<!DOCTYPE 根元素的名字 PUBLIC "DTD的名字" "外部DTD的URL">

 

DTD的结构

 

1 元素类型声明

<!ELEMENT 元素名称 元素内容说明>

        内容说明的形式:

        (1) #PCDATA         说明包含字符数据

        (2) 子元素

* 表示零或者多个 

表示或者  

, 表示按顺序出现 

+ 表示有一个或者多个

表示零个或者一个

一个典型例子

<!DOCTYPE 简历 (名字,性别,年龄,(固话|手机),家庭住址?,兴趣爱好*,教育经历+,工作经验*)>

 

        (3) 混合内容 前两者的结合或者任意组合 

        (4) EMPTY  表示什么都不含有的 空元素

        (5)  ANY 任何字符数据和子元素

实体声明  用来在DTD或者XML中引用定义好的内容 避免重复带来的麻烦 主要有一般实体和参数实体

比如xml中可能有一个公告 要在很多地方引用

<?xml version="1.0"?>
<!DOCTYPE 公告[

<!ELEMENT 公告(时间,内容)
>
<!ELEMENT 时间 (#PCDATA)>
<!ELEMENT 内容 (#PCDATA)>
<!ENTITY 时间 "1999年1月1日">
<!ENTITY 内容 "今天是新年的第一天">
]>


<公告>
    
<时间>&时间;</时间>
    
<内容>&内容;</内容>
</公告>

 

以上时一般实体 参数实体的不同就是 只能在DTD内部使用

<?xml version="1.0"?>
<!DOCTYPE 公告[

<!ELEMENT 公告(时间,内容)
>
<!ELEMENT 时间 (#PCDATA)>
<!ELEMENT 内容 (#PCDATA)>
<!ENTITY %时间 "1999年1月1日">
<!ENTITY 内容 "今天是新年的第一天  %时间;">
]>


<公告>
    
<时间>1999年1月1日</时间>
    
<内容>&内容;</内容>
</公告>

此外还有内部实体和外部实体之分

3 属性表声明

<! ATTLIST 元素名 属性名 属性类型 默认声明>

        (1) 默认声明 

               #REQUIRED  元素必须提供该属性

               #IMPLIED  可以包含该属性 也可以不包含该属性

<!ATTLIST property name CDATA #REQUIRED>

               #FIXED+默认值 这个值是不能被修改的 如果没有写 系统会给出默认的值

               只有默认值 如果没有写就会给出默认值 如果写了就是修改后的值

属性类型含有以下值:

Value
Explanation
解释

CDATA

The value is character data
字符数据值

(en1|en2|..)

The value must be one from an enumerated list
必须是来自列表中的一个值

ID

The value is a unique id
唯一独立的id值

IDREF

The value is the id of another element
其它元素的id值

IDREFS

The value is a list of other ids
其它id的列表值

NMTOKEN

The value is a valid XML name
其值为一个有效的XML名称

NMTOKENS

The value is a list of valid XML names
其值为一组有效的XML名称列表值

ENTITY

The value is an entity
其值为一个实体

ENTITIES

The value is a list of entities
其值为一组实体的列表

NOTATION

The value is a name of a notation
其值为一个符号的名称

xml:

The value is a predefined xml value
预定的XML值

具体解释一下

ID 必须以字母 下划线 冒号中的一个开头 可以包含字母 下划线 数字等其他XML标准允许的字符 不能带有空格 只能有一个 只能设置为 #IMPLIED 或者#REQUIRED

IDREF 必须是已经有了的ID 就是XML中出现过了的

IDREFS  必须是已经存在的多个ID 以空格分隔

ENTITY 把外部的二进制数据连接到文档

4 记号声明  有些 声音 图像等 要用外部路径或者程序时 用来指定一个外部程序

MIME类型

<!NOTATION gif SYSTEM "image/gif">

URI 路径

<!NOTATION gif SYSTEM "iexplore.exe">
Collections容器的搜索方法:【上一篇】
Collections容器的排序方法:【下一篇】
【相关文章】
  • XML基础 (3)
  • XML基础 (1)
  • xml dtd 学习小结 By shawl.qiu
  • spring+hibernate 配置文件(applicationContext.xml)实例
  • Axiom简述--Axis2 的XML处理器
  • ajax中XMLHttpRequest参数详解
  • myfaces 配置多个faecs-config.xml
  • .NET中利用Ebay的XSLT模板转换XML到JSON
  • OpenXML 成为 ECMA标准 376
  • xml control and xsl in asp.net
  • 【随机文章】
  • Photoshop精彩例解:立体光影魔术(2)
  • 我的4年程序员之路(续1)
  • APACHE简单防盗链
  • Java常见问题集锦25问
  • EasyLXR 0.1 发布
  • CRC(循环冗余校验)算法与实现(2)
  • Network is computer
  • COM+事务和IIS
  • QQ群
  • iPlanet Web Server 缓冲区溢出漏洞 
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.