我已经弄清楚如何使用 PHP 中的 XSD 架构使用此代码来验证 XML 文件,但似乎处理是使用 XSD 版本 1.0 完成的。
$dom = new DOMDocument();
$dom->loadXML($xmlString);
$isValid = $dom->schemaValidate($xsdFile);
对于我的情况,我需要将 XSD 文件视为版本 1.1。这样做的主要原因是我想使用:
<xs:all>
<xs:element type="xs:string" name="br" minOccurs="0" maxOccurs="unbounded"/>
<xs:element type="linkType" name="link" minOccurs="0" maxOccurs="unbounded"/>
</xs:all>
注意 maxOccurs="unbounded"
只能在<xs:all>
内使用与版本1.1。在版本 1.0 中,maxOccurs
只能是0或1。
PHP 因一般错误而失败:
Warning: DOMDocument::schemaValidate(): Invalid Schema
最佳答案
DOMDocument::schemaValidate 使用 Libxml。 Libxml 不支持 XSD 1.1。
关于php - PHP 中的 XSD 架构 1.1 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43676069/