xml dtd 内部dtd 外部DTD 公共DTD
(一个可以用来校验xml有效性的网站:http://www.xmlvalidation.com/)
(经测试 eclipse neon 对于dtd的校验并不严格,比如DOCTYPE后面的根元素名与实际跟元素名不一致也能通过,可能是DTD技术已经过时了,学习的时候建议使用上面的网站进行测试)
内部DTD
格式:
<!DOCTYPE 根元素名[]
元素描述
>
XML文档主体部分
示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE messages[
<!ELEMENT messages (message)*>
<!ELEMENT message (title,content,hashcode)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT content (#PCDATA)>
<!ELEMENT hashcode (#PCDATA)>
]>
<messages>
<message>
<title>hello,world</title>
<content>hello</content>
<hashcode>2kljfosaf7912</hashcode>
</message>
</messages>
外部DTD
ExternalDTD.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT messages (message)*>
<!ELEMENT message (title,content,hashcode)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT content (#PCDATA)>
<!ELEMENT hashcode (#PCDATA)>
ExternalDTD.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE minedtd SYSTEM "ExternelDTD.dtd">
<messages>
<message>
<title>hello,world</title>
<content>hello</content>
<hashcode>2kljfosaf7912</hashcode>
</message>
</messages>
公用DTD
将上例的SYSTEM换成PUBLIC,则意味着使用公有DTD,使用公有DTD时,还需给该DTD指定一个标识名。
格式:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 根元素 public "DTD的标识名" "公用DTD的URI">
实例
暂缺
----
xml dtd 内部dtd 外部DTD 公共DTD的更多相关文章
- myBatis配置提示xml和内部DTD
–配置环境:macOS high Sierra 10.13.6/window10–生产环境:eclipse2018.a,myeclipse2018 首先了解xml文件的参数——<!DOCT ...
- ‘ant-version’不是内部或外部命令,也不是可运行的程序
下载apache-ant-1.9.2-bin.zip后,解压目录:F:\selenium\apache-ant-1.9.2 配置环境变量,在“我的电脑->属性->高级->环境变量 - ...
- Tomcat学习笔记 - 错误日志 - NetBeans配置tomcat出错情况总结 -- 部署错误: 启动 Tomcat 失败。-- '127.0.0.1' 不是内部或外部命令,也不是可运行的程序
真的管用,不知道为啥管用.转载自:http://blog.sina.com.cn/s/blog_709548200102vgy4.html 问题描述: 新安装的NetBeans8.0.2,安装过程中还 ...
- NetBeans启动Tomcat报“'127.0.0.1' 不是内部或外部命令”启动失败的解决办法
http://blog.sina.com.cn/s/blog_709548200102vgy4.html ——————————————————————————————————————————————— ...
- JAVA安装过程中出现的“javac不是内部或外部指令”的解决方法
近来重新安装了JAVA,安装过程中出现问题,网上找到解决办法,汇总发布. 解决流程: 1.确定自己的环境变量设置没问题,没有出现遗漏 : . 等情况 (具体环境变量设置百度) 2.环境变量设置后 ,d ...
- nodejs 提示‘xxx’ 不是内部或外部命令解决方法
本文介绍了node.js包管理工具npm安装模块后,无法通过命令行执行命令,提示‘xxx’ 不是内部或外部命令的解决方法,给需要的小伙伴参考下. 一般出现这样的问题原因是npm安装出现了问题,全局 ...
- nodejs安装express不是内部或外部命令
工具/原料 Node.js安装包 方法/步骤 首先下载Node.js安装包,此处我用的是官方最新的v0.10.27 32位版: http://nodejs.org/dist/v0.10.27/no ...
- 【python】安装python第三方库lxml时,遇到问题:[ERROR: 'xslt-config' 不是内部或外部命令,也不是可运行的程序]
一.概述 lxml介绍http://lxml.de/ 二.问题 ERROR: 'xslt-config' 不是内部或外部命令,也不是可运行的程序 三.解决方法 Scrapy在Windows上的安装笔记 ...
- java编译正常javac出错不是内部或外部命令
javac不是内部或外部命令 安装jdk版本jdk-8u111-windows-x64(jdk1.8.0_111) 配置环境: JAVA_HOME D:\xiazai\Java\jdk1.8.0_11 ...
随机推荐
- oracle 表字段添加 修改 删除语法
修改列名 alter table 表明 rename column rename 老列名 to 新列名添加 字段alter table 表名 add(字段名 类型):删除字段alter table 表 ...
- [速记!vs调试技巧]
当程序崩溃却又没有报错的时候,进入调试程序,断点处按Alt+7可以进入函数调用栈,甚至可以进入汇编栈,真的很有用,以后有时间学习汇编的话,估计这个功能会更加强大!
- VisualStudio配色方案
最近发现一个很神奇的网站,可以方便的为VisualStudio配色:Studio Styles - Visual Studio color schemes 可以下载一份自己喜欢的配色方案 如果还不满意 ...
- C语言常见类型占用字节数
前言 最近笔试经常遇到c语言各类型变量所占字节数的问题,这里做一个总结好了. 类型 常见的有char.int.long.short.float.double及指针等. 字符类型 这里单只char,ch ...
- Ambari——大数据平台的搭建利器
转载自http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/ 扩展 Ambari 管理一个自定义的 Service ...
- php中session锁--如何防止阻塞请求(译)
现代浏览器限制到一个host并发连接的数量一般为4或6.这意味着,如果您的web页面加载几十个来自同一个host的assert file(js.图像.css)时,由于并发数的限制,会产生排队.同样甚至 ...
- c++11 中成员变量初始化的顺序
参考C++11FAQ https://www.chenlq.net/cpp11-faq-chs 11以后可以直接在类里面初始化成员变量,类似这样 class A { int a=1; const in ...
- 图解TCP、IP笔记
七层:应用层.表示层.会话层.传输层.网络层.数据链路层.物理层 应用层:与通信无关的功能 表示层:例如转换编码格式 会话层:采用哪种连接方法 传输层以下: 传输层:确立连接与断开连接重发 网络层:从 ...
- IOS热更新-JSPatch实现原理+Patch现场恢复
关于HotfixPatch 在IOS开发领域,由于Apple严格的审核标准和低效率,IOS应用的发版速度极慢,稍微大型的app发版基本上都在一个月以上,所以代码热更新(HotfixPatch)对于IO ...
- [Search Engine] 搜索引擎技术之查询处理
我们之前从开发者的角度谈了一些有关搜索引擎的技术,其实对于用户来说,我们不需要知道网络爬虫到底是怎样爬取网页的,也不需要知道倒排索引是什么,我们只需要输入我们的查询词query,然后能够得到我们想要的 ...