Crear una base de datos SQLite basada en un conjunto de datos XSD


¿Alguien sabe si hay una manera de crear una base de datos SQLite basada en un XSD DataSet? En el pasado solo he utilizado un gestor SQLite básico, pero quiero fusionar las cosas un poco más con mi desarrollo .NET si es posible.

Author: Peter Featherstone, 2008-08-02

3 answers

Sospecho que en el caso general esto es difícil; el esquema XML permite algunas construcciones de tipos bastante extrañas. No estoy seguro de cómo hacer grupos de sustitución, o extensiones a restricciones de tipos, por ejemplo.

Sin embargo, debería ser posible unir algo con bastante rapidez (especialmente la asignación de las clases en System.XML.Esquema) que funciona para el 90% de los esquemas (es decir, elementos de secuencia y elección con unos pocos tipos de datos simples).

 16
Author: Oliver Hallam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-06 23:58:50

Quizás podría usar una transformación XSL para convertir el XSD en definiciones de tabla SQL. Del mismo modo, no puedo encontrar ningún ejemplo previo de esto, pero habría pensado que sería posible.

Me imagino que un XSLT genérico para XSD->SQL, una vez escrito, podría aplicarse a cualquier escenario (y también sería multiplataforma). Tal vez alguien ha hecho esto antes...

 6
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-30 09:14:30

Estoy seguro de que podría escribir una pequeña aplicación que toma un archivo XSD y lo analiza en un script SQL. Sin embargo, nunca he visto código para hacerlo, pero eso no significa que no exista.

 5
Author: Shawn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-04 17:05:37