Bonjour a tous

J aurai une question pour vous: j ai un fichier DS de JBoss. Je souhaiterai le parser pour m assurer de certaines validations.

Voici le format:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
<?xml version="1.0" encoding="UTF-8"?>
 
<datasources>
 <xa-datasource>
    <jndi-name>DS1/ApplicationDS</jndi-name>
    <track-connection-by-tx/>
    <isSameRM-override-value>false</isSameRM-override-value>
    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
    <xa-datasource-property name="URL">Url1</xa-datasource-property>
    <xa-datasource-property name="User">User1</xa-datasource-property>
    <xa-datasource-property name="Password">Pass1</xa-datasource-property>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>    
    <!--pooling parameters-->
    <min-pool-size>0</min-pool-size>
    <max-pool-size>10</max-pool-size>
    <blocking-timeout-millis>5007</blocking-timeout-millis>
    <idle-timeout-minutes>1</idle-timeout-minutes><background-validation-millis>40000</background-validation-millis> 
    <prepared-statement-cache-size>100</prepared-statement-cache-size>   
 
    <!--valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name-->
    <!-- Checks the Oracle error codes and messages for fatal errors -->
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
    <!-- Oracles XA datasource cannot reuse a connection outside a transaction once enlisted in a global transaction and vice-versa -->
    <no-tx-separate-pools/>
 
      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml -->
      <metadata>
         <type-mapping>Oracle9i</type-mapping>
      </metadata>
  </xa-datasource>
 
 <xa-datasource>
    <jndi-name>DS2/ApplicationDS</jndi-name>
    <track-connection-by-tx/>
    <isSameRM-override-value>false</isSameRM-override-value>
    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
    <xa-datasource-property name="URL">Url2</xa-datasource-property>
    <xa-datasource-property name="User">User2</xa-datasource-property>
    <xa-datasource-property name="Password">Pass2</xa-datasource-property>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>    
    <!--pooling parameters-->
    <min-pool-size>0</min-pool-size>
    <max-pool-size>10</max-pool-size>
    <blocking-timeout-millis>5007</blocking-timeout-millis>
    <idle-timeout-minutes>1</idle-timeout-minutes><background-validation-millis>40000</background-validation-millis> 
    <prepared-statement-cache-size>100</prepared-statement-cache-size>   
 
    <!--valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name-->
    <!-- Checks the Oracle error codes and messages for fatal errors -->
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
    <!-- Oracles XA datasource cannot reuse a connection outside a transaction once enlisted in a global transaction and vice-versa -->
    <no-tx-separate-pools/>
 
      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml -->
      <metadata>
         <type-mapping>Oracle9i</type-mapping>
      </metadata>
  </xa-datasource>
</datasources>
Et je souhaiterai sortir
"
JNDI-Name=DS1/ApplicationDS, User=User1, Pass=Pass1
JNDI-Name=DS2/ApplicationDS, User=User2, Pass=Pass2"


etc...
Seulement je recupere bien l integralite des elements separes:
//xa-datasource/jndi-name
//xa-datasource-property[@name="User"]
//xa-datasource-property[@name="Password"]
Mais quand je concatene (teste sous Notepad++) cela plante... un seul record:
concat("JNDI-Name = ",//xa-datasource/jndi-name," - User= ",//xa-datasource-property[@name="User"]," - Password = ",//xa-datasource-property[@name="Password"])

Quelqu un pourrait m aider ?

EDIT-->
J ai lu sur la doc du site:
"
4-A. Concat

concat( string , string , string *) : retourne string

Elle retourne le résultat de la concaténation des arguments. Attention, lui passer un nodeset de plusieurs noeuds en paramètre ne permettra pas la concaténation de leur valeur textuelle. Chaque nodeset est considéré comme un seul argument et à ce titre seul le premier noeud est traité.

Exemple :

concat("AB","CDE","EF") retourne ABCDEF"

Y a t il un workaround ?