JBA*_*JBA 1 xml import schema xsd namespaces
HY,
如果我导入这样的命名空间:
<xs:import namespace="UniqueIRIstyleNameSpaceName" schemaLocation="mySchema.xsd"></xs:import>
Run Code Online (Sandbox Code Playgroud)
我知道mySchema.xsd创建了一个targetNamespace ="UniqueIRIstyleNameSpaceName".现在,如果我去:http://www.w3schools.com/schema/el_import.asp并读取绑定到'xs'的命名空间中定义的'import'元素的相应API,它表示属性'namespace'是可选的.
现在这里是问题:
必须这样导入的属性'namespace'的值始终与相应模式(.xsd)中'targetNamespace'的值相同?
如果是这样的话:根本不完全放弃"命名空间"属性会更容易吗?
如果不是:...我陷入了深深的麻烦,因为我似乎没有完全理解命名空间概念,并且真的会对几个关键字感兴趣,在那里查找信息以关闭泄漏:)
我问这个是因为我目前正在使用XML/XSD,这是我职业生涯的第5次,并且从未在另一个版本中看到它,但是'namespace'属性总是在那里并且在相应的模式中匹配'targetNamespace'的值.
非常感谢提前和问候
JBA
必须这样导入的属性'namespace'的值始终与相应模式(.xsd)中'targetNamespace'的值相同?
是的,一点没错.您无法重新定义导入架构的目标命名空间!
这确实是可能的,但<xs:include>只有当包含的模式没有目标名称空间时才使用.这种技术被称为"变色龙设计".
如果是这样的话:根本不完全放弃"命名空间"属性会更容易吗?
不应该.省略namespace属性的唯一情况是导入的模式没有目标名称空间.也就是说,它的目标命名空间是全局命名空间.
在<xs:import>该namespace属性是主之一.指定导入的命名空间可能足以使架构处理器导入必要的架构.这schemaLocation是一个暗示在哪里找到它.
| 归档时间: |
|
| 查看次数: |
6498 次 |
| 最近记录: |