python生成xml时规定dtd的方法
这篇文章主要介绍python生成xml时规定dtd的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、DTD文档的声明及引用
1.内部DTD文档
<!DOCTYPE根元素[定义内容]>
2.外部DTD文档
引入外部的DTD文档分为两种:
(1)当引用的DTD文件是本地文件的时候,用SYSTEM标识,并写上”DTD的文件路径”,如下:
<!DOCTYPE根元素SYSTEM"DTD文件路径">
(2)如果引用的DTD文件是一个公共的文件时,采用PUBLIC标识,如下方式:
<!DOCTYPE根元素PUBLIC"DTD名称""DTD文件的URL">
比如下例:
<!DOCTYPEweb-appPUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd">
二、DTD基本语法:
<!ELEMENTNAMECONTENT>
其中:
- ELEMENT是关键字,是不能修改的
- NAME表示元素名称
- CONTENT是元素类型,必须要大写!CONTENT的内容有三种写法:
(1)EMPTY——表示该元素不能包含子元素和文本,但可以有属性。
(2)ANY——表示该元素可以包含任何在该DTD中定义的元素内容
(3)#PCDATA——可以包含任何字符数据,但是不能在其中包含任何子元素
三、DTD元素的组合类型:
DTD中这样规定:
<!ELEMENT家庭(人+,家电*)>
这个DTD规定了家庭元素中可以有1到多个”人”这个子元素,也可以有0到多个”家电”这个子元素。其中的加号”+”和星号”*”的含义与正则表达式中的含义一致。
XML这样写:
<家庭><人名字="张晓明"性别="男"年龄="25"/><人名字="李小钢"性别="男"年龄="36"爱好="作个教育家和伟人"/><家电名称="彩电"数量="3"/></家庭>
关于组合类型,有下述的的修饰符可以使用:
四、属性定义
DTD中属性的定义是这样的:
<!ATTLIST元素名称属性名称类型属性特点属性名称类型属性特点......>
其中,属性的类型有下面5种:
(1)CDATA(2)ID(3)IDREF/IDREFS(4)Enumerated(5)ENTITY/ENTITIES
属性的特点有如下4种:
(1)#REQUIRED,表示这个属性必须给,不给就报错(2)#IMPLIED,表示这个属性可以给也可以不给(3)#FIXEDvalue,表示这个属性必须给一个固定的value值(4)Defaultvalue,表示这个属性如果没有值,就分配一个默认的value值
以上是python生成xml时规定dtd的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。