[XSLT] aide transformation par le brouter

aide transformation par le brouter [XSLT] - XML/XSL - Programmation

Marsh Posté le 15-04-2003 à 20:11:15    

hello les gars, alors j'ai la xsl de la mort qui tue et bon j'aimerais bien faire ça: attribuer une valeur a un parametre en fonction d'une condition à la con:
 


 
 <xsl:template name="slide">
   
  <xsl:param name="object" />
   
  <xsl:choose>
   <xsl:when test="./id">
    <xsl:param name="newchild">
     <xsl:value-of select="./id" />
    </xsl:param>
   </xsl:when>
   <xsl:otherwise>
    <xsl:param name="newchild">
     slide<xsl:value-of select="position()"/>
    </xsl:param>
   </xsl:otherwise>
  </xsl:choose>
   
  var  = <xsl:value-of select="$newchild"/>.addslide("<xsl:value-of select="$newchild"/>" );
  <xsl:apply-templates><xsl:with-param name="object"><xsl:value-of select="$newchild"/></xsl:with-param></xsl:apply-templates>
 
 </xsl:template>
 


 
 
et donc le probleme c mon parametre newchild que j'essaye de définir, mais sablotyron me dit:
 
 
Error [code:28] [URI:file:/home/stegmanp/dnd/dndslider.xsl] [line:59] [node:element '<xsl:when>']
 
  XSL element 'when' cannot contain element 'param' at this point
 
 
je pige pas :'( aidez moi siupolé!!


Message édité par k666 le 17-04-2003 à 10:39:57
Reply

Marsh Posté le 15-04-2003 à 20:11:15   

Reply

Marsh Posté le 16-04-2003 à 08:30:22    

Normal:
 
D'apres la spec, ce qu'il peut y avoir comme elements xsl dans un xsl:when, c'est: xsl:apply-templates, xsl:call-template, xsl:apply-imports, xsl:for-each, xsl:value-of, xsl:copy-of, xsl:number, xsl:choose, xsl:if, xsl:text, xsl:copy, xsl:variable, xsl:message, xsl:fallback, xsl: processing-instruction, xsl:comment, xsl:element, xsl:attribute
Pas de xsl: param dans cette liste.
 
A+,


Message édité par gilou le 16-04-2003 à 08:30:53

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 16-04-2003 à 13:14:24    

k666 a écrit :

hello les gars, alors j'ai la xsl de la mort qui tue et bon j'aimerais bien faire ça: attribuer une valeur a un parametre en fonction d'une condition à la con:
 


 
 <xsl:template name="slide">
   
  <xsl:param name="object" />
   
  <xsl:choose>
   <xsl:when test="./id">
    <xsl:param name="newchild">
     <xsl:value-of select="./id" />
    </xsl:param>
   </xsl:when>
   <xsl:otherwise>
    <xsl:param name="newchild">
     slide<xsl:value-of select="position()"/>
    </xsl:param>
   </xsl:otherwise>
  </xsl:choose>
   
  var  = <xsl:value-of select="$newchild"/>.addslide("<xsl:value-of select="$newchild"/>" );
  <xsl:apply-templates><xsl:with-param name="object"><xsl:value-of select="$newchild"/></xsl:with-param></xsl:apply-templates>
 
 </xsl:template>
 


 
 
et donc le probleme c mon parametre newchild que j'essaye de définir, mais sablotyron me dit:
 
 
Error [code:28] [URI:file:/home/stegmanp/dnd/dndslider.xsl] [line:59] [node:element '<xsl:when>']
 
  XSL element 'when' cannot contain element 'param' at this point
 
 
je pige pas :'( aidez moi siupolé!!
 


 


 
 <xsl:template name="slide">
   
  <xsl:param name="object" />
  <xsl:param name="newchild">
  <xsl:choose>
   <xsl:when test="./id">
     <xsl:value-of select="./id" />
   </xsl:when>
   <xsl:otherwise>    
     slide<xsl:value-of select="position()"/>
   </xsl:otherwise>
  </xsl:choose>
</xsl:param>
   
  var  = <xsl:value-of select="$newchild"/>.addslide("<xsl:value-of select="$newchild"/>" );
  <xsl:apply-templates><xsl:with-param name="object"><xsl:value-of select="$newchild"/></xsl:with-param></xsl:apply-templates>
 
 </xsl:template>
 


Reply

Marsh Posté le 16-04-2003 à 14:24:52    

chocoboy a écrit :


 


 
 <xsl:template name="slide">
   
  <xsl:param name="object" />
  <xsl:param name="newchild">
  <xsl:choose>
   <xsl:when test="./id">
     <xsl:value-of select="./id" />
   </xsl:when>
   <xsl:otherwise>    
     slide<xsl:value-of select="position()"/>
   </xsl:otherwise>
  </xsl:choose>
</xsl:param>
   
  var  = <xsl:value-of select="$newchild"/>.addslide("<xsl:value-of select="$newchild"/>" );
  <xsl:apply-templates><xsl:with-param name="object"><xsl:value-of select="$newchild"/></xsl:with-param></xsl:apply-templates>
 
 </xsl:template>
 


 


 
 
yaisse!!! bonne réponse de Mr.CHOCOBOY !
 
merci :)

Reply

Marsh Posté le 16-04-2003 à 15:37:50    

oupps!!!!
une autre question de la mort qui tue!!!!
 
 
 
comment on fait pour remplacer un retour chariot par un \n en xsl ?
 
j'ai cette template là mais elle ne marche pas:
 
 


 
 <xsl:template name="escape-javascript">
  <xsl:param name="string" />
  <xsl:choose>
   <xsl:when test="contains($string, '"')">
    <xsl:call-template name="escape-javascript">
     <xsl:with-param name="string" select="substring-before($string, '"')" />
    </xsl:call-template>
    <xsl:text>\"</xsl:text>
    <xsl:call-template name="escape-javascript">
     <xsl:with-param name="string" select="substring-after($string,'"')" />
    </xsl:call-template>
   </xsl:when>
  <xsl:when test="contains($string, '
')">
   <xsl:call-template name="escape-javascript">
    <xsl:with-param name="string" select="substring-before($string, '
')" />
   </xsl:call-template>
   <xsl:text>\n</xsl:text>
   <xsl:call-template name="escape-javascript">
    <xsl:with-param name="string" select="substring-after($string, '
')" />
   </xsl:call-template>
  </xsl:when>
 
   <xsl:otherwise><xsl:value-of select="$string" /></xsl:otherwise>
  </xsl:choose>
 </xsl:template>


Reply

Marsh Posté le 16-04-2003 à 15:48:37    

en gros j'ai  besoin d'une entité html pour les retours chariot, un ptit comme & quot ; mais pour les retours chariot, histoire de pouvoir lui dire que qd j'ai cette merde sous la main je la convertis par \n


Message édité par k666 le 16-04-2003 à 15:54:33
Reply

Marsh Posté le 16-04-2003 à 16:24:37    

yeah!! j'ai trouvé !!!
 
& # 10 ;
 
 
pour remplacer les retours charriots,j'imagin aussi que ce sera le cas pour
& # 13 ;

Reply

Marsh Posté le 17-04-2003 à 10:41:47    

RE hello!
 
alors maintenant ce que j'aimerais c que le browser fasse lui tout seul la tranformation xsl,
sous IE ca marche nickel en mettant une entete dans le document XML, a savoir:
 


<?xml version="1.0" encoding="iso-8859-1"?>
<?xml:stylesheet type="text/xsl" href="dndslider.xsl"?>
<dnd id="proutmiam">
 <slideorder>random</slideorder>
 <slidepick>5</slidepick>
 
.....
reste du document....
.....
 
 


 
mais sous mozilla il ne fait pas la tranformation ? quelqu'un a t'il une idée ? me serais je trompé dans la syntaxe qui ne serait pas W3C compliant ???
 
aidz!!! siouplé :)

Reply

Marsh Posté le 17-04-2003 à 11:32:38    

:bounce:

Reply

Marsh Posté le 17-04-2003 à 13:54:09    

:bounce:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed