十九、XML Extensible Markup Language

news/2024/10/20 16:07:50/

1、DTD简介

        如果XML内容写错了怎么办?

        如何校验XML语法的正确与否?

1)什么是DTD

        DTD(文档类型定义)可以定义合法的XML文档结构,它使用一系列合法元素来定义文档的结构。DTD分别为内部DTD和外部DTD,所谓内部DTD是指该DTD在某个文档的内部,只被该文档使用。外部DTD是指该DTD不在文档内部,可以被其他所有的文档来共享。DTD文档与XML文档实例的关系可以看成是类和对象的关系。

2、DTD优势

        每一个XML文档都可携带一个DTD,用来对该文档格式进行描述,测试该文档是否为有效的XML文档。既然DTD有外部和内部之分,当前就可以为某个独立的团体定义一个公用的外部DTD,那么多个XML文档就可以共享使用该DTD,使得数据交换更为有效。甚至在某些文档中还可以使内部DTD和外部DTD相结合。在应用程序中也可以用某个DTD来检测接收到的数据是否符合某个标准。

3、元素的定义

        根元素的声明

        每个XML文档都只有一个根元素,其它的子元素都包含在该根元素中。因此在DTD中对根元素的声明是必不可少的。根元素声明的一般形式如下:

        

DOCTYPE是“document type”(文档类型)的简写,DOCTYPE声明必须放在文档最顶部,在所有代码和标识之上,DOCTYPE声明是必不可少的关键组成部分。DTD语法要求DOCTYPE必须要大写,而且DOCTYPE和元素之间必须要有空格隔开。如在以上代码中DOCTYPE和根元素root之间要有空


http://www.ppmy.cn/news/1449737.html

相关文章

XYCTF 2024 WP

战队:D0sec 队员:xiaolaisec,TianXx WEB Ezhttp 首先访问robots.txt有一个l0g1in.txt,访问即可得到账号和密码 BP抓包进行一系列伪造即可 Warm up 第一层payload:?val1[]1&val2[]2&md50e215962017&XY240610708…

冯喜运:5.2黄金触底反弹今日还会跌吗?原油最新行情分析策略

【黄金消息面分析】:周三(5月1日),受美联储主席鲍威尔讲话影响,现货黄金价格暴涨近33美元;周四亚市早盘,现货黄金守住涨幅,目前交投于2323.69美元/盎司。此外,美联储主席鲍威尔(Jerome Powell)未…

设置cordova编译时采用本地已下载的gralde

设置cordova编译时采用本地已下载的gralde 前言 编译Cordova时,往往会根据cordova工程的需要从网络上下载不同版本的gradle用于编译,每次下载带来编译速度慢,甚至因为网络不稳定,导致提示因无法下载gradle而编译失败!…

设计模式(2)——工厂方法模式

目录 1. 摘要 2. 需求案例(设计一个咖啡店的点餐系统) 2.1 咖啡父类及其子类 2.2 咖啡店类与咖啡类的关系 3. 普通方法实线咖啡店点餐系统 3.1 定义Coffee父类 3.2 定义美式咖啡类继承Coffee类 3.3 定义拿铁咖啡继承Coffee类 3.4 定义咖啡店类 3.5 编写测试类 4. 简…

Windows 10 使用 Vagrant 快速创建虚拟机

一、下载 VirtualBox 官网地址:Oracle VM VirtualBox 阿里云盘:阿里云盘分享 二、安装 VirtualBox 安装软件前请先确认 CPU 是否开启了虚拟化,要求开启 2.1、双击运行可执行文件后点击下一步 2.2、选择安装路径,为了避免中文乱码…

nginx配置tcp长连接实现集群

注意:实际工程应该会用docker部署。 安装nginx sudo apt install libpcre3-dev zlib1g openssl -y wget https://nginx.org/download/nginx-1.26.0.tar.gz #安装到/home/gyl/workspace/mprpc/vendor/nginx-1.26.0下 tar xfzv nginx-1.26.0.tar.gz && cd n…

Linux 进程间通信之命名管道

💓博主CSDN主页:麻辣韭菜💓   ⏩专栏分类:Linux知识分享⏪   🚚代码仓库:Linux代码练习🚚   🌹关注我🫵带你学习更多Linux知识   🔝 目录 前言 命名管道 创建一个命名管道 …

CVE-2022-2602:unix_gc 错误释放 io_uring 注册的文件从而导致的 file UAF

前言 复现该漏洞只是为了学习相关知识,在这里仅仅做简单记录下 exp,关于漏洞的详细内容请参考其他文章,最后在 v5.18.19 内核版本上复现成功,v6.0.2 复现失败 漏洞利用 diff --git a/include/linux/skbuff.h b/include/linux/s…