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


Posted in Python onSeptember 21, 2020

一、DTD文档的声明及引用

1.内部DTD文档

<!DOCTYPE 根元素 [定义内容]>

2.外部DTD文档

引入外部的DTD文档分为两种:

(1)当引用的DTD文件是本地文件的时候,用SYSTEM标识,并写上”DTD的文件路径”,如下:

<!DOCTYPE 根元素 SYSTEM "DTD文件路径">

(2)如果引用的DTD文件是一个公共的文件时,采用PUBLIC标识,如下方式:

<!DOCTYPE 根元素 PUBLIC "DTD名称" "DTD文件的URL">

比如下例:

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/ 
web-app_2_3.dtd">

二、DTD基本语法:

<!ELEMENT NAME CONTENT>

其中:

- ELEMENT是关键字,是不能修改的

- NAME表示元素名称

- CONTENT是元素类型,必须要大写!CONTENT的内容有三种写法:

(1)EMPTY——表示该元素不能包含子元素和文本,但可以有属性。

(2)ANY——表示该元素可以包含任何在该DTD中定义的元素内容

(3)#PCDATA——可以包含任何字符数据,但是不能在其中包含任何子元素

三、DTD元素的组合类型:

DTD中这样规定:

<!ELEMENT 家庭(人+,家电*)>

这个DTD规定了家庭元素中可以有1到多个”人”这个子元素,也可以有0到多个”家电”这个子元素。其中的加号”+”和星号”*”的含义与正则表达式中的含义一致。

XML这样写:

<家庭>
    <人 名字="张晓明" 性别="男" 年龄="25"/>
    <人 名字="李小钢" 性别="男" 年龄="36" 爱好="作个教育家和伟人"/>
    <家电 名称="彩电" 数量="3"/>
</家庭>

关于组合类型,有下述的的修饰符可以使用:

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

四、属性定义

DTD中属性的定义是这样的:

<!ATTLIST 元素名称
    属性名称 类型 属性特点
    属性名称 类型 属性特点......  
>

其中,属性的类型有下面5种:

(1) CDATA
(2) ID
(3) IDREF/IDREFS
(4) Enumerated
(5) ENTITY/ENTITIES

属性的特点有如下4种:

(1) #REQUIRED,表示这个属性必须给,不给就报错
(2) #IMPLIED,表示这个属性可以给也可以不给
(3) #FIXED value,表示这个属性必须给一个固定的value值
(4) Default value,表示这个属性如果没有值,就分配一个默认的value值

到此这篇关于python生成xml时规定dtd实例方法的文章就介绍到这了,更多相关python 生成xml时如何规定dtd内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用Python写一个贪吃蛇游戏实例代码
Aug 21 Python
python实现图片处理和特征提取详解
Nov 13 Python
python实现简单神经网络算法
Mar 10 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
May 24 Python
浅析python中numpy包中的argsort函数的使用
Aug 30 Python
Python从文件中读取数据的方法讲解
Feb 14 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 Python
Python 面向对象之类class和对象基本用法示例
Feb 02 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
Jun 02 Python
Python+OpenCV检测灯光亮点的实现方法
Nov 02 Python
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
May 14 Python
Python编解码问题及文本文件处理方法详解
Jun 20 Python
Python中的特殊方法以及应用详解
Sep 20 #Python
matplotlib 三维图表绘制方法简介
Sep 20 #Python
Python三维绘图之Matplotlib库的使用方法
Sep 20 #Python
scrapy利用selenium爬取豆瓣阅读的全步骤
Sep 20 #Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 #Python
python中random.randint和random.randrange的区别详解
Sep 20 #Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 #Python
You might like
NOT NULL 和NULL
2007/01/15 PHP
php多维数组去掉重复值示例分享
2014/03/02 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
asp 取文本框名称代码
2008/12/02 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
基于javascript实现随机颜色变化效果
2016/01/14 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
JavaScript数据结构中串的表示与应用实例
2017/04/12 Javascript
nodejs获取微信小程序带参数二维码实现代码
2017/04/12 NodeJs
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
解决koa2 ctx.render is not a function报错问题
2018/08/07 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
[56:12]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第一场 6.3
2018/06/04 DOTA
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
Python中的字典与成员运算符初步探究
2015/10/13 Python
python编程实现归并排序
2017/04/14 Python
使用Django Form解决表单数据无法动态刷新的两种方法
2017/07/14 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
python的常用模块之collections模块详解
2018/12/06 Python
判断python对象是否可调用的三种方式及其区别详解
2019/01/31 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
2019/02/22 Python
解决Tensorboard 不显示计算图graph的问题
2020/02/15 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
2020/02/27 Python
PyQt5的QWebEngineView使用示例
2020/10/20 Python
马来西亚网上购物平台:ezbuy
2018/02/13 全球购物
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
一体化教学实施方案
2014/05/10 职场文书
学生安全承诺书
2014/05/22 职场文书
民主评议政风行风整改方案
2014/09/17 职场文书
2015年元旦标语大全
2014/12/09 职场文书
实习介绍信范文
2015/05/05 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers