【问题标题】:Validating XSD itself验证 XSD 本身
【发布时间】:2013-05-13 10:05:00
【问题描述】:

谁能告诉我如何验证 XSD 文件本身(不是针对 XSD 的 XML)?我检查了许多论坛和网站(包括 SO),其中大多数都引用了一些或其他在线验证器。但这对我们来说不是一次性检查。我们的应用程序涉及使用 XSD 的 XSL 转换,因此我们需要确定要使用的 XSD 本身是否具有有效格式,例如,所有标签都匹配,有一个开始和一个结束。某些标签不允许作为子标签等。这就是为什么我们需要适当的 java 代码来实现相同的目的。

任何帮助将不胜感激。

【问题讨论】:

    标签: java xml xsd


    【解决方案1】:

    您可以根据here 找到的 w3 XSD 架构验证 XSD 文件。

    使用与使用 XSD 文件验证任何其他 XML 文件相同的验证技术,只有源文档是您的 XSD 文件。

    【讨论】:

      【解决方案2】:

      您可以为此使用 xmllint:

      xmllint --noout --dtdvalid http://www.w3.org/2001/XMLSchema.dtd my-schema.xsd
      

      【讨论】:

        【解决方案3】:

        你可以试试 javax.xml.validation 包

        SchemaFactory f = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
        Schema s = f.newSchema(new File("1.xsd"));
        

        Schema.newSchema() API

        Parses the specified File as a schema and returns it as a Schema
        

        【讨论】:

        • 感谢大家各自的投入。他们三个都工作得很好,但就像我提到的那样,我们不需要应用程序之外的任何东西,即在其他域上。如果他们的 URL 明天发生变化,我们就不必返回代码。因此,将第 3 个标记为答案,因为它最相关且效果很好。
        【解决方案4】:

        您可以验证您的 XSD online here

        只需在此处复制并粘贴您的 XSD,然后单击 validate Schema ,它就会为您提供结果。

        【讨论】:

          猜你喜欢
          • 2021-11-10
          • 2011-06-18
          • 1970-01-01
          • 2018-05-24
          • 2012-05-29
          • 2010-11-15
          • 2014-05-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多