XSD中引用其他XSD文件应据命名空间是否相同选择include或import:同命名空间用include(无namespace属性,类型直用);不同命名空间用import(必设namespace属性,引用需带前缀)。
在XSD中引用另一个XSD文件,主要靠 import 和 include 两种机制,选哪个取决于目标XSD是否属于**不同命名空间**。
当你要引用的XSD定义了独立的命名空间(即它有 targetNamespace,且和当前XSD不一致),必须用 。
namespace 属性,值为被引用XSD的 targetNamespace
schemaLocation 指定物理路径(非强制,但推荐)示例:
间的XSD如果另一个XSD和当前XSD共用同一个 targetNamespace(或都未声明),就用 —— 它相当于把内容“粘贴”进来,类型可直接使用,无需前缀。
namespace 属性(会报错)schemaLocation 指向同命名空间下的模块文件示例:
import 后,若要使用被引用XSD中的类型,必须在根元素声明对应命名空间前缀,例如:
namespace 属性 → 校验工具报错基本上就这些。关键是看命名空间是否一致——一致用 include,不一致用 import。