草庐IT

DTD-Validation

全部标签

c# - 如何在 C# 中根据 DTD 验证 XML 文档?

我不想做任何花哨的事情,我只想确保文档有效,如果无效则打印错误消息。谷歌指出我this,但XmlValidatingReader似乎已过时(至少MonoDevelop是这么告诉我的)。编辑:我正在尝试Mehrdad的提示,但我遇到了麻烦。我想我已经掌握了大部分内容,但我无法在任何地方找到OnValidationEvent。我从哪里获得OnValidationEvent?XmlReaderSettingssettings=newXmlReaderSettings();settings.ValidationType=ValidationType.DTD;settings.Validatio

xml - 在Excel中打开xml文件时出现错误-1072896636 "DTD Prohibited",我该怎么办?

我试图在Excel2013中打开一个XML文件,但它说它不能这样做,因为“禁止DTD”。我已经搜索了解决方案,但我只找到了一些应该可以解决问题的代码。但是我完全不明白!什么代码?我只是打开文件,我没有编写程序或任何东西。我应该在打开文件之前大声背诵该代码还是什么?对不起,但我觉得这真的很荒谬。是否有一些解决方案可以只打开文件而不为其编写程序?如果没有,我应该如何处理这段代码?我说的代码如下SetxmlDoc=CreateObject("Msxml2.DOMDocument.6.0")xmlDoc.setProperty"ProhibitDTD",FalsexmlDoc.loadxmlt

Java、XML、XSLT : Prevent DTD-Validation

我使用Java(6)XML-Api对来自网络的html文档应用xslt转换。该文档是格式良好的xhtml,因此包含有效的DTD-Spec()。现在出现了一个问题:XSLT处理器尝试下载DTD,而w3服务器通过HTTP503错误(由于w3的BandwithLimitation)拒绝了这一点。如何防止XSLT处理器下载dtd?我不需要验证我的输入文档。来源是:importjavax.xml.transform.Source;importjavax.xml.transform.Transformer;importjavax.xml.transform.TransformerFactory;i

xmllint DTD 验证语法

尝试验证XML文档;但是,xmllint坚持将选项作为文件读取,因此我遇到了FileNotFound异常。只是为了确认,我在与我的XML文件相同的文件夹中有xmllint.exe。我在CMD中找到目录并输入命令:xmllint--noout--validfile.xmlDTD位于xml文件中。但是,xmllint正在查找文件~/--nout。我试过将文件放在选项之前,但是,这些选项没有被应用。我对此比较陌生,所以我毫不怀疑这个问题很明显。提前致谢。编辑:这是它拒绝工作的截图>:( 最佳答案 我很确定你没有使用xmllint,而是另一

java - 使用 JAXB 从 DTD 文件生成 Java 类 - 如何修改 DTD?

我想使用JAXB从dtd文件生成Java类。dtd看起来像这样:使用JAXB生成类时,我得到以下类:对象工厂内容个人人组团体在内容类中,检索所有人员和组的方法是publicListgetPersonOrGroup(){if(personOrGroup==null){personOrGroup=newArrayList();}returnthis.personOrGroup;}我可以在dtd文件中更改什么以便生成Java类将使persons和groups在Content中分开java类,所以要检索所有人员和组将分别调用Content.getPersons()和Content.getGro

python - 我如何使用 python 针对 dtd 验证 xml?

我有一个xml文件“sample.xml”:nvidia_970energenie_euunittestnvidia_870energenie_euperformancetest和相应的dtd作为“sample.dtd”:我希望“sample.xml”通过使用python脚本针对“sample.dtd”进行验证。我将如何实现这一目标?请帮忙。 最佳答案 lxmllib非常适合这个:在当前工作目录中使用sample.txt和sample.dtd,您可以简单地运行:fromlxmlimportetreeparser=etree.XMLP

xml - XML DTD 中的 PCDATA 与 CDATA

在XMLDTD中——当定义一个元素时,我们使用#PCDATA表示这个元素可以包含任何可解析的文本。在定义一个属性时,我们用CDATA表示它的值可以是任何字符数据。XML中使用的CDATA是不被XML解析器解析的东西(多字符转义序列)。一致地,当我们使用CDATA来定义属性时;解析器不应该解析它。但是,确实如此!那么,为什么不能用PCDATA代替CDATA来定义属性呢?更新-一直保持这种方式以与SGML向后兼容。SGML中这种命名背后的原因是什么? 最佳答案 当用于属性的声明值时,CDATA指的是属性的实际值(字符数据),而不是解析它

xml - 如何将相关系统 DTD 加载到 StAX 解析器中?

我正在使用woodstox为XML文件实现StAX解析器。假设我在文件系统的公共(public)目录中某处有一个有效的XML文件和匹配的DTD。/path/to/test.xml/path/to/test.dtd使用相对系统标识符声明的XML引用其DTD,如下所示:从验证的角度来看,我觉得一切都很好。(是吗?xmllint没有提示。)但是,当我试图用下面的代码解析文件时,woodstox抛出一个java.io.FileNotFoundException,因为它找不到相关的DTD文件。在我看来,该实现试图访问相对于工作目录而不是相对于XML文件对象的DTD文件。importjava.io

vcl - C++ 生成器 XE2,TXMLDocument 'DTD is prohibited'

当我尝试读取带有DTD的XML文档(eagle文件)时出现错误:ProjectxxraisedexceptionclassEDOMParserErrorwithmessage'DTDisprohibited'XMLheader如下所示:如果我删除第二行......一切正常。经过一些谷歌搜索后,似乎MSXML解析器有一个名为“prohibitDTD”的选项默认设置为true(在早期版本中它是false)。但是似乎无法从TXMLDocument类将此选项设置为false。一种解决方案似乎是重新编译.pas库或使用CoCreateInstance()自行创建接口(interface)。我看到

xml - 使用 DTD,是否可以声明一个允许任何 XML 内容的元素?

我正在尝试为XML文档创建DTD。该文档有两个子项-一个包含结构化数据,另一个包含非结构化数据,例如;我想为上面的XML创建一个允许的DTD。元素包含任何有效的XML。我试过这个DTD;但是错误是这样产生的;NodeclarationforelementhelloNodeclarationforelementworld..等等我想允许包含任何有效的XML。在DTD中有没有办法允许指定的元素包含任何可解析的XML?我正在使用PHP5.3DOMDocument::validate。 最佳答案 没有,没有。通过使用ANY关键字,您已接近D