xml
xml语法
xml保留PCDATA中的空白符,回车换行缩进
dtd-1
内部,外部,公共DTD
元素
属性
实体
定义子元素
有序子元素:逗号隔开
互斥子元素:竖线隔开
子元素出现的频率:
+一次或多次
*零次或多次
?零次或一次
无必须出现一次
组合子元素:使用圆括号
dtd-2
如果想对某一个元素中的属性进行限制,就用下面的
<!ATTLIST video id CDATA #IMPLIED>
元素 属性名 属性类型 属性值声明
可以同时声明多个属性但不能重复,直接空格隔开
枚举
默认值 <!ATTLIST video type (java|xml|database) "xml">
固定值 <!ATTLIST video type (java|xml|database) #FIXED "xml">
必须值 <!ATTLIST video type (java|xml|database) #REQUIRED>
隐含值 <!ATTLIST video type (java|xml|database) #IMPLIED>
dtd-3
实体的使用
外部DTD的使用
DTD的优缺点
实体分类
可以是一段要替换的文本,xml标记或外部文件
内置实体
字符实体 ©
普通实体 需要在DTD中声明
参数实体 中允许在DTD中使用
引用外部DTD
系统标识符
<!DOCTYPE videos SYSTEM "uri" [
可选的内部DTD声明
]>
公共标识符
<!DOCTYPE videos PUBLIC "FPI" "uri" >
FPI的基本格式:-//W3C/DTD XHTML 1.0 Transitional//EN
DTD的优缺点
缺点
DTD语法与xml不一致
缺少对xml命名空间的支持
缺少数据分类
内容模型描述受限制
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE videos SYSTEM "test.dtd"> <videos> <video id="v001" vid="id1" > <title>java &unkown;</title> </video> <video id="v002" vid="id2" > <author>li</author> <publish /> </video> </videos> test.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT videos (video*)> <!ELEMENT video (title|(author,publish))> <!ATTLIST video id CDATA #REQUIRED> <!ATTLIST video vid ID #REQUIRED> <!ATTLIST video type (java|xml|database) #FIXED "xml"> <!ELEMENT title (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT publish EMPTY> <!ENTITY unkown "未知数据">
相关文章
- java.lang.ClassNotFoundException: javax.xml.bind.JAXBException解决方案
- 关于Android strings.xml-你应该了解的几个原则
- 怎样创建XML文档
- 去掉idea的mybatis烦人的xml提示
- C#操作XML,如何获取指定节点值?
- logback配置文件---logback.xml详解
- SqlMapConfig.xml中的setting属性设置
- Struts2初学 struts.xml详解 一
- xml 文件树结构用c++读入并保存
- 数据解析之 XML与JSON
- 网站XML格式的网站地图(sitemap)格式
- org.codehaus.xfire.fault.XFireFault: Could not read XML stream.. Nested exception is javax.xml.strea
- 大话XML解析
- Oracle XML DB
- HTML/XML
- 深入浅出如何解析xml文件---下篇