草庐IT

order_creation_xsd_validation_and

全部标签

c# - 序列复杂类型中缺少必需元素时的 XSD 验证错误

我有一个XSD和不正确的XML。XSD具有复杂的类型,其中包含元素的序列。所有这些元素都是强制性。(XSD由第3方维护,不能更改)不正确的XML缺少一个元素。当我使用C#针对XSD验证XML时,预期的错误是“需要‘XXX’元素”。但实际上,它还告诉我“该元素具有无效的子元素”。我不确定我应该怎么做。为了帮助您理解我的问题,我将向您展示一个示例:222222真实但意外的验证错误如下所示:Theelement'class'hasinvalidchildelement'el3'.Listofpossibleelementsexpected:'el2'.预期的错误是:Listofpossibl

xml - 使用一个 XSLT 生成 XML 和 XSD 文档

我想对XML文档进行XSL转换,以便我的XSLT生成附加到XSD文档的新XML文档。我想问是否可以仅使用一个XSLT生成两种不同类型的文档。 最佳答案 XSLT2.0可以使用xsl:result-document通过一次转换创建多个结果文档,请参阅规范https://www.w3.org/TR/xslt20/#creating-result-trees.一些XSLT1.0处理器也支持类似http://exslt.org/exsl/elements/document/index.html的扩展。支持libxslt/xsltproc或类

sql-server - 如何编写生成 xml 和 xsd 的 `select ... FOR XML` 查询,以便它们为 SQLXMLBulkLoad 做好准备?

我正在寻找最简单的方法将表(或其中的一部分)导出到xml文件,然后将此xml文件导入其他数据库中的相应表。我查到的原理很简单:导出:在源数据库上,我通过添加FORXMLroot('Data')生成一个xml字符串和一个xsd架构字符串和FORXML,XMLSCHEMA选择查询的子句。导入:在目标数据库上,我使用生成的xsd通过SQLXMLBulkLoad批量加载生成的xml文件。但我不能完全做到这一点。在导出和导入之间,我必须对xsd模式进行一些小的修改。例如,我通过以下查询生成xml和xsd字符串:selecttop3*FROMmyTableFORXMLAUTO,ELEMENTS,R

java - XSD:通过 Jaxb 插件生成 POJO 时,不同命名空间的导入元素正在占用父级的目标命名空间

我正在尝试通过MavenJAXB插件生成POJO来解析我得到的XML。我的XML中有一个根级元素,它有一个不同于其中其他元素的namespace。以下是XML:由于FlattenedSKU和SKU位于不同的命名空间中。因此,我为FlattenedSKU下的所有元素声明了一个单独的XSD,然后将其导入到父元素中。XSD看起来像这样:sku_wrapper.xsd子xsd如下:sku.xsd现在生成的java类如下所示:@XmlRootElement(name="FlattenedSKU",namespace="http://www.abc/schemas/xyz/sdf/Schemas/

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

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