xsd:include和xsd:import之间有什么区别?

Pop*_*ops 188 xml xsd

xsd:include和之间有什么区别xsd:import?你何时会使用一个而不是另一个,什么时候可能没关系?

Ser*_*rov 195

include和之间的根本区别在于import,您必须使用它import来引用位于不同目标命名空间中的声明或定义,并且必须使用它include来引用(或将在)同一目标命名空间中的声明或定义.

来源:https://web.archive.org/web/20070804031046/http://xsd.stylusstudio.com/2002Jun/post08016.htm


kjh*_*hes 52

使用xsd:include相同或无命名空间引入XSD .

使用xsd:import不同的命名空间引入XSD .


Zom*_*ies 19

另一个区别是<import>允许通过引用另一个名称空间进行导入.<include>仅允许通过引用预期包含模式的URI进行导入.这绝对是内部命名空间导入的另一个区别.

例如,xml模式验证器可能已经知道了命名空间所有模式的位置.特别是考虑到通过URI引用XML命名空间可能在不同的系统上存在问题,其中classpath://表示什么都没有,或者不允许使用http://,或者某些URI没有指向与它相同的东西另一个系统.

有效和无效导入的代码示例,包括:

有效:

<xsd:import namespace="some/name/space"/>
<xsd:import schemaLocation="classpath://mine.xsd"/>

<xsd:include schemaLocation="classpath://mine.xsd"/>
Run Code Online (Sandbox Code Playgroud)

无效:

<xsd:include namespace="some/name/space"/>
Run Code Online (Sandbox Code Playgroud)


Mat*_*ngo 7

我也对此感兴趣.我发现的唯一解释xsd:include是用于命名空间内包含,而xsd:import用于命名空间包含.