Articulo de referencia

CodeSynthesis XSD

CodeSynthesis XSD es un compilador de enlace de datos XML para C++ desarrollado por Code Synthesis y con doble licencia : GNU GPL y una licencia propietaria. A partir de una esp...

CodeSynthesis XSD es un compilador de enlace de datos XML para C++ desarrollado por Code Synthesis y con doble licencia : GNU GPL y una licencia propietaria. A partir de una especificación de instancia XML ( esquema XML ), genera clases C++ que representan el vocabulario dado, así como código de análisis y serialización. Es compatible con una gran cantidad de plataformas, incluyendo AIX , Linux , HP-UX , OS X , Solaris , Windows , OpenVMS y z/OS . Los compiladores C++ compatibles incluyen GNU G++ , Intel C++ , HP aCC , Solaris Studio C++ , IBM XL C++ y Microsoft Visual C++ . También está disponible una versión para sistemas móviles y embebidos, denominada CodeSynthesis XSD/e .

Una de las características únicas de CodeSynthesis XSD es su compatibilidad con dos mapeos diferentes de esquema XML a C++: C++/Tree en memoria y C++/Parser orientado a flujos. El mapeo C++/Tree es un mapeo tradicional con una estructura de datos en memoria similar a un árbol. C++/Parser es un nuevo mapeo, similar a SAX , que representa la información almacenada en los documentos de instancia XML como una jerarquía de eventos de análisis específicos del vocabulario. En comparación con C++/Tree, el mapeo C++/Parser permite manejar documentos XML grandes que no cabrían en la memoria, realizar procesamiento orientado a flujos o utilizar una representación en memoria existente. El código generado por XSD puede estar dirigido a C++98/03 o C++11.

El propio archivo XSD de CodeSynthesis está escrito en C++.

Referencias

  • Página principal de CodeSynthesis XSD
  • Introducción al mapeo de árboles en C++
  • Introducción al mapeo C++/Analizador sintáctico
  • Introducción al enlace de datos XML en C++