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 08 Python
python操作redis方法总结
Jun 06 Python
在python中利用GDAL对tif文件进行读写的方法
Nov 29 Python
Python中作用域的深入讲解
Dec 10 Python
python机器人运动范围问题的解答
Apr 29 Python
Linux下远程连接Jupyter+pyspark部署教程
Jun 21 Python
Django REST framework 视图和路由详解
Jul 19 Python
python socket 聊天室实例代码详解
Nov 14 Python
通过自学python能找到工作吗
Jun 21 Python
Python虚拟环境的创建和使用详解
Sep 07 Python
Python3中的tuple函数知识点讲解
Jan 03 Python
python实现简单反弹球游戏
Apr 12 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
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
PHP 输出简单动态WAP页面
2009/06/09 PHP
php小偷相关截取函数备忘
2010/11/28 PHP
php安全配置 如何配置使其更安全
2011/12/16 PHP
基于PHP的简单采集数据入库程序
2014/07/30 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
JQuery的read函数与js的onload不同方式实现
2013/03/18 Javascript
使用js+jquery实现无限极联动
2013/05/23 Javascript
JS获取表格内指定单元格html内容的方法
2015/03/31 Javascript
Bootstrap每天必学之表格
2015/11/23 Javascript
jquery实现树形菜单完整代码
2015/12/29 Javascript
微信小程序 tabs选项卡效果的实现
2017/01/05 Javascript
Bootstrap面板(Panels)的简单实现代码
2017/03/17 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
Vue中对拿到的数据进行A-Z排序的实例
2018/09/25 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
Python Web静态服务器非堵塞模式实现方法示例
2019/11/21 Python
有关Tensorflow梯度下降常用的优化方法分享
2020/02/04 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
python 实现有道翻译功能
2021/02/26 Python
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
中文专业毕业生自荐信
2013/10/28 职场文书
医学院毕业生自荐信
2013/11/08 职场文书
企业总经理职责
2014/02/02 职场文书
关于旅游的活动方案
2014/08/15 职场文书
企业公益活动策划方案
2014/08/24 职场文书
装饰技术负责人岗位职责
2015/04/13 职场文书
解决golang 关于全局变量的坑
2021/05/06 Golang
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫