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中sleep函数用法实例分析
Apr 29 Python
在Python的Django框架中使用通用视图的方法
Jul 21 Python
Python科学画图代码分享
Nov 29 Python
使用python读取txt文件的内容,并删除重复的行数方法
Apr 18 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
Jan 23 Python
Python使用turtle库绘制小猪佩奇(实例代码)
Jan 16 Python
python模拟哔哩哔哩滑块登入验证的实现
Apr 24 Python
基于Python词云分析政府工作报告关键词
Jun 02 Python
Python如何合并多个字典或映射
Jul 24 Python
Python 如何操作 SQLite 数据库
Aug 17 Python
python 星号(*)的多种用途
Sep 21 Python
python实现双链表
May 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
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
php实现的简单中文验证码功能示例
2017/01/03 PHP
PHP钩子实现方法解析
2019/05/21 PHP
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
用js做一个小游戏平台 (一)
2009/12/29 Javascript
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
JS类的定义与使用方法深入探索
2016/11/26 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
bootstrap精简教程_动力节点Java学院整理
2017/07/14 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
VueCli3.0中集成MockApi的方法示例
2019/07/05 Javascript
ant design实现圈选功能
2019/12/17 Javascript
用Python shell简化开发
2018/08/08 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
python tornado使用流生成图片的例子
2019/11/18 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
NBA德国官方网上商店:NBA Store德国
2018/04/13 全球购物
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
财产保全担保书范文
2014/04/01 职场文书
国旗下演讲稿
2014/05/08 职场文书
个人租房协议书范本
2014/09/30 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
2014年作风建设剖析材料
2014/10/23 职场文书
初中家长评语和期望
2014/12/26 职场文书
地心历险记观后感
2015/06/15 职场文书
财产分割协议书
2016/03/22 职场文书