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 七种邮件内容发送方法实例
Apr 22 Python
python快速查找算法应用实例
Sep 26 Python
简介Python中用于处理字符串的center()方法
May 18 Python
利用Python获取赶集网招聘信息前篇
Apr 18 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
Python socket实现简单聊天室
Apr 01 Python
pyQt5实时刷新界面的示例
Jun 25 Python
Python 转换文本编码实现解析
Aug 27 Python
python列表推导式操作解析
Nov 26 Python
python文件处理fileinput使用方法详解
Jan 02 Python
selenium+headless chrome爬虫的实现示例
Jan 08 Python
Django和Ueditor自定义存储上传文件的文件名
Feb 25 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:风雨欲来 路在何方?
2006/10/09 PHP
中英文字符串翻转函数
2008/12/09 PHP
谈PHP生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
php读取der格式证书乱码解决方法
2015/06/22 PHP
php中array_multisort对多维数组排序的方法
2020/06/21 PHP
php利用array_search与array_column实现二维数组查找
2019/07/08 PHP
laravel解决迁移文件一次删除创建字段报错的问题
2019/10/24 PHP
多广告投放代码 推荐
2006/11/13 Javascript
[转]JS宝典学习笔记
2007/02/07 Javascript
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
用javascript添加控件自定义属性解析
2013/11/25 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
jQuery的css()方法用法实例
2014/12/24 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
用file标签实现多图文件上传预览
2017/02/14 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
uniapp实现横向滚动选择日期
2020/10/21 Javascript
python获取网页状态码示例
2014/03/30 Python
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
Python里disconnect UDP套接字的方法
2015/04/23 Python
tesserocr与pytesseract模块的使用方法解析
2019/08/30 Python
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
美国嘻哈文化生活方式品牌:GLD
2018/04/15 全球购物
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
营业经理岗位职责
2013/11/10 职场文书
员工薪酬福利制度
2014/01/17 职场文书
材料物理专业求职信
2014/09/01 职场文书
年终工作总结范文
2019/06/20 职场文书
世界文化遗产导游词
2019/08/07 职场文书
Python jiaba库的使用详解
2021/11/23 Python
使用CSS连接数据库的方式
2022/02/28 HTML / CSS