Bonjour !
Petite question...
Je maîtrise assez bien le VB et je commence à bien comprendre le couple XML/XSL.
Les query en XSL sont simple à maintenir en place et tout le toutim de facilités qu'apporte XML.
Cependant, j'ai une petite question :
- Si je veux faire une query XSL à partir de VB, faut-il qu'à chaque fois je construise entièrement un fichier XSL avec toutes les balises ?
- Si oui, la tehcnique de "merge" appliqué au XML pourra-t-elle me proposer une alternative sérieuse à mes recherches ???
En fait, pour illustrer ma demande, j'ai fait un bête XSL/XML, un exemple vaut toujours mieux qu'une longue explication...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <Team> <Person> <FirstName>M</FirstName> <LastName>J</LastName> <Position>Director</Position> </Person> <Person> <FirstName>Nathalie</FirstName> <LastName>S</LastName> <Position>IT Manager</Position> </Person> <Person> <FirstName>T</FirstName> <LastName>P</LastName> <Position>IT Member</Position> <Position>Telephony Responsible</Position> </Person> <Person> <FirstName>M</FirstName> <LastName>V</LastName> <Position>IT Member</Position> <Position>Oracle Specialist</Position> </Person> <Person> <FirstName>B</FirstName> <LastName>B</LastName> <Position>IT Member</Position> <Position>FileNet Specialist</Position> </Person> </Team>
Et mon XSL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" encoding="ISO-8859-1" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd" indent="yes" /> <xsl:template name="Search_Person"> <xsl:param name="name" select="0" /> <xsl:for-each select="Person"> <xsl:if test="$name = FirstName"> <xsl:for-each select="Position"> <xsl:value-of select="." />; </xsl:for-each> <xsl:value-of select="LastName" />; </xsl:if> </xsl:for-each> </xsl:template> <xsl:template match="Team"> <xsl:call-template name="Search_Person"> <xsl:with-param name="name">Benjamin</xsl:with-param> </xsl:call-template> </xsl:template> </xsl:stylesheet>
En fait, je reçois un fichier XML d'un server d'une tierce partie. Plutot que de tout lister bêtement avec VB, j'ai prposé de travailler en XSL (qui est plus robuste/flexible à mon avis). Cependant, je n'arrive toujours pas à concevoir comment je peux travailler facilement avec mes fonctions prédéfinies (Search_Person) à partir de VB...
Merci de votre aide !
Partager