如何根据Powershell中的嵌套XSD验证XML? 问题
如果XSD是嵌套的(包括其他XSD),则通过如何根据Powershell中的嵌套XSD验证XML? 问题,xml,powershell,xsd,onix,Xml,Powershell,Xsd,Onix,如果XSD是嵌套的(包括其他XSD),则通过testXML对XML进行XSD验证将失败 testxml“C:\Xml\Onix3sample\u refnames.Xml”-SchemaPath“C:\Xml\ONIX\u BookProduct\u 3.0\u reference.xsd” 错误结果: testxml:Type'http://ns.editeur.org/onix/3.0/reference:SourceTypeCode'未声明,或不是简单类型。 可能原因 ONIX_BookP
testXML
对XML进行XSD验证将失败
testxml“C:\Xml\Onix3sample\u refnames.Xml”-SchemaPath“C:\Xml\ONIX\u BookProduct\u 3.0\u reference.xsd”
错误结果:
testxml:Type'http://ns.editeur.org/onix/3.0/reference:SourceTypeCode'未声明,或不是简单类型。
可能原因
ONIX_BookProduct_3.0_reference.xsd
包括另外两个xsd文件
<xs:include schemaLocation="ONIX_BookProduct_CodeLists.xsd"/>
<xs:include schemaLocation="ONIX_XHTML_Subset.xsd"/>
中的注释表明XmlReader
不知道底层流的输入位置,因此无法加载include
'd子XSD。我猜:testxml
使用XmlReader
另一个用户使用了
测试文件
可根据
XML示例文件:
XSD架构文件:
问题:
由于我的.NET知识相当有限,我非常感谢Powershell解决方案能够根据嵌套的XSD模式验证ONIX XML文件——最好不必更改XSD(由于频繁更新)
PS:在记事本++/XML工具或XML记事本中验证这些文件可以正常工作