tengo que generar un archivo XML con la siguiente estructura
Código:
Por lo que veo, corregidme si me equvoco, <Empleado> es el nombre de la BD, <persona>es una tabla, conde el resto son cada uno de los campos, <direccion_correspondencia> otra tabla, al igual que <direccion_fiscal>.<Empleado> - <persona><tipo_documento>?</tipo_documento> <nif>?</nif> <apellidos>?</apellidos> <nombre>?</nombre> <f_nacimiento>?</f_nacimiento> <lugar_nacimiento>?</lugar_nacimiento> <cod_provincia_nacimiento>?</cod_provincia_nacimiento> <desc_provincia_nacimiento>?</desc_provincia_nacimiento> <cod_pais_nacimiento>?</cod_pais_nacimiento> <cod_sexo>?</cod_sexo>- <direccion_correspondencia><cod_tipo_via>?</cod_tipo_via> <nom_via>?</nom_via> <cod_postal>?</cod_postal> <poblacion>?</poblacion> <cod_municipio>?</cod_municipio> <cod_provincia>?</cod_provincia> <cod_pais>?</cod_pais> </direccion_correspondencia>- <direccion_fiscal><cod_tipo_via>?</cod_tipo_via> <nom_via>?</nom_via> <cod_postal>?</cod_postal
El problema, es que yo tengo esos datos definidos en una única tabla persona, es decr los datos propios de persona + los de direcc de correspondecia y fiscal para cada persona. Todo ello en la tabla persona. Por tanto el XML a generar ya va a tener una estructura diferente a la solicitada. ¿Cómo se puede solucionar esto?
Además hay un documento XSD que define la estructura y contenido del mensaje XML. Cómo aplico este fichero de intercambio, en dónde?
Código:
Así que las preguntas son, cómo genero el XML para que de una sola tabla tal y como lo tengo en la BD saque la estructura en el formato que me piden y cómo aplico ese XSD donde se define la estructura y contenido del mensaje XML?<xs:complexType name="Persona"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="tipo_documento" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="nif" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="apellidos" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="nombre" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="f_nacimiento" nillable="true" type="xs:dateTime" /> <xs:element minOccurs="0" maxOccurs="1" name="lugar_nacimiento" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="cod_provincia_nacimiento" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="desc_provincia_nacimiento" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="cod_pais_nacimiento" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="cod_sexo" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="direccion_correspondencia" type="tns:Direccion" /> <xs:element minOccurs="0" maxOccurs="1" name="direccion_fiscal" type="tns:Direccion" /> <xs:element minOccurs="0" maxOccurs="1" name="telefono_particular" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="telefono_profesional" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="telefono_movil_1" type="xs:string" <xs:element minOccurs="0" maxOccurs="1" name="telefono_movil_2" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="fax" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="email" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="url" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="cuenta_banco" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="Direccion"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="cod_tipo_via" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="nom_via" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="cod_postal" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="poblacion" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="cod_municipio" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="cod_provincia" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="desc_provincia" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="cod_pais" type="xs:string" /> </xs:sequence> </xs:complexType>
Espero que se haya entendido.
Gracias, un saludo.