He hecho este script para pasar datos a la FTE de los participantes en un curso
Este script debe adaptarse al esquema que más abajo adjunto.
El problema es que cuando intento pasar los datos me dice que el programa no es correcto al esquema.Soy muy principiante en xml y no sé que le puede pasar.
Por favor, una ayudita.
<?
//Acá haces la conexión a la base, el query,etc.
include"conecta1.php";
echo "<?xml version='1.0' encoding='utf-8'?>";
echo "<participantes>";
$query = "SELECT * FROM alumnos2 WHERE id_alumnos BETWEEN '$id_alumnos' and '$id_alumnos1' order by id_alumnos ASC";
$resultado = mysql_query($query, $link) or die("Sin resultados.");
for($x = 0 ; $x < mysql_num_rows($resultado) ; $x++){
$fila = mysql_fetch_assoc($resultado);
$salida_xml .= "\t<participante>\n";
$salida_xml .= "\t\t<nif>" . $fila['nif'] . "</nif>\n";
$salida_xml .= "\t\t<apellido1>" . $fila['apellido1'] . "</apellido1>\n";
$salida_xml .= "\t\t<apellido2>" . $fila['apellido2'] . "</apellido2>\n";
$salida_xml .= "\t\t<nombre>" . $fila['nombre'] . "</nombre>\n";
$salida_xml .= "\t\t<niss>" . $fila['niss'] . "</niss>\n";
$salida_xml .= "\t\t<sexo>" .$fila['sexo'] . "</sexo>\n";
$salida_xml .= "\t\t<nacimiento>" .$fila['nacimiento'] . "</nacimiento>\n";
$salida_xml .= "\t</participante>\n";
}
$salida_xml .= "</participantes>";
echo $salida_xml;
$fh = fopen("archivo.xml","w"); fwrite($fh,$xml_output); fclose($fh);
?>
ESQUEMA:
<?xml version="1.0" encoding="utf-8" ?>
- <xs:schema xmlns="http://www.fundaciontripartita.es/schemas" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.fundaciontripartita.es/schemas" elementFormDefault="qualified">
- <xs:annotation>
<xs:documentation>Esquema XML para la carga masiva de participantes.</xs:documentation>
</xs:annotation>
- <xs:simpleType name="t_nif">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="collapse" />
<xs:length value="9" />
<xs:pattern value="([Xx]|[Yy]|[0-9])[0-9]{7}([a-z]|[A-Z])" />
</xs:restriction>
</xs:simpleType>
- <xs:simpleType name="sexo">
- <xs:restriction base="xs:string">
<xs:enumeration value="M" />
<xs:enumeration value="F" />
</xs:restriction>
</xs:simpleType>
- <xs:simpleType name="niss">
- <xs:restriction base="xs:string">
<xs:pattern value="\d{12}" />
</xs:restriction>
</xs:simpleType>
- <xs:simpleType name="t_fecha">
- <xs:restriction base="xs:string">
<xs:pattern value="(((0[1-9]|[12][0-9]|3[01])([-./])(0[13578]|10|12)([-./])(\d{4}))|(([0][1-9]|[12][0-9]|30)([-./])(0[469]|11)([-./])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([-./])(02)([-./])(\d{4}))|((29)(\.|-|/)(02)([-./])([02468][048]00))|((29)([-./])(02)([-./])([13579][26]00))|((29)([-./])(02)([-./])([0-9][0-9][0][48]))|((29)([-./])(02)([-./])([0-9][0-9][2468][048]))|((29)([-./])(02)([-./])([0-9][0-9][13579][26])))" />
</xs:restriction>
</xs:simpleType>
- <xs:element name="participantes">
- <xs:complexType>
- <xs:sequence maxOccurs="unbounded">
- <xs:element name="participante">
- <xs:complexType>
- <xs:sequence>
<xs:element name="D_NIF" type="t_nif" />
<xs:element name="D_APELLIDO1" type="xs:string" />
<xs:element name="D_APELLIDO2" type="xs:string" />
<xs:element name="D_NOMBRE" type="xs:string" />
<xs:element name="D_NISS" type="niss" />
<xs:element name="B_SEXO" type="sexo" />
<xs:element name="F_NACIMIENTO" type="t_fecha" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>