Foros del Web » Programando para Internet » PHP »

Validar XML generado con PHP

Estas en el tema de Validar XML generado con PHP en el foro de PHP en Foros del Web. Buenas! Estoy generando una serie de archivos XML. Éstos están bien formados (Es decir, no tienen tags mal cerrados, etc). Pero a la hora de ...
  #1 (permalink)  
Antiguo 15/05/2013, 07:32
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 7 años, 10 meses
Puntos: 33
Validar XML generado con PHP

Buenas!

Estoy generando una serie de archivos XML. Éstos están bien formados (Es decir, no tienen tags mal cerrados, etc).

Pero a la hora de validar con un validador online (feedvalidator), me dice:

Undefined root element

Por lo que he deducido que le tenía que pasar un esquema de cómo está estrucutrado mi XML... así que he investigado un poco y he generado un esquema XML (que he modificado un poco para adaptarlo mejor a la estructura "real" del XML).

Ahora bien, una vez tengo el esquema guardado como XSD intento anclarlo a mi XML, de la siguiente manera:

Código PHP:
Ver original
  1. <?php
  2. function mifuncion(){
  3.   return '<?xml version="1.0" encoding="utf-8"?><Document xmlns="http://paginaweb.com/miesquema.xsd">';
  4. }
  5. ?>

Pero a la hora de validar me sigue dando error, por lo que creo que algo estoy pasando por alto...

¿Estoy anclando bien el esquema? El tag "Document" es el root (el primer tag que se abre).

Saludos y gracias.
  #2 (permalink)  
Antiguo 15/05/2013, 08:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 10 meses
Puntos: 2534
Respuesta: Validar XML generado con PHP

No se que tipo de problema tengas con PHP ya que es bastante obvio que deberías estudiar bien la especificación de XML antes de intentar siquiera generarla.

No hay código PHP que te solucione el problema, sencillamente porque con PHP únicamente escribes el XML pero si el XML que escribes no es válido entonces no es responsabilidad de PHP.

¿O me equivoco?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/05/2013, 09:08
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.596
Antigüedad: 17 años, 10 meses
Puntos: 1279
Respuesta: Validar XML generado con PHP

Hola:

En los xml debes poner la cabecera adecuada: header(...).

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 15/05/2013, 13:18
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 7 años, 10 meses
Puntos: 33
Respuesta: Validar XML generado con PHP

Hola,

@pateketrueke: razón llevas. Con PHP genero el XML, y la integridad de éste es cosa de cómo lo estructure. El tema está en que no sabía donde ubicar este tema, y como lo genero con PHP, pues...

El tema de estudiar la estructura XML he estado media mañana mirando cómo hacerlo (inclusive he mirado cómo hacer el esquema XSD), pero no he encontrado gran cosa acerca de cómo "anclar" el XSD al XML... según he visto se hace con el atributo "xmlns" (xml name space, supongo); pero es obvio que me estoy dejando algo (de otro modo funcionaría, ya que evaluando ambos archivos con el validador de la W3C me da ok), y no se el que... ¿podrías ayudarme?

@caricatos: este es un tema que también he mirado... en principio el XML que genero se guarda en un fichero ".xml", por lo que no se si tengo que poner el header...

Gracias a ambos por responder.

Etiquetas: xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:58.