我簡化的 xsd/xml 如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" vc:minVersion="1.1">
<xs:element name="modal" />
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<modal xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../src/customElements/modal.xsd" />
我xmlschema在 python 中使用,得到以下輸出/錯誤:
>>> import xmlschema
>>> schema = xmlschema.XMLSchema('src/customElements/modal.xsd')
>>> schema.is_valid('dist/modal.xml')
False
>>> schema.validate('dist/modal.xml')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\ProgramFilesFolder\Python\lib\site-packages\xmlschema\validators\schemas.py", line 1704, in validate
raise error
xmlschema.validators.exceptions.XMLSchemaValidationError: failed validating <Element 'modal' at 0x00000264CD9D33D0> with XMLSchema10(name='modal.xsd', namespace=''):
Reason: <Element 'modal' at 0x00000264CD9D33D0> is not an element of the schema
Instance:
<modal xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../src/customElements/modal.xsd" />
Path: /modal
>>>
在app檔案夾內,app目錄如下所示:
app
│
├───dist
│ modal.xml
│
├───src
│ ├───customElements
│ │ modal.xsd
uj5u.com熱心網友回復:
vc:minVersion="1.1"如果處理器支持的 XSD 版本大于或等于您的vc:minVersion(在本例中為 1.1),則該錯誤與檔案路徑無關,而是與您的 xmlschema 中的當前成功有關。在您的情況下,它失敗了,因為默認xmlschema只保證 XSD 1.0 支持:要解決您的問題,您必須schema = xmlschema.XMLSchema('src/customElements/modal.xsd') 用新行顯式替換,schema = xmlschema.XMLSchema11('src/customElements/modal.xsd')使程式的其他行保持不變。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/521269.html
