Hola, mi problema es que al crear un archivo xml a partir de un xsd, solo me crea el 1º elemento de dicho esquema. Hay van los codigos:
El principio del XSD:
Código:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://gencat.net/scsp/esquemes/peticion"
elementFormDefault="qualified" attributeFormDefault="unqualified"
id="Peticio" xmlns:p="http://gencat.net/scsp/esquemes/peticion">
<xs:element name="Apellido1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Apellido2">
<xs:simpleType>
.......................................
El XML que responde:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<p:Apellido1 xmlns:p="http://gencaton" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://gencat.net/scsp/esquemes/peticion Peticio.xsd ">
</p:Apellido1>
Y el codigo Java que lo genera:
Código:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
factory.setValidating(true);
try{ factory.setAttribute(JAXP_SCHEMA_LANGUAGE,W3C_XML_SCHEMA);
}catch(Exception e){
logger.error("Error en el JAXP Lengauje");
e.printStackTrace();}
try{
factory.setAttribute(JAXP_SCHEMA_SOURCE, new File(MY_SCHEMA));
}catch(Exception e){
logger.error("Error en el JAXP Source");
e.printStackTrace();}
DocumentBuilder documentBuilder =factory.newDocumentBuilder();
documentBuilder.setErrorHandler(new SimpleDOMHandler());
Document parse = documentBuilder.parse(new File(MY_XML));
return parse;
Donde las variables en mayusculas son rutas, tanto de ficheros como de urls.
Como hago para que se genere el xml con todos los campos que aparecen en el xsd????
Gracias !