El principio del XSD:
Código:
El XML que responde:<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> .......................................
Código:
Y el codigo Java que lo genera:<?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>
Código:
Donde las variables en mayusculas son rutas, tanto de ficheros como de urls.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;
Como hago para que se genere el xml con todos los campos que aparecen en el xsd????
Gracias !