#1 Wed 15 May 2013 14:22
- damika
- Participant occasionnel
- Lieu: Bidart
- Date d'inscription: 3 Aug 2010
- Messages: 33
PostgreSQL structure de la table en XML
Bonjour,
Voilà je cherche à exporter la structure, et non le contenu, d'une table en XML. Il ne me semble pas que table_to_xml réponde à mon besoin ou je n'ai pas su l'utiliser correctement.
Je souhaiterais obtenir quelque chose du genre :
Code:
<table name="nom_table" oids="true"> <schema name="public"/> <column name="column1" not-null="true"> <type name="serial"/> </column> <column name="column2"> <type name="timestamp"/> </column> <column name="column3"> <type name="geometry"/> </column> .... </table>
Quelqu'un aurait-il une piste?
D'avance merci
Hors ligne
#2 Wed 15 May 2013 15:28
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: PostgreSQL structure de la table en XML
Bonjour,
Une rapide recherche indique cet outil: http://www.sql-workbench.net/manual/wb- … ema-report
Sinon, plusieurs approches:
1°) faire une requete sur les tables de catalogue concernant la table dont on veut la structure et appeler les fonctions XML de formatage sur cette requete (ou table temporaire). Cela permet de controler exactement les tags que l'on veut.
2°) Choisir le formatage HTML dans psql puis demander la structure de la table: elle est alors dumpée en table HTML, a peu près XML compatible. Une transfo XSL derriere peut mettre le doc dans la structure attendue.
3°) appeler table_to_xml_and_xmlschema, vous aurez alors le schema du type créé pour la table. Une transformation XSL devrait etre aisée, le schéma obtenu est de type:
Code:
<xsd:complexType name="RowType.nicolas.public.parc_activite"> + <xsd:sequence> + <xsd:element name="id" type="INTEGER" nillable="true"></xsd:element> + <xsd:element name="surf_dispo" type="DOUBLE" nillable="true"></xsd:element> + <xsd:element name="surf_totale" type="DOUBLE" nillable="true"></xsd:element>+ </xsd:sequence> + </xsd:complexType>
Nicolas
Dernière modification par Nicolas Ribot (Wed 15 May 2013 16:27)
Hors ligne