2008 20 septembrie 2008

TEXTAREA problemă colaps în XSL / XSLT


PROBLEMA DECLARAŢIE:
Am fugit în această problemă în ceea ce priveşte o textareas în XSLs. În cuvinte simple, problema apare atunci când aveţi un tag <textarea> gol, atunci se va prăbuşi la <textarea />.
adică dacă aţi avut ceva de genul următor în XSL si datele XML pentru valoarea TEXTAREA, returnează nimic ...

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

Ca browsere nu recunosc acest lucru, va provoca restul de formular HTML pentru a rula în zona de text.

Soluţii posibile:

În XSL, adauga un non-rupere-spaţiu () după XSL: tag.BEWARE de valoare, pentru a avea grijă de acest spaţiu suplimentar aţi adăugat, în timpul validări partea de client de acest domeniu.

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

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

Sau
Introduceţi o etichetă <xsl:value-of select="@unknown" /> arătând spre un atribut necunoscut. Acest lucru va forţa parserul PHP XSLT pentru a genera o zonă de deschidere şi închidere tag-ul de text, chiar dacă acesta nu are nimic în între.

Sau
Inseraţi un câmp de <xsl:text> conţine un spaţiu pentru a forţa o etichetă de închidere.

Cu toate acestea, deşi soluţiile de mai sus ar putea părea pentru a rezolva problema, eu nu sunt inca convins de faptul că acestea sunt chiar şi cele mai bune modalităţi de a se remedia. Dacă există orice altă cale mai bună de a stabili acest capriciu, Vă rugăm să faceţi să ne anunţaţi.


2008 04 august 2008

O problemă cu poziţia (), în XSL ... sau este?

Am avut această problemă Stocare în timp ce crearea unui XSL astăzi. Căutat răspunsuri în întreaga net, dar putut găsi orice .... De fapt, am ghicit! Eu ştiu ce însemna problema mea a fost, asa cum nu ma uit pentru?

Oricum! Doar în cazul în care aveţi această problemă foarte aceeaşi şi oarecum prea de puterea de a te obliga sa a reuşit să aterizeze pe această pagină ... vă mulţumesc să-mi tone ... Şi dacă aţi aterizat accidental de pe aceasta pagina pentru unele soarta ciudat şi se întâmplă să fie un dezvoltator XSL, a face a face o notă de acest lucru acum, pentru cauza viitor, dacă într-o zi, te confrunţi cu această problemă, atunci forţa nu s-ar putea să fie cu voi.

Problemă declaraţie:
Am acest XML, în cazul în care există două noduri cu mai multe elemente în ea, precum şi articole între aceste două noduri au o corespondenţă unu la unu. În exemplul de mai jos, fiecare element în nodul <array name="PLAYURL" /> se referă (poziţia corespunzătoare), la un element în <array nodul 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>

Acum, am o buclă, în cazul în care am bucla prin <array name="SITENAME">, şi vreau să ajung elementul aferent (de la poziţia corespunzătoare), în <array name="PLAYURL">,

Ce v-ar încerca normaly face este ...

<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! ACEST LUCRU obiceiul ... Ah!! Surpised ...

Acum, ce-ar vrea, probabil, pentru a încerca, ceva de genul asta ...

<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>

Şi din nou această obiceiul de lucru ... Acum te lamureste, incercand sa contacteze toti cei care credeţi că ştie ceva XSL si ar putea fi de nici un ajutor ... să încercaţi orice altă opţiune ... şi încă mai este obiceiul de lucru ... Ei bine! Asta e ceea ce mi sa întâmplat atleast ...

Dont Disperare! TRY ACEST

<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 Intreaba-ma de ce functioneaza. Cauza i dont au un motiv drept ... daca faci! Vă rugăm să nu fixaţi un comentariu. Ar putea fi destul de util. De asemenea! dacă aveţi TITLUL mai bine pentru acest post, scrie-mi fac o linie de :)


NDK acasă | Exprimarea IT | Gust Exprimarea | Penmenship Exprimarea | Awe Exprimarea | a mă exprima