XML文件DTD路径解析问题(in Eclipse)

1、xml文件声明的dtd文件路径如下:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN""http://java.sun.com/dtd/ejb-jar_2_0.dtd"><ejb-jar >。。。。。。</ejb-jar>

2、dtd声明解析原则:

DOCTYPE声明不仅包含常规的关键字和根元素名称,而且包含指示外部DTD源的关键字和DTD的位置。XML规范定义了几种声明源的方法。声明中可以使用关键字SYSTEM或PUBLIC。如果使用SYSTEM关键字,解析器将仅根据给出的URL寻找DTD?DTD通过URL显式地直接定位。

然而,如果DTD源关键字为PUBLIC,情况就略微复杂一些。PUBLIC关键字用于声明众所周知的词汇表。例如,假设出版界已经对图书种类DTD达成了大量共识。需要根据该词汇表解析文档的应用程序可能会通过某种策略来定位DTD。如果这个DTD非常普及,应用程序或许有本地拷贝。直接使用本地拷贝可能比从Web服务器上远程下载更可取。DTD可能存放在数据库中,或者可以通过其他与应用程序相关的技术获得。如果使用PUBLIC关键字和URI,应用程序就有机会利用自己的算法定位DTD。统一资源标识符(URI)可以是URL,也可以是一个单独的名字。

例如:

<!DOCTYPE ejb-jar PUBLIC “universal/publishing/book”
   “http://www.myweb.com/dtd/books.dtd” >

如果URI“universal/Publishing/Book”对于处理这类文档的应用程序来说是已知的,应用程序可以通过某种有效的方式自行寻找DTD。或许我们恰好有适合该领域的解析器。它可能有DTD的本地拷贝,或者它可以访问由本地数据库服务器维护的DTD。最关键的是,寻找DTD的方法主要是由负责处理DOCTYPE声明的应用程序确定的。

当然,“众所周知”通常是相对的。因此,XML1.0允许PUBLIC声明同时有公共URI和系统标识符。如果使用文档的应用程序或解析器不能从PUBLIC关键字提供的URI定位DTD,它必须使用系统标识符。

在本例中,文档的设计者允许作为接收方的应用程序根据公共的URI自行寻找DTD。如果该过程失败,对我们的出版领域不熟悉的通用解析器一般属于这种情况,应用程序可以从地址为http://www.myweb.com/的Web服务器请求指定的文件,即获取网络上的dtd文件:http://www.myweb.com/dtd/books.dtd。

3、Eclispe中配置dtd路径:

如果初始状态下没有配置ejb-jar.xml文件的dtd路径,而eclipse又不能去sun公司validate的情况下,eclipse报错。

可以根据ejb-jar.xml文件声明的PUBLICDOCTYPE,指示eclipse到一个本地的dtd文件去验证。

已声明的"-//SunMicrosystems,Inc.//DTDEnterpriseJavaBeans2.0//EN"为本地dtd文件的一个别名。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索或许文档的数据
, 文件
, 关键字
, eclipse报错
, 应用程序
, 解析url问题
, 关键路径
, dtd
, public
本地
eclipse xml dtd、xml 本地dtd 相对路径、java解析xml 忽略dtd、eclipse解析xml、dom4j解析xml 路径,以便于您获取更多的相关知识。

时间: 2025-01-29 07:59:51

XML文件DTD路径解析问题(in Eclipse)的相关文章

Tomcat源码分析——server.xml文件的解析

前言 在<Tomcat源码分析--server.xml文件的加载>一文中我们介绍了server.xml的加载,本文基于Tomcat7.0的Java源码,接着对server.xml文件是如何解析的进行分析. 概要 规则 Tomcat将server.xml文件中的所有元素上的属性都抽象为Rule,以Server元素为例,在内存中对应Server实例,Server实例的属性值就来自于Server元素的属性值.通过对规则(Rule)的应用,最终改变Server实例的属性值. Rule是一个抽象类,其中

Android中使用pull解析器操作xml文件的解决办法_Android

一.使用Pull解析器读取XML文件 除了可以使用SAX或DOM解析XML文件之外,大家也可以使用Android内置的Pull解析器解析XML文件. Pull解析器是一个开源的java项目,既可以用于android,也可以用于JavaEE.如果用在javaEE需要把其jar文件放入类路径中,因为Android已经集成进了Pull解析器,所以无需添加任何jar文件.android系统本身使用到的各种xml文件,其内部也是采用Pull解析器进行解析的. Pull解析器的运行方式与SAX 解析器相似.

jQuery 行级解析读取XML文件(附源码)_jquery

最近在做一个项目,因为页面使用了Cookie,所以要判断用户的浏览器是否支持Cookie,并提示用户如何开启浏览器的Cookie功能.同时,整个项目要配置多语言支持,包括中文.越南语.日语和英语,所以必须有语言配置文件.项目中应用jQuery解析读取XML语言配置文件来实现语言的调度.这是jQuery解析读取XML文件功能的测试源码,现拿出来分享.目录结构: main.css文件代码: 复制代码 代码如下: @CHARSET "UTF-8"; * { margin: 0px; padd

java对XML文件的解析、节点的增加、删除操作总结_JSP编程

1.java代码: 主要采用dom来进行操作 复制代码 代码如下: package test; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.T

jQuery解析XML文件同时动态增加js文件的方法_jquery

本文实例讲述了jQuery解析XML文件同时动态增加js文件的方法.分享给大家供大家参考.具体实现方法如下: $(function(){ $.ajax({ url: 'js/config/jsConfig.xml', dataType: 'xml', success: function(data){ $(data).find("moduleName").each(function(i,obj) { var field = $(this); var funcName = field.at

深入浅出如何解析xml文件---上篇

    xml小伙伴们并不陌生,xml是可扩展标记语言,标准通用标记语言语言的子集,是一种用来标记电子文件使其具有结构性的标记语言.我们知道xml可以用dom与sax等方法进行解析,但是xml为什么要解析呢?为什么html就不用解析?小伙伴们可以思考一下,我们知道xml和html都是标签化的代码,其实也都是网页的一种写法,但是浏览器决定了显示什么,也就是浏览器直接解析html的基本标签,目前来说xml从一种网页应用,走向了一种格式化信息的应用,因为,我们需要使用xml里的这些信息,所以我们需要解

ios-iOS下XML文件同名子标签的解析

问题描述 iOS下XML文件同名子标签的解析 5C 想解析一个Music XML文档,但是文档中有如下结构: 288 . . 18 15 . . 这样的XML文件与有同名的子标签,如果采用DOM的解析方式虽然可以区分不同的duration,但是树形结构使输出时先输出所有的note节点内容再是backup节点的内容:如果采用SAX方式的话,由于是逐句解析,可以按顺序输出,但是没法确定解析出的duration内容到底是属于note还是backup的,这个问题困扰了小弟很久,人已接近崩溃,还希望各位大

io流-eclipse生成xml文件编码错误问题,,

问题描述 eclipse生成xml文件编码错误问题,, eclipse项目中编码是GBK,生成的xml文件是utf-8利用dom4j XMLWriter out = new XMLWriter(new FileOutputStream(new File(""src/xml/users1.xml""))format);```用字节流就正常,而用```XMLWriter out = new XMLWriter(new FileWriter(new File("

tinyxml-在vc下使用TinyXml库解析xml文件?

问题描述 在vc下使用TinyXml库解析xml文件? 解析过简单的xml文件但是没解析过复杂的,今天遇到了,求教高手帮助? 解决方案 复杂的跟简单没区别,就是逻辑复杂点http://blog.csdn.net/jsufcz/article/details/5873096