XML 命名空间和 XML 任务



我有一个XML文件,它有一个带有XSD的名称空间,定义为:

<RootElement xmlns:xsd="http://www.w3.org/xyz" xmlns:xsi="http://www.w3.org/xyz/XMLSchema-instance">

从供应商接收XML,在继续处理之前,我必须执行模式检查。模式检查是用SSIS中的XML Task组件完成的。在XML Task中,我定义了XML文件的位置,以及XSD的位置。

如果XSD的本地版本与XML名称空间中通过xmlns:xsd="http://www.w3.org/xyz"引用的版本不同,SSISXML Task是否会因为这种差异而导致模式检查失败?换句话说,哪一个有优先检查权;是本地XSD文件,还是名称空间URI中包含的文件?

SSISXML源适配器没有对XSD进行任何验证。

  1. SSIS使用自己的本地XSD文件来描述结构、数据类型,以及它们到输入XML的SSIS数据类型的映射。
  2. 输入XML文件中引用的XSD文件具有完全不同的角色。SSIS XML源适配器没有使用它。

SSIS XML源适配器用于将分层XML分解为矩形/关系格式。适配器需要自己的XSD文件。

SSIS XML任务,操作Validation,将使用作为任务参数提供的XSD文件。它应该是文件系统上的XSD文件。SSIS运行时服务器不必通过HTTP协议访问Internet。实际的名称空间值只是为了惟一性。还有一个附加的可选模式位置属性用于指定XSD位置:xsi:schemaLocation="whatever.xsd"

相关内容

  • 没有找到相关文章

最新更新