python生成xml时规定dtd实例方法

时间:2021-05-22

一、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实例方法的文章就介绍到这了,更多相关python 生成xml时如何规定dtd内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章