2010-05-26 12 views
9

¿Existe alguna manera fácil de crear al menos un archivo XML de plantilla mediante XML Schema? Mi principal interés está limitado por C++, pero las discusiones de otros lenguajes de programación también son bienvenidas. Por cierto, también uso el marco de QT.Generación de documentos XML a partir de esquemas XML en C++

+1

http://stackoverflow.com/questions/307616/xml-instance-generation-from-xml-schema-xsd –

Respuesta

4

Usted puede tener que escribir esto por sí mismo. No hay una sola forma de obtener un archivo XML de un esquema. Si puede hacer suposiciones específicas de dominio (por ejemplo, cómo rellenar elementos de datos, qué elementos elegir en caso de una elección, con qué frecuencia insertar elementos específicos de dominio), entonces obtendrá un mejor documento de instancia.

Si está trabajando con C++, tenga en cuenta que Xerces C++ le permite cargar un esquema y acceder a su modelo (es decir, acceder correctamente, no solo cargar el esquema como un documento XML). Te sugiero que lo descargues, echa un vistazo al SCMPrint Sample. Le mostrará cómo atravesar un esquema. A continuación, puede modificar eso para imprimir un archivo XML de muestra.

-1

En Qt 4.5 el soporte de XML se ha extendido por una implementación de XSLT, que le permite convertir fácilmente documentos de un dialecto XML en otro o la generación de código fuente de una descripción XML

W3C XML Schema validation with Qt

Ejemplo:

#include <QtXmlPatterns/QXmlSchema> 
    #include <QtXmlPatterns/QXmlSchemaValidator> 

    QXmlSchema schema; 
    schema.load(QUrl("file:///home/jordenysp/example.xsd")); 

    if (schema.isValid()) { 
     QXmlSchemaValidator validator(schema); 
     if (validator.validate(QUrl("file:///home/jordenysp/result.xml"))) { 
      qDebug() < < "Is valid"; 
     } else { 
      qDebug() << "Is invalid"; 
     } 
    } else { 
     qDebug() << "Is invalid"; 
    } 
+0

Su ejemplo es un ejemplo de validación, no una transformación de XML. – metdos

Cuestiones relacionadas