如何使用Python在生成XML时指定DTD实例化方法?

2026-05-16 22:201阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计614个文字,预计阅读时间需要3分钟。

如何使用Python在生成XML时指定DTD实例化方法?

一、DTD文档的声明及引用

1.内部DTD文档

!DOCTYPE根元素[定义内容]

2.外部DTD文档

引入外部DTD文档分为两种: (1)当引用的DTD文件是本地文件时,使用SYSTEM标识符,并指定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""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种:

如何使用Python在生成XML时指定DTD实例化方法?

(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内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

本文共计614个文字,预计阅读时间需要3分钟。

如何使用Python在生成XML时指定DTD实例化方法?

一、DTD文档的声明及引用

1.内部DTD文档

!DOCTYPE根元素[定义内容]

2.外部DTD文档

引入外部DTD文档分为两种: (1)当引用的DTD文件是本地文件时,使用SYSTEM标识符,并指定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""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种:

如何使用Python在生成XML时指定DTD实例化方法?

(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内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!