Pregunta

¿Cuál es la mejor manera de representar en java una "elección" etiqueta de espacio de nombres? es decir.

<xs:complexType name="MyType">
  <xs:sequence>
    <!-- common elements here -->
    <xs:element type="xs:string" name="name" ... />
  </xs:sequence>
  <xs:choice>
    <xs:element name="stringValue" type="xs:string"></xs:element>
    <xs:element name="intValue" type="xs:int"></xs:element>
  </xs:choice>
</xs:complexType>

¿Cómo modelar esto en Java? Estaba pensando en algo como:

public class MyType
  String name;

  String stringValue;
  int intValue;
...

pero esto no es seguro de la mejor manera, o estoy equivocado? Además, si quiero exponer servicios con Axis2 que utilizan ese tipo, ¿necesito para implementar algunas receptor de mensaje personalizado?

¿Fue útil?

Solución

Por lo general, traducimos el xsd a objetos Java con jaxb o algún otro mecanismo de unión (de los cuales tiene varios en axis2). Aquellos generar objetos exactamente como lo ha demostrado: es decir, todos los atributos de las opciones están ahí y que no se ve nada que indique que sólo uno de ellos puede estar presente. Si está traduciendo el material nuevo en XML, esto sería sólo se nota si se cambia de validación. No hay ningún problema con opciones si usted consciente de que no debe establecer simultáneamente ambas variantes en Java -. El resultado a veces puede ser incluso que ninguno de ellos lo hace en el XML generado

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top