【发布时间】:2010-12-25 09:54:15
【问题描述】:
创建如下内容意味着什么?
<xsd:simpleType name="myField">
<xsd:restriction base="xsd:boolean"/>
</xsd:simpleType>
请注意,限制内没有实际元素(没有最小或最大长度,没有枚举等)。我感觉这基本上是把myField的类型设置为xsd:boolean。
但是,我的 wsdl 中有以下两项:
(上面的例子)
和
<xsd:element name="myOtherField" type="xsd:boolean"/>
当使用 JaxRPC 或 Apache Axis(转换为 java 对象骨架)时,第一个被转换为布尔值(对象),而后一个示例被转换为布尔值(原始)。这告诉我发布的第一个示例以某种方式表示该元素是可选的,但我不明白如何。
我同意第二个例子应该变成原语,但为什么第一个例子是布尔值?
更新:使第二个节点名称通用
【问题讨论】:
-
Silver Phoenix 提供了有关 xsd:element 为何扩展为原语的更多详细信息。剩下要回答的唯一问题是一些文档说指定的“simpleType”或“restriction”类型是隐式可选的。我了解到它们没有 minoccurs 或 maxoccurs 属性,所以我只需要找到一个文档点,这些站点默认情况下是可选的。
标签: xml schema restriction