问题标签 [xml-validation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xml - 使用 XSD 验证 XML ...但仍允许可扩展性
也许是我,但如果你有 XSD
定义此文档的架构
如果您添加了另一个元素(例如 EmailAddress)并混淆了顺序,它将无法验证
我不想将 EmailAddress 添加到文档中并将其标记为可选。
我只想要一个 XSD 来验证文档必须满足的最低要求。
有没有办法做到这一点?
编辑:
marc_s 在下面指出,您可以使用xs:any
inside ofxs:sequence
来允许更多元素,不幸的是,您必须保持元素的顺序。
或者,我可以使用xs:all
which 不强制元素的顺序,但唉,不允许我放置xs:any
在其中。
xml - 使用 libxml 和 XSD 文件在 Perl 中验证 XML
我试图让我的 perl 脚本从网上获取一个 Xxml 文件并根据 XSD 文件对其进行验证。
执行此操作的代码如下:
运行这个会导致一个神秘的错误:“元素cropdata 内容检查失败”(cropdata 是我的第一个非根标签)。
在我的 XSD 文件中,条目如下所示:
然后是一堆“ <xs:element..../
>”,然后:
进入 perl 调试器显示在"my $doc = $parser->parse_string($file);"
运行该行之后,$doc 打印为 XML::LibXML::Document=SCALAR(0x6b99f0)。
谁能帮我弄清楚我做错了什么?(警告:这可能是一个愚蠢的错误,我不会把它放在我自己身上)。
xml - 验证失败:“EntityRef:期待';'”
嗨,我有一些无法验证的 XML。我已将问题缩小到这一点:
我把它放在一个 XML 验证器中,它吐出:
此页面包含以下错误:第 1 行第 16 列的错误:EntityRef:期待';'
关于丢失“;”的任何想法 应该去?还有问题吗?
javascript - XML 验证:解析属性名称时出错
我遇到了 XML 验证问题。这一点:
结果是:
此页面包含以下错误:第 5 行第 246 列错误:解析属性名称时出错
我不确定我的错误是什么。有关如何纠正此问题的任何建议?
谢谢!
-拉克西米迪
eclipse - 在 Eclipse 中挑选出 web.xml 错误
当 Eclipse 检测到无效的 XML 文档(在我的例子中是一个web.xml
文件)时,它会转储 DTD 的内容模型并告诉我该元素无效。这是非常无益的,因为它最终告诉我:
元素类型“web-app”的内容必须匹配“(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping *,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security -role*,env-entry*,ejb-ref*,ejb-local-ref*)”。
在一个 900 行的 web.xml 文件中,错误不容易发现。
如何挑选出导致文档无效的第一个元素?
java - 如何在 SAXParser 中验证 XML 文档而不必使用 XMLReader?
我想创建一个SAXParser
验证的,但似乎唯一的方法是创建一个XMLReader
并使用setErrorHandler()
或让ContentHandler
inSAXParser.parse()
也实现ErrorHandler
。
我错过了什么吗?我想要做的就是创建一个SAXParser
这样的验证:
我正在使用 Xerces 2.9.1
感谢您的任何提示!
埃里克
.net - 使用 .NET 针对架构验证 XML
我想测试(真或假)任意 XML 文件是否与给定模式匹配。
值得一提的是,该架构是 Word 2003 WordML 架构,Microsoft 使用大约 7 个*.xsd
文件的列表来定义它。
这些文件之一还包括 W3Cxml.xsd
文件,包括以下语句:
我正在使用如下所示的 .NET 代码进行验证:
我的问题是,如果我在未连接到互联网的机器上运行此代码,那么我会收到一个XmlSchemaValidationException
错误,大意是它 can't find xml.xsd
。
为了解决这个问题,我下载了 xml.xsd 的副本,并使用以下settings.Schemas.Add
方法显式添加它:当机器未连接到 Internet 时,验证现在可以正常工作。
但是,当机器连接到互联网时,我现在收到一条错误消息The global attribute 'http://www.w3.org/XML/1998/namespace:lang' has already been declared.
。
所以显然我需要明确添加它,或者我不需要,这取决于机器是否能够从互联网上静默下载它(或者甚至可能以前能够下载它,并将它缓存在某个地方)。
所以,它是“如果我这样做该死,如果我不这样做该死”。我是否需要以一种方式尝试,捕获异常,然后以另一种方式尝试?还是有更优雅的解决方案?
c# - 如何验证 XML 文档?
我的 C#/.NET 应用程序读取用户手动编辑的 XML 文件。允许的元素和标签在应用程序的文档中进行了描述。我正在使用 LINQ 从 XML 文件中提取数据。
在从 XML 文件中提取数据之前,我想对其进行验证以查看它是否具有预期的结构。如果没有,最好能提供有关问题所在的信息,以便我可以向用户提供一些反馈。
在 C# 中执行此操作的最简单方法是什么?
xml - 引用来自不同项目模块中不同 XML 的 XSD 文件?
我有一个 XSD 文件,它在不同项目模块的三个不同 XML 文件中使用:
我一直在试图弄清楚如何避免手动将 XSD 复制到每个需要它的模块中,所以我不必维护三个文件而不是一个。
maven 中是否有一种方法可以让我的一个模块中只有一个版本,并在构建时将其复制到另外两个?
谢谢!
java - 在 Java 中:针对位于 @ 不同服务器位置的多个模式验证 XML
在我的程序中,我正在生成一个 XML 文件,并且需要针对位于不同 URL 上的多个模式来验证该 XML 文件。它只需要一次针对所有模式验证该 XML 文件。
源片段:
当我运行上面的代码片段时,我得到了这个错误:
org.xml.sax.SAXParseException:src-resolve:无法将名称“xn:SubNetwork”解析为(n)“元素声明”组件。在 org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org .apache.xerces.impl.xs.traversers.XSDHandler.reportSchemaError(Unknown Source) at org.apache.xerces.impl.xs.traversers.XSDHandler.getGlobalDecl(Unknown Source) at org.apache.xerces.impl.xs.traversers .XSDElementTraverser.traverseLocal(Unknown Source) at org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseLocal(Unknown Source) at org.apache.xerces.impl.xs.traversers.XSDAbstractParticleTraverser。
代码中的问题是什么?他们是否有任何其他方式来验证多个模式?