草庐IT

xsd-schema

全部标签

c# - XDocument.Validate 未捕获针对 XSD 的所有错误

我在使用C#XDocument.Validate或具有所需配置的XMLReaderSettings针对有效XSD验证XML文档时遇到了一个非常奇怪的问题。问题是:当XML文档中存在错误时,验证过程无法捕获特定条件下的所有错误,我无法找到该异常的模式。这是我的XSD:-->这里是针对此XSD验证的XML文档: Lorem Ipsum dolor sitamet consecteturadipiscingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua. 1234

xml - 限制 XSD 中的独占键值对

在XSD中,有两个元素,A和B。它们是兄弟。A的值可以是“1”或“2”。B的值可以是“一”或“二”。但是,我想对此进行限制,以便只有“1-one”和“2-two”是有效组合,而不是“1-two”或“2-one”。有没有办法在XSD中做到这一点? 最佳答案 Schematron可用于定义此类共现约束。您可以在此处找到一些介绍性文章:ImprovingXMLDocumentValidationwithSchematronSchematron:XMLStructureValidationLanguageUsingPatternsinTre

java - 如何判断 XML 文档是否针对 DTD 或 XSD 进行验证?

在Java中,我可以使用javax.xml.validation.Validator根据XSD模式验证XML文档,或者通过使用org.xml.sax.XMLReader简单地解析文档来根据DTD验证XML文档。但我需要的是一种以编程方式确定文档本身是针对DTD(即它包含语句)还是XSD进行验证的方法。理想情况下,我需要在不将整个XML文档加载到内存中的情况下执行此操作。有人可以帮忙吗?(或者,如果有一种单一方法来验证Java中的XML文档,同时适用于XSD和DTD-并允许自定义资源解析-那会更好!)非常感谢,一个 最佳答案 没有10

.NET 的 System.Xml.Schema 类的 Java 等价物?

.NETFramework公开了一组相当有用的类作为System.Xml.Schemanamespace的一部分.除其他外,XmlSchema和XmlSchemaElement等类提供了一个有用的API,用于定义/编写和解析/读取/遍历XML架构文件。是否存在适用于Java的等效库? 最佳答案 完成此任务的工具已经存在,但我认为在Java中没有任何特定的东西。我要做的是在XMLSchema架构(http://www.w3.org/2001/XMLSchema)上运行JAXB,这将生成对应于XSD构造的Java类。然后您可以使用它们来

xml - 如何在 xsd :sequence 中至少指定一个

我有一个序列但我希望在上面至少出现一个YY或ZZ元素两者都允许丢失。 最佳答案 我相信这就是您要找的: 关于xml-如何在xsd:sequence中至少指定一个,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3454857/

xml - 重新定义 xsd 元素

我正在尝试重新定义externalxsd中包含的元素定义(我无法修改)看起来像这样:这定义了如下元素:如何扩展它以便创建具有2个附加属性(foo和bar)的元素?请参阅下面的示例,了解我需要的最终结果:我尝试过的:但是这不起作用。我似乎无法找到任何详细说明如何重新定义包含属性的xsd:element的资源,我认为这是这里的问题。如果需要更多信息,请发表评论。 最佳答案 您不能在simpleType中包含complexContent,这没有意义。此外,您唯一可以重新定义的是:simpleType、complexType、group、a

xml - 您可以转换无序的 xml 以匹配 xsd :sequence order?

您好,我需要使用xslt将无序的xml转换为xsd架构中指定的正确顺序需要使用进行转换xml可以具有任何顺序的属性,最多10个属性元素。我尝试使用xsl:for-each来尝试处理xml,但我对如何让xslt进行转换感到困惑将xml转换为序列定义的正确顺序任何帮助将不胜感激 最佳答案 这可能不是最好的方法,但它似乎工作正常。我不确定xs:element的处理顺序是否得到保证。此外,这是在oXygen中使用Saxon-HE9.3.0.5测试的XSLT2.0答案。XML输入(修改了Person的大小写以匹配模式):外部XSD架构文件(s

xml - 停止 xsd.exe 生成多维数组

我有具有以下结构的XSD架构:ElementA只有一个ElementB而ElementC有零个到无限个ElementA->ElementB->ElementC[]当我使用此模式和xsd.exe生成类时,它会生成多维数组:在使用ElementA的任何地方,它都会将ElementC[][][]。对于每个深度一维。有没有办法阻止xsd.exe这样做?例如,XSD定义了一个名为carList的元素,它只包含汽车标签(从零到无限的“汽车”)。然后xsd.exe应该创建一个名为carList的类,它只包含一个一维数组或汽车列表。相反,无论在哪里使用carList,它都会放置一个car[][]。不喜

java - 验证 XSD 文件

我想验证XSD文件(不是XML)。我使用的方法是将XSD视为任何其他XML文件并使用此www.w3.org/2001/XMLSchema.xsd作为模式。我正在使用以下代码:StringschemaLang="http://www.w3.org/2001/XMLSchema";SchemaFactoryfactory=SchemaFactory.newInstance(schemaLang);Schemaschema=factory.newSchema(newStreamSource("C:\\Users\\aprasad\\Desktop\\XMLSchema.xsd"));Vali

PHP - 使用 unicode 正则表达式的 XSD 模式验证错误

描述:当我尝试使用包含Unicode常规的给定XSD模式验证XML文件时表达式,函数DOMDocument::schemaValidate返回验证错误。XSD模式是W3C格式良好的,并且验证通过了另一个验证工具。如果XSD模式是这样的格式(没有正方形括号):PHP版本:5.2.14LibXml版本:2.7.7先前的模式[\P{Ll}]+与preg_match函数一起正常工作。测试脚本:PHP验证码:functionlibxml_display_errors(){$errors=libxml_get_errors();print_r($errors);libxml_clear_error