Welcome Guest! Log in
×

Notice

The forum is in read only mode.
Stambia versions 2.x, 3.x, S17, S18, S19 and S20 are reaching End of Support January, 15th, 2024. Please consider upgrading to the supported Semarchy xDI versions. See Global Policy Support and the Semarchy Documentation.

The Stambia User Community is moving to Semarchy! All the applicable resources have already been moved or are currently being moved to their new location. Read more…

Topic-icon Solved Respecter l'ordre des noeuds d'un fichier XML

More
26 Sep 2017 13:46 - 26 Sep 2017 13:48 #1 by Benjamin M.
Bonjour,

Dans le cadre de l'import d'un fichier XML, j'ai besoin de conserver l'ordre des éléments du fichier. En effet, le fichier XML contient des commentaires qui sont "éparpillés" sur plusieurs éléments avec aucune autre possibilité de connaître l'ordre que de respecter l'ordre du fichier XML :
<X1 SEGMENT="1">
	<Y>003</Y>
	<Z>Y</Z>
	<X2 SEGMENT="1">
		<X3>PARTIE 1 DU COMMENTAIRE</X3>
	</X2>
	<X2 SEGMENT="1">
		<X3>PARTIE 2 DU COMMENTAIRE QUI FAIT SUITE A LA PARTIE 1</X3>
	</X2>
	<X2 SEGMENT="1">
		<X3>PARTIE 3 DU COMMENTAIRE QUI FAIT SUITE A LA PARTIE 2</X3>
	</X2>
	<X2 SEGMENT="1">
		<X3>PARTIE 4 DU COMMENTAIRE QUI FAIT SUITE A LA PARTIE 3</X3>
	</X2>
</X1>

Le fichier XML n'est bien sûr pas modifiable ... Est-il possible de récupérer/conserver cet ordre après import en base SQL Server ? Peut-être en modifiant le template ou d'une autre façon ...

Quand on regarde ce qui se passe lors de l'import du fichier XML par Stambia, on voit que la colonne permettant d'ordonner la donnée, ou plutôt les colonnes, existe (cf colonnes stb_parentKey et stb_key du tableau ci-dessous ) :



Est-il possible d'utiliser ces colonnes pour trier la donnée ?


Pour information, la méthode d'import utilise en entrée une metadata de type xml qui est insérée dans X tables SQL server :


Merci d'avance.
Benjamin
Attachments:
Last edit: 26 Sep 2017 13:48 by Benjamin M..
More
26 Sep 2017 13:59 #2 by Adrian MATYSIAK
Replied by Adrian MATYSIAK on topic Respecter l'ordre des noeuds d'un fichier XML
Bonjour,

On dirait que vous avez besoin d’un champ « nodeLocalPosition » (XML Property Field) qui retourne la position d’un nœud à l’égard de son parent. Ce champ vous permettra de retrouver l’ordre des nœuds d’un fichier XML.

Voici un lien vers un article qui explique les principes de cette fonctionnalité :

www.stambia.org/doc/66-technology-articl...-xml-property-fields

Cordialement,
Adrian
More
26 Sep 2017 14:03 - 26 Sep 2017 14:23 #3 by Benjamin M.
Replied by Benjamin M. on topic Respecter l'ordre des noeuds d'un fichier XML
Merci pour votre réponse, je vais regarder de suite.


Edit : C'est parfait, cela fonctionne comme je le souhaite. J'avais déjà utilisé les "property fields" mais pour générer automatiquement un nom de noeud et je n'avais pas vraiment fait attention au reste.

Encore merci et bonne fin de journée.
Benjamin
Last edit: 26 Sep 2017 14:23 by Benjamin M..