Generar clases a partir de XSD en NetBeans
En el presente tutorial veremos como podemos generar las clases requeridas por esquema XSD, como sabes un archivo .xsd define las reglas que se deben cumplir para que un documento XML sea válido, por ejemplo, el orden de los elementos, los tipos y patrones de los mismos, entre otras cosas, lo que haremos será tomar este archivo he indicarle a NetBeans que genere las clases apropiadas para el mismo.
Nuestro archivo de ejemplo: test.xsd
<?xml version="1.0" ?>
<xs:schema version="1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="person" type="PersonType" />
<xs:simpleType name="GenderType">
<xs:restriction base="xs:string">
<xs:length value="1" />
<xs:enumeration value="F" />
<xs:enumeration value="M" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="PersonType">
<xs:sequence>
<xs:element name="id" type="xs:string" />
<xs:element name="name" type="xs:string" />
<xs:element name="age" type="xs:string" />
<xs:element name="gender" type="GenderType" />
</xs:sequence>
</xs:complexType>
</xs:schema>
Para agregarlo a nuestro proyecto NetBeans 8.2 damos clic derecho sobre el mismo, seleccionaremos la opción New | Other…
En la sección XML seleccionamos JAXB Binding de la siguiente manera:
En la siguiente ventana debemos darle un nombre al binding e indicar la ubicación del archivo xsd, puede estar el nuestro sistema local o en un sitio remoto, las demás opciones son de configuración.
En el campo Package Name indicamos el paquete que deseemos usar para guardar las clases generadas, al terminar presionamos Finish y luego Clean and Build para generar las clases, al finalizar tendremos esto:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PersonType", propOrder = {
"id",
"name",
"age",
"gender"
})
public class PersonType {
@XmlElement(required = true)
protected String id;
@XmlElement(required = true)
protected String name;
@XmlElement(required = true)
protected String age;
@XmlElement(required = true)
protected GenderType gender;
//getter y setter omitidos...
}
Solucionar problema de codificación UTF-8
Si al tratar de generar las respectivas clases se genera el siguiente error:
error: unmappable character for encoding UTF-8
Para solucionarlo debes cambiar la codificación del proyecto, para hacerlo debes hacer clic derecho sobre el proyecto y seleccionar Properties, en la ventana que aparece ubica la categoría Source y cambia la codificación a windows-1250, de este modo:
Comentarios
Publicar un comentario