如何根据Powershell中的嵌套XSD验证XML? 问题

如何根据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

如果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_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记事本中验证这些文件可以正常工作