作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有一个没有指定命名空间的 XSD。
然后我将它导入另一个模式(B.xsd),该模式的命名空间指定为“targetnamespace='my-name-space'”
<import schemalocation="A.xsd"/>
<element name="AuthenticationRequest" type="AuthenticationRequest"/>
最佳答案
这个想法是type
属性是一个 QName,这意味着它对前缀绑定(bind)很敏感。
如果导入的模式没有命名空间(这里似乎就是这种情况),则 type
的值属性应该是无前缀的。但是,由于在模式片段中似乎定义了默认 namespace 并且与 XML 模式 namespace ( http://www.w3.org/2001/XMLSchema
) 相同,因此引擎尝试查找名为 AuthenticationRequest
的类型。在 XML 架构命名空间中。这可以通过将 XML Schema 命名空间绑定(bind)到前缀来解决,通常是 xs
或 xsd
,而不是将其设为默认值。
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
...
>
<xs:import schemalocation="A.xsd"/>
<xs:element name="AuthenticationRequest" type="AuthenticationRequest"/>
</xs:schema>
imported
type
的值带有此前缀的属性,如下所示:<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:imported="http://www.example.com/imported"
...
>
<xs:import schemalocation="A.xsd" namespace="http://www.example.com/imported"/>
<xs:element name="AuthenticationRequest" type="imported:AuthenticationRequest"/>
</xs:schema>
type
的值(value)属性仍然需要正确定义,即:
关于XML 架构 : how to reference a type from a no namespace XSD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45747199/
我是一名优秀的程序员,十分优秀!