- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
的文档 required 说:
If
required()
istrue
, then Javabean property is mapped to an XML schema element declaration withminOccurs="1"
.maxOccurs
is"1"
for a single valued property and"unbounded"
for a multivalued property.If
required()
isfalse
, then the Javabean property is mapped to XML Schema element declaration withminOccurs="0"
.maxOccurs
is"1"
for a single valued property and"unbounded"
for a multivalued property.
的文档 nillable 说:
If
nillable()
istrue
, then the JavaBean property is mapped to a XML Schemanillable
element declaration.
xs:complexType
的代码:
public class WSData {
//...
@XmlElement(required = true, nillable = false)
public void setMonth(XmlMonthType month) {
this.month = month;
}
public void setUserLogin(String userLogin) {
this.userLogin = userLogin;
}
}
xs:simpleType
的代码:
@XmlType
@XmlEnum(Integer.class)
public enum XmlMonthType {
@XmlEnumValue("1")
JANUARY,
@XmlEnumValue("2")
FEBRUARY,
@XmlEnumValue("3")
MARCH,
/* ... months 4 ~9 ... */
@XmlEnumValue("10")
OCTOBER,
@XmlEnumValue("11")
NOVEMBER,
@XmlEnumValue("12")
DECEMBER;
}
生成的 XML 架构:
<xs:complexType name="wsData">
<xs:sequence>
<xs:element name="month" type="xs:string"/>
<xs:element minOccurs="0" name="userLogin" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="xmlMonthType">
<xs:restriction base="xs:int">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<!-- ... months 4 ~9 ... -->
<xs:enumeration value="10"/>
<xs:enumeration value="11"/>
<xs:enumeration value="12"/>
</xs:restriction>
</xs:simpleType>
问题:
我没想到会出现这些问题,我是不是漏掉了什么?
如果该行为是正确的, required 的目的是什么? , nillable 和 xs:restriction ?
最佳答案
Nillable 允许空值。例如,如果您有一个整数或一个日期,如果它可以为空,则 XML 标记可以为空。如果它不是可空的但不是必需的,则 XML 元素要么必须存在且内容有效,要么根本不存在;空标签无效。
关于java - minOccurs、nillable 和 restriction 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9111936/
我有以下架构:(摘录)
我正在构建我的 svcutil 命令行以从 OSEO schema 生成业务对象. 每当它告诉我缺少“xxx”类型时,我都会确定我需要将什么 xsd 添加到命令行并添加它。到目前为止,我的命令行如下所
这个问题已经有答案了: XML Schema minOccurs / maxOccurs default values (3 个回答) 已关闭 3 年前。 当我们在 WSDL 声明中不声明任何 min
我正在使用 Apache CXF 进行 Web 服务开发。我们写好了Java代码,WSDL会由CXF引擎自动生成 我有一个名为 xmlMessage 的 String 必须将 minoccurs 设置
我使用的是apache cxf 3.1.8,wsdl是由cxf引擎自动生成的。我想为字段 ProductId 设置 minOccurs 和 maxOccurs,如下所示: 预计: 实际: 换句话
当我运行我的代码时,它给了我这个错误 [ s4s-att-not-allowed: Attribute 'maxOccurs' cannot appear in element 'element'.]
在下面的这个例子中,
鉴于此 XML 模式片段: 预期结果有效元素可能包含 0 个或多个 元
我们将 CXF 框架与 aegis 映射器一起用于 java 服务器和 .NET 客户端。默认情况下,WSDL 类中的所有变量的 minOccurs=0。我们在 CXF 配置中使用这样的设置来防止它:
我有一个 XML 架构: 我有一条 XML 消息: Fred 我使用 JAXB 自动生成我的类(即 Person.java 等)。 因此,在运行时
我想知道 XML 模式规范如何处理这些情况: 没有给出 maxOccurs -> 这是基数 [1..1] 吗? 我想这简直是无效的? 这是基数 [0..2] 还是 [1..2]? 是否有关于 X
我有一个简单的架构,我将 minOccurs 和 maxOccurs 都声明为 1。当我运行 XSD.exe 以生成 C# 类并在代码中使用该类时;该字段未强制执行。是否缺少一些额外的步骤?还是使用
我无法理解以下 XML 模式的行为: 我预计这两个元素中
我正在构建一个 ASP.NET Web 服务。 我的代码定义如下,但我不知道如何通过 wsdl 指定 FirstName 和 LastName 属性的 minOccurs。我要那些按要求,不能为空。是
我正在使用 svcutil 从 Web 服务生成客户端代理。WSDL 包含属性 minOccurs 设置为 0 的元素 然而,生成的 DataContract 完全忽略了这个属性,只是创建了一个没有
我正在尝试使用 EclipseLink MOXy 2.1.2 和 Java 1.6 生成基于我的域类的模式,遵循以下示例:http://wiki.eclipse.org/EclipseLink/Exa
我遇到了一个遗留的 XSD,它有一堆像...... ...其中 minOccurs 和 maxOccurrs 都等于 1,并且有一个默认值。由于 XML 文档无论如何都需要包含一些值,因
如何使用 XSOM 解析器从元素中获取 minOccurs 属性?我看过这个获取与复杂类型相关的属性的示例: private void getAttributes(XSComplexType xsCo
所以我想要一个像下面这样用@XmlElements 注释的列表 @XmlElements( { @XmlElement(name = "Apple", type
我正在为 Web 服务的客户端编写代码。在 Web 服务定义文件中,定义了“minOccurs”和默认值。我如何访问这些 minOccurs 和默认值? 在 WSDL 文件中,元素定义如下: 其中 o
我是一名优秀的程序员,十分优秀!