Fonction SPLIT XSLT ?

  • Johan1974
  • Born
  • Born
  • No Avatar
  • Inscription: Fév 17, 2013
  • Messages: 1
  • Status: Offline

Message Février 17th, 2013, 10:25 am

Salut

Est-il possible d'utiliser xslt pour aller de

Code :
Code: [ Select ]
<XML>
 <Name>Name1;Name2</Name>
 <Adress>Adress1;Adress2</Adress>
</XML>
  1. <XML>
  2.  <Name>Name1;Name2</Name>
  3.  <Adress>Adress1;Adress2</Adress>
  4. </XML>

Pour cela

Code :
Code: [ Select ]
<XML>
  <LINE>
    <Name>Name1</Name>
    <Adress>Adress1</Adress>
   </LINE>
   <LINE>
    <Name>Name2</Name>
    <Adress>Adress2</Adress>
   </LINE>
</XML>
  1. <XML>
  2.   <LINE>
  3.     <Name>Name1</Name>
  4.     <Adress>Adress1</Adress>
  5.    </LINE>
  6.    <LINE>
  7.     <Name>Name2</Name>
  8.     <Adress>Adress2</Adress>
  9.    </LINE>
  10. </XML>

Toute aide serait plus appréciée.

Johan
Moderator Remark: Added code wrappers
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Février 17th, 2013, 10:25 am

  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Inscription: Fév 10, 2004
  • Messages: 13455
  • Loc: Florida
  • Status: Offline

Message Février 17th, 2013, 1:24 pm

Pas avec n'importe lequel des sélecteurs standards. Il sera plus facile d'écrire un script qui corrige l'entrée XML qu'il ne sera pas à trouver et à comprendre tout XSL non standard des solutions basées sur.
Strong with this one, the sudo is.
  • ScottG
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Juil 06, 2010
  • Messages: 266
  • Status: Offline

Message Février 19th, 2013, 8:01 am

Je suis d'accord avec joebert sur qu'il serait plus facile d'écrire un script pour corriger l'entrée. Je n'ai pas testé avec XSLT pour un peu, et la seule chose que je pouvais creuser vers le haut a été en utilisant le générateur de jetons et une boucle for. Je ne suis pas sûr si cela serait utile ou non.

C'est ce que j'ai déterré.
XML Code: [ Select ]
 
<xsl:stylesheet version="2.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
  <xsl:output method="text"/>
 
  <xsl:template match="/">
 
    <xsl:variable name="sampleString">XML,XSLT,XPath,SVG,XPointer</xsl:variable>
 
    <xsl:variable name="tokenizedSample" select="tokenize($sampleString,',')"/>
 
    <xsl:for-each select="$tokenizedSample">
      <xsl:value-of select="."/>
      <xsl:text>! </xsl:text>
    </xsl:for-each>
 
Second item in tokenizedSample:
    {<xsl:value-of select="item-at($tokenizedSample,2)"/>}
 
Tenth item in tokenizedSample:
    {<xsl:value-of select="item-at($tokenizedSample,10)"/>}
 
Position of SVG in tokenizedSample:
    {<xsl:value-of select="index-of($tokenizedSample,'SVG')"/>}
 
Position of XSL-FO in tokenizedSample:
    {<xsl:value-of select="index-of($tokenizedSample,'XSL-FO')"/>}
 
End of test.
  </xsl:template>
 
</xsl:stylesheet>
 
  1.  
  2. <xsl:stylesheet version="2.0"
  3.  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  4.  
  5.   <xsl:output method="text"/>
  6.  
  7.   <xsl:template match="/">
  8.  
  9.     <xsl:variable name="sampleString">XML,XSLT,XPath,SVG,XPointer</xsl:variable>
  10.  
  11.     <xsl:variable name="tokenizedSample" select="tokenize($sampleString,',')"/>
  12.  
  13.     <xsl:for-each select="$tokenizedSample">
  14.       <xsl:value-of select="."/>
  15.       <xsl:text>! </xsl:text>
  16.     </xsl:for-each>
  17.  
  18. Second item in tokenizedSample:
  19.     {<xsl:value-of select="item-at($tokenizedSample,2)"/>}
  20.  
  21. Tenth item in tokenizedSample:
  22.     {<xsl:value-of select="item-at($tokenizedSample,10)"/>}
  23.  
  24. Position of SVG in tokenizedSample:
  25.     {<xsl:value-of select="index-of($tokenizedSample,'SVG')"/>}
  26.  
  27. Position of XSL-FO in tokenizedSample:
  28.     {<xsl:value-of select="index-of($tokenizedSample,'XSL-FO')"/>}
  29.  
  30. End of test.
  31.   </xsl:template>
  32.  
  33. </xsl:stylesheet>
  34.  


Trouvé icihttp://www.xml.com/pub/a/2003/05/07/tr.html

Afficher de l'information

  • Total des messages de ce sujet: 3 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 109 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC