Pages: 1
- Sujet précédent - Mapping XML / XFMAP : gérer les sous-descripteurs / sous-attributs - Sujet suivant
#1 Mon 30 August 2010 16:07
- MaelReboux
- Participant actif
- Lieu: Roazhon / Rennnes
- Date d'inscription: 24 Aug 2010
- Messages: 72
Mapping XML / XFMAP : gérer les sous-descripteurs / sous-attributs
Bonjour,
Je suis en train de définir un fichier de mapping .xmp pour traiter un fichier xml. Je tombe sur un os car je ne sais comment gérer des sous -descripteurs pour les passer en attributs.
Exemple :
- item
- name
- id
- projectedPoint
- x
- y
Comment récupérer le x et le y pour les passer en attributs ?
Code:
<attribute> <name><literal expr='projectedPoint_X'/></name> <value><extract expr='./projectedPoint/x'/></value> </attribute>
??
Merci d'avance pour votre aide.
Service SIG Rennes Métropole
AITF : Coordinateur GT voies-adresse
Et un peu OSM Bzh
Hors ligne
#2 Tue 31 August 2010 17:07
Re: Mapping XML / XFMAP : gérer les sous-descripteurs / sous-attributs
A priori cela doit ressembler à votre code mais difficile de répondre sans avoir les données xml et votre document xmp sous les yeux.
Pouvez-vous me les envoyer ?
Hors ligne
#3 Mon 13 September 2010 16:28
- jlmiserez
- Participant occasionnel
- Date d'inscription: 19 Feb 2007
- Messages: 16
Re: Mapping XML / XFMAP : gérer les sous-descripteurs / sous-attributs
Bonjour,
Votre code xfmap doit contenir une section <mapping>.
ca doit donner quelque chose de ce style:
Code:
<mapping match="projectedPoint"> <attributes> <attribute> <name> <literal expr="projectedPoint_x"/> </name> <value> <extract expr="./x" /> </value> </attribute> <attribute> <name> <literal expr="projectedPoint_y"/> </name> <value> <extract expr="./y" /> </value> </attribute> </attributes> </mapping>
Hors ligne
#4 Fri 22 October 2010 17:53
- MaelReboux
- Participant actif
- Lieu: Roazhon / Rennnes
- Date d'inscription: 24 Aug 2010
- Messages: 72
Re: Mapping XML / XFMAP : gérer les sous-descripteurs / sous-attributs
Je reviens à la charge avec un exemple :
Code:
<ChouetteRoute> <objectId>CTP:Route:STANav1533</objectId> <objectVersion>1</objectVersion> <creationTime>2010-08-26T16:58:41+01:00</creationTime> <name>vers Rennes (Henri Fréville)</name> <publishedName>vers Rennes (Henri Fréville)</publishedName> <number>1</number> <ptLinkId>CTP:PtLink:STANav1533ZZ1ASTANav1533ZZ2</ptLinkId> <ptLinkId>CTP:PtLink:STANav1533ZZ23ASTANav1533ZZ24</ptLinkId> <ptLinkId>CTP:PtLink:STANav1533ZZ24ASTANav1533ZZ25</ptLinkId> <journeyPatternId>CTP:JourneyPattern:0</journeyPatternId> <comment></comment> <RouteExtension> <wayBack>A</wayBack> </RouteExtension> </ChouetteRoute>
Comment je configure mon fichier xmp pour récupérer le sous-attribut "wayBack" de l'attribut "RouteExtension" ?
ChouetteRoute
- RouteExtension
- wayBack
Ceci ne fonctionne pas : crée bien un attribut wayBack dans FME mais ne récupère aucune valeur :
Code:
<?xml version="1.0"?> <!DOCTYPE xfMap SYSTEM "xfMap.dtd"> <xfMap> <schema-type> <inline> <schema-feature type="ChouetteRoute"> <schema-attribute name="fme_geometry{0}" type="xml_no_geom"/> <schema-attribute name='objectId' type='xml_buffer' /> <schema-attribute name='wayBack' type='xml_buffer' /> </schema-feature> </inline> </schema-type> <feature-map> <mapping match="ChouettePTNetwork/ChouetteLineDescription/ChouetteRoute"> <feature-type> <literal expr="ChouetteRoute"/> </feature-type> <attributes> <attribute> <name><literal expr='objectId'/></name> <value><extract expr='./objectId'/></value> </attribute> <attribute> <name><literal expr='wayBack'/></name> <value><extract expr='./RouteExtension/wayback'/></value> </attribute> </attributes> <use-mappings/> </mapping> </feature-map> </xfMap>
Service SIG Rennes Métropole
AITF : Coordinateur GT voies-adresse
Et un peu OSM Bzh
Hors ligne
#5 Sun 24 October 2010 16:27
- jlmiserez
- Participant occasionnel
- Date d'inscription: 19 Feb 2007
- Messages: 16
Re: Mapping XML / XFMAP : gérer les sous-descripteurs / sous-attributs
Bonjour,
Comme souvent, le diable se cache dans les détails !!!
ça fonctionne chez moi avec ce XMAP:
Code:
<mapping match="ChouetteRoute"> <feature-type> <literal expr="ChouetteRoute"/> </feature-type> <attributes> <attribute> <name><literal expr='objectId'/></name> <value><extract expr='./objectId'/></value> </attribute> <attribute> <name><literal expr="wayBack"/></name> <value><extract expr="./RouteExtension/wayBack"/></value> </attribute> </attributes> </mapping>
Remarquez la MAJUSCULE à wayBack
Hors ligne
#6 Mon 25 October 2010 09:50
- MaelReboux
- Participant actif
- Lieu: Roazhon / Rennnes
- Date d'inscription: 24 Aug 2010
- Messages: 72
Re: Mapping XML / XFMAP : gérer les sous-descripteurs / sous-attributs
Raahhh !!
Merci pour avoir relevé la coquille. Ca marche.
Donc, pour récupérer un sous-descripteur, on spécifie une sorte d'url (chemin dans l'arbre xml) vers celui-ci.
Dernière modification par MaelReboux (Mon 25 October 2010 10:58)
Service SIG Rennes Métropole
AITF : Coordinateur GT voies-adresse
Et un peu OSM Bzh
Hors ligne
#7 Mon 25 October 2010 11:14
- MaelReboux
- Participant actif
- Lieu: Roazhon / Rennnes
- Date d'inscription: 24 Aug 2010
- Messages: 72
Re: Mapping XML / XFMAP : gérer les sous-descripteurs / sous-attributs
Re-Bonjour,
Aïe : je rencontre un autre cas, celui où j'ai n fois un descripteur.
Dans la logique FME il faudrait en récupérer une liste mais je ne pense que que c'est possible. Je penche donc pour créer un fichier de mapping spécifique pour récupérer les n descripteurs.
Avec les réglages ci-dessous je récupère bien mes n enregistrements mais l'attribut "routeId" reste vide.
XML :
Code:
<Line> <objectId>CTP:Line:STANav181</objectId> <number>72</number> <routeId>CTP:Route:STANav1533</routeId> <routeId>CTP:Route:STANav1533New1</routeId> <routeId>CTP:Route:STANav1533New2</routeId> <routeId>CTP:Route:STANav1533New3</routeId> <routeId>CTP:Route:STANav1533New4</routeId> <routeId>CTP:Route:STANav1533New5</routeId> </Line>
xfMap :
Code:
<?xml version="1.0"?> <!DOCTYPE xfMap SYSTEM "xfMap.dtd"> <xfMap> <schema-type> <inline> <schema-feature type="route_line"> <schema-attribute name="fme_geometry{0}" type="xml_no_geom"/> <schema-attribute name='routeId' type='xml_buffer' /> </schema-feature> </inline> </schema-type> <feature-map> <mapping match="Line/routeId"> <feature-type> <literal expr="route_line"/> </feature-type> <attributes> <attribute> <name><literal expr='routeId'/></name> <value><extract expr='./routeId'/></value> </attribute> </attributes> <use-mappings/> </mapping> </feature-map> </xfMap>
Faut-il spécifier quelque chose de particulier dans le mapping ?
Dernière modification par MaelReboux (Mon 25 October 2010 11:14)
Service SIG Rennes Métropole
AITF : Coordinateur GT voies-adresse
Et un peu OSM Bzh
Hors ligne
#8 Wed 17 November 2010 12:33
- MaelReboux
- Participant actif
- Lieu: Roazhon / Rennnes
- Date d'inscription: 24 Aug 2010
- Messages: 72
Re: Mapping XML / XFMAP : gérer les sous-descripteurs / sous-attributs
Je me permet un petit "up" : rapport à mon dernier post...
*******************
Message de la modération.
Pas de up sans nouvelles infos.
Dernière modification par Pierre (Wed 17 November 2010 15:33)
Service SIG Rennes Métropole
AITF : Coordinateur GT voies-adresse
Et un peu OSM Bzh
Hors ligne
#9 Wed 17 November 2010 15:32
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Mapping XML / XFMAP : gérer les sous-descripteurs / sous-attributs
Suite au petit up,
* Auriez-vous un jeu de donnée à fournir à nos membres testeurs ? L'exemplarité permettra peut-être de trouver une piste.
* avez-vous exploré de nouvelles pistes, fait des tests avec une nouvelles syntaxes ? exploré d'autres forums ?
* y a t'il des gens suffisamment compétents pour y répondre ? Et là, j'en appelle aux lecteurs susceptibles d'avoir rencontré ces problèmes.
Cordialement,
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
Pages: 1
- Sujet précédent - Mapping XML / XFMAP : gérer les sous-descripteurs / sous-attributs - Sujet suivant