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模拟登陆Tom邮箱示例分享
Jan 13 Python
windows下python之mysqldb模块安装方法
Sep 07 Python
Python实现一个Git日志统计分析的小工具
Dec 14 Python
Python 保存矩阵为Excel的实现方法
Jan 28 Python
python实现超市商品销售管理系统
Oct 25 Python
python 实现将list转成字符串,中间用空格隔开
Dec 25 Python
Python通过Tesseract库实现文字识别
Mar 05 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
Mar 13 Python
Python faker生成器生成虚拟数据代码实例
Jul 20 Python
利用Python将图片中扭曲矩形的复原
Sep 07 Python
python绘制趋势图的示例
Sep 17 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
Jan 27 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操作redis缓存方法分享
2015/06/03 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
php中对象引用和复制实例分析
2019/08/14 PHP
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
浅谈Vue.js中的v-on(事件处理)
2017/09/05 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
详解多页应用 Webpack4 配置优化与踩坑记录
2018/10/16 Javascript
Python编程语言的35个与众不同之处(语言特征和使用技巧)
2014/07/07 Python
Python实现Linux下守护进程的编写方法
2014/08/22 Python
python解决Fedora解压zip时中文乱码的方法
2016/09/18 Python
转换科学计数法的数值字符串为decimal类型的方法
2018/07/16 Python
对python 命令的-u参数详解
2018/12/03 Python
解决Numpy中sum函数求和结果维度的问题
2019/12/06 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
Python用摘要算法生成token及检验token的示例代码
2020/12/01 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
英语专业学生个人求职信
2014/01/28 职场文书
贷款委托书范本
2014/04/08 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
维稳工作承诺书
2015/01/20 职场文书
2015中学政教处工作总结
2015/07/22 职场文书
python 常用的异步框架汇总整理
2021/06/18 Python
go开发alertmanger实现钉钉报警
2021/07/16 Golang
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS