xsd:include和之间有什么区别xsd:import?你何时会使用一个而不是另一个,什么时候可能没关系?
Ser*_*rov 195
include和之间的根本区别在于import,您必须使用它import来引用位于不同目标命名空间中的声明或定义,并且必须使用它include来引用(或将在)同一目标命名空间中的声明或定义.
来源:https://web.archive.org/web/20070804031046/http://xsd.stylusstudio.com/2002Jun/post08016.htm
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)