2008 20 Set 2008

TEXTAREA problema Collapse in XSL / XSLT


PROBLEMA DICHIARAZIONE:
Mi sono imbattuto in un problema per quanto riguarda textarea in XSL. In parole semplici, il problema sorge quando si dispone di un tag vuoto <textarea>, allora lo crollare a <textarea />.
cioè se si ha qualcosa di simile al seguente nel XSL XML ei dati per il valore TEXTAREA, non restituisce nulla ...

<textarea name='description'> <xsl:value-of select="DESCRIPTION"/> </ textarea>

Come i browser non riconoscono questo, farà sì che il resto del form HTML per eseguire nell'area di testo.

POSSIBILI SOLUZIONI:

Nel XSL, aggiungere un non-breaking-space () dopo il xsl: tag.BEWARE di valore, a prendersi cura di questo spazio si è aggiunto, durante la validazione client-side di questo settore.

<textarea name='description'> <xsl:value-of select="DESCRIPTION"/> </ textarea>

O
<xsl:value-of select="concat (DESCRIPTION,'')"/>

O
Inserire un select="@unknown" <xsl:value-of tag /> che punta a un attributo sconosciuto. Questo forzerà il parser PHP XSLT per generare un testo di apertura e chiusura tag area, anche se non ha nulla in mezzo.

O
Inserire un campo <xsl:text> contenente uno spazio per forzare un tag di chiusura.

Tuttavia, anche se le soluzioni di cui sopra potrebbe sembrare per risolvere il problema, io non sono ancora convinto che hanno ragione e migliori modi per risolvere il problema. Se c'è qualche altro modo migliore di fissare questo cavillo, Vi preghiamo di farcelo sapere.


2008 4 agosto 2008

Un problema con la posizione () in XSL ... o è?

Ho avuto questo problema strage, mentre la creazione di un XSL oggi. Cercato delle risposte in tutta la rete, ma couldnt trovare .... In realtà credo! I furia so qual è il mio problema era, quindi cosa devo cercare?

In ogni caso! Solo nel caso in cui si verifica questo problema stesso troppo e in qualche modo dal potere della Forza è riuscito ad atterrare su questa pagina ... tu mi avrebbe ringraziato tonnellate ... E se avete accidentalmente atterrato su questa pagina per qualche strano destino e vi capita di essere uno sviluppatore XSL, FARE UNA NOTA DI QUESTO ORA, PER IL FUTURO causa, se un giorno, è necessario affrontare questo problema, allora la forza potrebbe non essere con voi.

Problema dichiarazione:
Ho questa XML, dove ci sono due nodi con più elementi in esso e gli elementi tra questi due nodi hanno una corrispondenza uno ad uno. Nell'esempio riportato di seguito, ogni elemento nel nodo <array name="PLAYURL" /> si riferisce (posizione corrispondente) a un elemento in <array nodo name="SITENAME" />

<?xml version="1.0" encoding="utf-8"?>
<myplaylists>
<playlist>
<title>Best of Rest </title>
<array name="SITENAME">
<str>www.musicindiaonline.com</str>
<str>www.dhingana.com</str>
<str>www.raaga.com</str>
<str>www.smashits.com</str>
<str>www.desimusic.com</str>
<str>www.musicplug.in</str>
</array>
<array name="PLAYURL">
<str>http://www.musicindiaonline.com/123/</str>
<str>http://www.dhingana.com/play/123</str>
<str>http://www.raaga.com/123</str>
<str>http://ww.smashits.com/123</str>
<str>http://www.desimusic.com/123</str>
<str>http://www.musicplug.in/123</str>
</array>
</playlist>
</myplaylists>

Ora, ho un ciclo in cui i loop through <array name="SITENAME">, e voglio ottenere l 'articolo correlato (nella posizione corrispondente) in <array name="PLAYURL">,

Che cosa si dovrebbe normalmente fare è provare ...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
play from : <a href="{../../array[@name='PLAY']/str[position()]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

SORRY!! QUESTO non funzionerà ... Ah!! Mi sorprende ...

Ora probabilmente provare, qualcosa di simile ...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos"> <xsl:value-of select="position()"/></xsl:variable>
play from : <a href="{../../array[@name='PLAY']/str[$pos]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

E Anche in questo caso non funzionerà ... Ora è grattarsi la testa, cercando di contattare tutti quelli che si pensa un po 'conosce XSL e potrebbe essere di alcun aiuto ... si tenta ogni altra opzione ... e ancora non funzionerà ... Beh! Questo è quello che è successo a me atleast ...

DONT DISPERAZIONE! PROVATE QUESTO

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$
<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$ pos-int ]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

Dont ask ME PERCHE 'FUNZIONA. Perchè non ho una retta ragione ... se lo fate! Si prega di far cadere un commento. Potrebbe essere molto utile. Anche! se avete una migliore titolo per questo post, fare mi mandi due righe :)


NDK casa | Esprimendo IT | Gusto Esprimendo | Penmenship Esprimendo | Awe Esprimendo | esprimermi