当前位置: 首页 > 知识库问答 >
问题:

Intellij思想:如何验证XML模式1

司徒耀
2023-03-14

我正在用JDK7在IDEA 13.02中试用XML SCHEMA 1.1

这是我从教程中获得的XML模式代码。当我在IntelliJ IDEA中打开这个文件并单击“验证”时,我得到以下错误:

CVC-complex-type2.4.a:发现以元素“open content”开头的内容无效。“”http://www.w3.org/2001/XMLSchema“:注释、”http://www.w3.org/2001/XMLSchema“:SimpleContent、”http://www.w3.org/2001/XMLSchema“:ComplexContent、”http://www.w3.org/2001/XMLSchema“:Group、”http://www.w3.org/2001/XMLSchema“:All、”http://www.w3.org/2001/XMLSchema“:Choice、”http://www.w3.org/2001/XMLSchema“:Sequence、”http://www.w3.org/2001/XMLSchema“:Attribute、”http://www.w3.org/2001/XMLSchema“:AttributeGroup”、“

这是使用XML Schema 1.1增强功能的XSD文件:

<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://www.books.org"
        xmlns:pub="http://www.books.org"
        elementFormDefault="qualified">

    <complexType name="Publication" abstract="true">
        <openContent mode="interleave">
            <any />
        </openContent>
        <sequence>
            <element name="Title" type="string" />
            <element name="Author" type="string" />
            <element name="Date" type="gYear"/>
        </sequence>
    </complexType>

    <complexType name="BookPublication">
        <complexContent>
            <extension base="pub:Publication">
                <openContent mode="none">
                </openContent>
                <sequence>
                    <element name="ISBN" type="string"/>
                    <element name="Publisher" type="string"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>

    <element name="BookStore">
        <complexType>
            <sequence>
                <element name="Book" type="pub:BookPublication" maxOccurs="unbounded" />
            </sequence>
        </complexType>
    </element>

</schema>

有没有一种方法来验证这个或者升级IDEA使用的验证器?

共有1个答案

微生新翰
2023-03-14

尝试将xmlns:vc=“http://www.w3.org/2007/xmlschema-versioning”vc:minversion=“1.1”添加到 :

<schema xmlns="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://www.books.org"
        xmlns:pub="http://www.books.org"
        elementFormDefault="qualified"
        xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" 
        vc:minVersion="1.1"
>  ... </schema>

它将告知您使用的是XSD1.1模式。

我在WebStorm 8中使用了XSD1.1,我相信WebStorm 8使用了与IDEA相同的解析器。

 类似资料:
  • 问题内容: 我有工作,并为我解编和编组XML转换为Java对象,反之亦然。现在,我试图根据我们的模式(test.xsd)来验证我们的XML。假设我的XML中缺少任何必填字段,那么我想根据模式test.xsd验证XML后知道哪个字段缺失。 如何根据test.xsd模式验证XML。我的test.xsd模式路径是- C:\ workspace \一\二\三\ src \ main \ java \ co

  • null 默认情况下,IntelliJ提供Ofc Maven。我已经尝试了mvnDebug tomcat7:run命令,但是intelliJ不能解析Maven内置命令行中的mvnDebug短语。也不能使用cmd命令行,因为我找不到“home”路径,因为maven是内置的IntelliJ。也尝试使用intelli,配置远程调试,但感到困惑。在“Maven Projects”窗口中也找不到tomcat

  • 我有一个maven-module“web-app”,其打包类型为(JSF-application)。它依赖于同一个项目的另一个模块“核心”,打包类型为。这个jar包含Java类和资源(js或XHTML文件)。 现在,我在IntelliJ2016.3中使用Web-App的分解版本配置JBoss上的一个部署。但是模块“核心”也不会爆炸,所以我不能在核心的资源上执行热部署。但是:班级工作的热部署。 我已

  • 我转到设置->错误->序列化问题->没有'serial versionuid'的Serializable类,但它仍然没有显示警告。我的类PKladrBuilding父类实现了接口可序列化。 代码的一部分:

  • 您能用Intellij IDEA调试maven目标吗?我知道我可以右键单击并运行调试。但是,maven插件没有出现在我的外部库列表中,所以我不能进入代码并设置断点。因此,Debug像Run一样不停地运行目标。 我已经为https://github.com/searls/jasmine-maven-plugin编写了自定义的specRunner,但是,$specs$仍然是空的。所以我试着看看哪些文件

  • 问题内容: 我想使用RELAX NG模式来验证XML文档,并且我想使用JAXP验证API。 从谷歌搜索开始,看来我可以使用Jing和ISO RELAX JARV到JAXP Bridge了 。不幸的是,将它们都添加到我的类路径后,我无法使其正常工作。试图实例化工厂时,它只是抛出一个—我在内部查看,显然返回的是空结果。 因此,我希望能回答以下两个问题: 我该如何与Jing和这座桥一起工作? 我应该尝试