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中将阿拉伯数字转换成中文的实现代码
May 19 Python
python使用xpath中遇到:到底是什么?
Jan 04 Python
Python中使用__new__实现单例模式并解析
Jun 25 Python
解决django中ModelForm多表单组合的问题
Jul 18 Python
python 上下文管理器及自定义原理解析
Nov 19 Python
python生成特定分布数的实例
Dec 05 Python
使用Pyhton 分析酒店针孔摄像头
Mar 04 Python
降低python版本的操作方法
Sep 11 Python
pandas将list数据拆分成行或列的实现
Dec 13 Python
Python try except finally资源回收的实现
Jan 25 Python
python实战之90行代码写个猜数字游戏
Apr 22 Python
Python OpenCV 彩色与灰度图像的转换实现
Jun 05 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
centos 5.6 升级php到5.3的方法
2011/05/14 PHP
php获取网页请求状态程序示例
2014/06/17 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
Prototype使用指南之dom.js
2007/01/10 Javascript
Javascript 兼容firefox的一些问题
2009/05/21 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
js随机生成字母数字组合的字符串 随机动画数字
2015/09/02 Javascript
修改Jquery Dialog 位置的实现方法
2016/08/26 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
深入浅析Vue组件开发
2016/11/25 Javascript
js实现加载页面就自动触发超链接的示例
2017/08/31 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
讲解Python中fileno()方法的使用
2015/05/24 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
python频繁写入文件时提速的方法
2019/06/26 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
Python调用Windows命令打印文件
2020/02/07 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
浅谈python3打包与拆包在函数的应用详解
2020/05/02 Python
如何将json数据转换为python数据
2020/09/04 Python
python 逆向爬虫正确调用 JAR 加密逻辑
2021/01/12 Python
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
2014/07/11 面试题
创业计划实施的7大步骤
2014/02/05 职场文书
xxx同志考察材料
2014/02/07 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
党员评议思想汇报
2014/10/08 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
2014年司法局工作总结
2014/12/11 职场文书
新员工辞职信范文
2015/05/12 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书