草庐IT

xml - relaxng 可以指定一组无序的同名但不同属性的元素吗?

我的工作是自动测试接受和返回XML的API,因此我想尽可能多地将API的记录返回数据转换为模式。基于易用性和易学性,我选择RelaxNG来完成这项任务。在我输入所有信息之前,这是一个问题:是否可以描述“无序的元素集,具有相同的名称但不同的属性”?这是一个示例对象,用于说明我在描述时遇到的问题:d395136e-d060-4a6e-887c-c0337dd7ad09Theitemhasaname链接对象是我被挂断的地方。这是问题所在:无法保证item中元素的顺序,因此我尝试将所有元素放在中结构。会有多个里面的元素,具有不同的属性集(即,必须具有“self”链接、“下载”链接和“相关数据”

用于验证 NMTOKENS 属性列表中每个值的 XML 模式

给定这个XML文件:...是否可以创建XSDkey/keyref样式验证,以确保blessed列表中的每个值都匹配针对现有的user/@name?如果XSD做不到,那么RelaxNG可以吗? 最佳答案 不,XSD1.0不可能。在XSD1.1中很简单,当然,使用断言:唯一性(如果在用户元素级别定义):参照完整性(如果在用户元素级别定义): 关于用于验证NMTOKENS属性列表中每个值的XML模式,我们在StackOverflow上找到一个类似的问题: https

c - 在 ANSI C 中针对 relax ng 验证 xml

是否可以根据ANSIC中的RelaxNG模式验证xml文件?我遇到过这个名为libxml2的库,但我能从中获得的所有帮助都是关于如何解析xml文件的。请帮忙。如果可以,步骤是什么?完全不知道这个w.r.t。C环境。 最佳答案 这是一个简单的示例(您当然应该添加自己的错误检查):#include#include#include#include#include#includeintmain(intargc,char*argv[]){intstatus;xmlDoc*doc;xmlRelaxNGPtrschema;xmlRelaxNGVa

xml - 我可以在 RELAX NG 紧凑模式中指定模式位置吗?

我想使用RelaxNG紧凑模式。我是否按照XSD的方式在xsi:schemaLocation中指定.rnc文件?我不想将RelaxNG转换为XSD,因为XSD的局限性对我来说是个问题。 最佳答案 xsi:schemaLocation特定于XML模式。如果您需要在文档中指定RNG模式的位置(这种做法的用处并不总是很明显;),您可以使用XMLModelProcessingInstruction(当然假设您使用支持它的工具,建议还很年轻)。 关于xml-我可以在RELAXNG紧凑模式中指定模式

c# - 我如何在 .Net 中使用其他/更现代的模式验证?

我正在尝试在跨平台应用程序中使用C#和XML进行一些工作(大多数开发是在Linux上的MonoDevelop中进行的,但大多数用户最终将使用我在VisualStudio中制作的WinForms前端)。Mono的行为符合我的预期,但.Net并非如此,因此我正在寻找选择和替代方案。模式有各种可选元素,后面跟着一个“xs:any”元素。这在Mono中工作得很好,但在Microsoft的.Net中却不行,因为它提示可选元素的出现在其在架构中的实际定义和“xs:any”之间不明确。从一些阅读来看,这似乎是一个在W3C的架构定义的更高版本中解决的问题。显然Mono一直保持最新状态,但Microso

xml - 如何使用 RelaxNG 检查属性是否唯一?

使用RelaxNG,我可以检查属性值在封闭元素中是否唯一吗?例如,这个城堡应该验证:但这不应该(在同一room中有重复的门):我正在使用RelaxNG(紧凑型)。我不知道“提前”的属性值,只知道它们在room中应该是唯一的。谢谢! 最佳答案 据我所知,这不能在纯RELAXNG中完成。您可以使用(嵌入式)Schematron,就像我们对CitationStyleLanguageschema所做的那样.如果您确实采用这种方式,请注意并非所有RELAXNG验证器都解析嵌入式Schematron,并且对独立Schematron模式的支持也是

xml - 如何通过 Ruby 中的 RELAX NG 验证 XML?

REXML模块似乎支持RELAXNGvalidation,但文档没有任何关于使用框架验证部分的真实信息。您将如何使用RELAXNG模式验证XML文档?代码片段将是最有帮助的。TIA! 最佳答案 好吧,我构建了一个程序,但结果并不好。我的结论如下:rexmlrelaxng模式解析可能不起作用。代码说明它是不完整的rexmlpull解析可能有效但很难判断以上两项均未记录你应该使用真正的XML库,比如libxml这是我的测试程序:test.rbrequire'rexml/validation/relaxng.rb'require'rexm

xml - emacs 中基于 W3C XML 模式的模式敏感编辑? (不是随机数)

刚刚学习,here,关于nxml-mode,根据自述文件,它是一个majormodeforGNUEmacsforeditingXMLdocuments.Itsupportseditingwell-formedXMLdocumentsandalsoprovidesschema-sensitiveeditingofXMLdocumentsusingRELAXNGCompactSyntax.有没有一种模式可以对W3CXMLSchema做同样的事情?如果我找不到这样的东西,那么nxml-mode对我有用吗,假设我严格处理W3CXMLSchema而不是Relax-NG?相关:Schema-awa

使用 RelaxNG 进行 XML 模式验证

对于性能和准确性,您可以推荐哪些XML验证工具,这两者都是我们系统的关键问题?我们有以下要求:不是xmllint(见下文)支持RelaxNG可以轻松地与Perl集成(这是可选的,但它会很好)为什么不用xmllint?(这是背景,喜欢的可以跳过)我们有一个大型Perl系统,它使用RelaxNG来验证我们的XML。我们使用compactRelaxNGformat和trang将其转换为标准的RelaxNG格式。然后我们通过xmllint进行实际验证.这就是问题的根源。xmllint通常会错误地报告验证错误。它不会给出误报或漏报,但如果文档验证失败,xmllint通常会针对给定错误报告错误的元

php - 如何使用 RELAXNG 验证 XML?

为什么thisXML从id="33426841601"到id="asdf"时changingtheinteger仍然有效?我对RELAXNG完全陌生,但我希望thispartofthevendor-providedschema使其无效:但无论我如何篡改XML,DOMDocument::relaxNGValidate始终返回true。load('valid.xml');var_dump($valid->relaxNGValidate('relaxng.xml'));$invalid=newDOMDocument;$invalid->load('invalid.xml');var_dump