XML IntelliJ 无法识别模式唯一约束

XML Schema unique constraint not recognised in IntelliJ

在尝试了很多方法以通过唯一约束在 IntelliJ 中获取错误后,我开始怀疑 IntelliJ 是否能够识别它。

我尝试的最后一个模式来自这个 post Unique constraint in XML Schema

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://www.brabantia.com/XMLSchema/ESBConfig"
        xmlns:tns="http://www.brabantia.com/XMLSchema/ESBConfig"
        elementFormDefault="qualified">
    <element name="authors">
        <complexType>
            <sequence>
                <element name="author" maxOccurs="unbounded" type="string"/>
            </sequence>
        </complexType>
        <unique name="uniqueAuthor">
            <selector xpath="author"/>
            <field xpath="."/>
        </unique>
    </element>
</schema>

我用它来生成 IntelliJ 的 XML。

<?xml version="1.0" encoding="UTF-8"?>
<esb:authors xmlns:esb="http://www.brabantia.com/XMLSchema/ESBConfig">
  <!--1 or more repetitions:-->
  <esb:author>string</esb:author>
  <esb:author>string</esb:author>
  <esb:author>string</esb:author>
</esb:authors>

应该会显示错误,但实际上并没有。

Generate Instance Document From Schema 向导中我检查了 Enable restriction checkEnable unique check

所有其他检查都有效,例如枚举和模式。

有人能告诉我这是模式中的东西还是 IntellJ 根本不支持的东西吗?

添加xmlns:esb="http://www.brabantia.com/XMLSchema/ESBConfig"并更改为<selector xpath="esb:author"/> in your schema:

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://www.brabantia.com/XMLSchema/ESBConfig"
        xmlns:esb="http://www.brabantia.com/XMLSchema/ESBConfig"
        elementFormDefault="qualified">
    <element name="authors">
        <complexType>
            <sequence>
                <element name="author" maxOccurs="unbounded" type="string"/>
            </sequence>
        </complexType>
        <unique name="uniqueAuthor">
            <selector xpath="esb:author"/>
            <field xpath="."/>
        </unique>
    </element>
</schema>

结果: