代码之家  ›  专栏  ›  技术社区  ›  Pops Atula

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

  •  173
  • Pops Atula  · 技术社区  · 15 年前

    有什么区别吗 xsd:include xsd:import ?你什么时候用一个代替另一个,什么时候不重要?

    6 回复  |  直到 7 年前
        1
  •  179
  •   tony19 thanksd    8 年前

    两者的根本区别 include import 是你必须用的吗 进口 引用 不同的 目标命名空间,必须使用 包括 指在 相同的 目标命名空间。

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

        2
  •  46
  •   kjhughes    10 年前

    使用 xsd:include 相同的 或者没有命名空间。

    使用 xsd:import 不同的 命名空间。

        3
  •  16
  •   Zombies    10 年前

    另一个区别是 <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"/>
    

    无效:

    <xsd:include namespace="some/name/space"/>
    
        4
  •  8
  •   Matt Luongo    15 年前

    我也对这个感兴趣。我找到的唯一解释是 xsd:include 用于命名空间内包含,而 xsd:import 用于命名空间间包含。

        5
  •  -1
  •   S Meaden    7 年前

    直接引述自 MSDN: <xsd:import> Element, Remarks section

    两者之间的区别 包括 元素和 进口 要素是 进口 元素允许从具有不同目标命名空间和 包括 元素将具有相同目标命名空间(或没有指定目标命名空间)的其他架构文档中的架构组件添加到包含架构中。简而言之, 进口 元素允许您使用来自任何架构的架构组件;该 包括 元素允许您将包含架构的所有组件添加到包含架构中。

        6
  •  -2
  •   Shailej Shimpi    8 年前

    use xsd:include将外部架构文档的所有声明和定义引入当前架构。

    使用xsd:import从其他命名空间引入xsd,并通过扩展现有架构文档来构建新架构。