XSDのkeyref検証に問題があり、簡単に実行する必要があります。ここで は私のXMLです:XSD妥当性チェックのkeyref値が見つかりません
<Configuration>
<Dependencies>
<Dependency name="python"></Dependency>
</Dependencies>
<Plugins>
<Plugin>
<Dependencies>
<Dependency name="python"></Dependency>
</Dependencies>
</Plugin>
</Plugins>
</Configuration>
そして今、私のスキーマ(構成要素で下さいないkey.keyrefペア):
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Configuration">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="Dependencies" type="DependenciesType"></xs:element>
<xs:element name="Plugins">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="Plugin" type="PluginType" minOccurs="1" maxOccurs="unbounded"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="kDependency">
<xs:selector xpath="./Dependencies/Dependency"></xs:selector>
<xs:field xpath="@name"></xs:field>
</xs:key>
<xs:keyref name="krPluginDependency" refer="kDependency">
<xs:selector xpath="./Plugins/Plugin/Dependencies/Dependency"></xs:selector>
<xs:field xpath="@name"></xs:field>
</xs:keyref>
</xs:element>
<!-- Now the Dependencies types -->
<xs:complexType name="DependenciesType">
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="Dependency" type="DependencyType"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DependencyType">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
<!-- And the plugin type -->
<xs:complexType name="PluginType">
<xs:sequence>
<xs:element name="Dependencies" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="Dependency" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="name"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
プラグインの依存関係名は、設定を参照するために持っている名前を依存関係。私はここでチュートリアルに従い、私がばかでないかどうかを確認しました(http://zvon.org/xxl/XMLSchemaTutorial/Output/ser_keys_st5.html)。私は自分のXPath式をチェックして、彼らは良いです(https://www.freeformatter.com/xpath-tester.html)。
私は私のXMLファイルを検証しよう:値「のpython」と
キー「krPluginDependencyが」要素「構成」のアイデンティティ制約が見つかりません。
どこが問題かわかりません。
問題を再現しようとしましたが、XMLファイルでoXygen 19のスキーマが正常に検証されました。エラーが発生したときに使用したツール/パーサーの詳細を追加したい場合があります。 –
私はこれ(https://www.freeformatter.com/xml-validator-xsd.html)やこれ(http://www.utilities-online.info/xsdvalidation/)のようなオンラインのバリデータを使用しましたが、いくつかのオンラインツールはJAXBエンジンによって動力を与えられていますが、実際にはいくつかの主要な例がサポートされていません。私はPythonでlxmlを試してみます。 – CloudCompany