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根据京东商品url获取产品价格
Aug 09 Python
Python编写电话薄实现增删改查功能
May 07 Python
Python如何生成树形图案
Jan 03 Python
详解django三种文件下载方式
Apr 06 Python
Python 3.6 读取并操作文件内容的实例
Apr 23 Python
Django项目开发中cookies和session的常用操作分析
Jul 03 Python
python学习--使用QQ邮箱发送邮件代码实例
Apr 16 Python
python代码xml转txt实例
Mar 10 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
Apr 24 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
Jul 01 Python
pytorch 两个GPU同时训练的解决方案
Jun 01 Python
OpenCV实现常见的四种图像几何变换
Apr 01 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
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
Django中的cookie与session操作实例代码
2017/08/17 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
图片格式的JavaScript和CSS速查手册
2007/08/20 Javascript
javascript数组使用调用方法汇总
2007/12/08 Javascript
js 加载时自动调整图片大小
2008/05/28 Javascript
jQuery 学习6 操纵元素显示效果的函数
2010/02/07 Javascript
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
JS类的定义与使用方法深入探索
2016/11/26 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
最基础的vue.js双向绑定操作
2017/08/23 Javascript
vue微信分享 vue实现当前页面分享其他页面
2017/12/02 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
Python使用minidom读写xml的方法
2015/06/03 Python
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
Python读取sqlite数据库文件的方法分析
2017/08/07 Python
解决pip install的时候报错timed out的问题
2018/06/12 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
环保建议书600字
2014/05/14 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
激励员工的口号
2014/06/16 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
工作态度恶劣检讨书
2015/05/06 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
花田少年史观后感
2015/06/16 职场文书
队名及霸气口号大全
2015/12/25 职场文书
用php如何解决大文件分片上传问题
2021/07/07 PHP
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python