PHPでXSDを使用してXMLファイルを検証しようとしていますDOMDocument
. このtranslation
要素は XML に表示されてはなりませんがschemaValidate
、エラーは返されません。別の検証ツールを使用して検証をテストしたところ、エラーが返されました。schemaValidate
が不正な XML を検証する理由がわかりません。
XSDの一部
<xs:complexType name="CV">
<xs:complexContent>
<xs:restriction base="CE">
<xs:sequence>
<xs:element name="originalText" type="ED" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>
The text or phrase used as the basis for the coding.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="translation" type="CD" minOccurs="0" maxOccurs="0"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
私のXML
<?xml version="1.0"?>
<CV><translation/></CV>
私のコード
$dom = new DOMDocument("1.0","UTF-8");
$dom->loadXML("<?xml version=\"1.0\"?>
<CV><translation></translation></CV>");
echo $dom->schemaValidate("TestClasses.xsd");
完全な XSD TestClasses.xsdの場合
お手伝いありがとうございます。