2008 Aug 2008 13

Tokenizing atdalīta String iekšā XSL

Ja jūsu prasība ir sadalīt mezglu vērtību XML, kas satur atdalīta virkne vērtību, uz atsevišķām precēm, tad jūs esat sasniedzis īstajā vietā ... apskatiet tālāk piemērā. Ja Jūs esat iepazinušies ar mazliet XML un XSL ... Es nedomāju, ka jums būs nepieciešams kāds izskaidrojums.
Arī šis piemērs ietver izmantošanu XSL funkcijas, piemēram, XSL: Call-template, XSL: apakšvirkni-pirms, XSL: apakšvirkni-pēc, ja tas, ko jūs pēc.

XML ir pārveidota (food.xml): -
Pieņemsim uzdevums ir tokenize string norobežojusi ar komatu, jo ar to tagu "atslēgvārdiem"

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<date>July 2008</date>
<description>All about things we eat everyday</description>
<keywords>Fruits, Vegetables, Pulses, Meat, Cereals </keywords>
</food>

XSL (food.xsl): -

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>XSL 1.0 Delimited String Tokeniser</title>
</head>
<body>
<xsl:value-of select="food/meta"/>
<div >
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="food/keywords" />
<xsl:with-param name="delimitr" select="','" />
</xsl:call-template>

</div>
</body>
</html>
</xsl:template>
<xsl:template name="tokenize">
<xsl:param name="string" />
<xsl:param name="delimitr" />
<xsl:choose>
<xsl:when test="contains($string, $delimitr)">
<div style="border:1px solid red;">
<h3><xsl:value-of select="substring-before($string,$delimitr)" /></h3>
<xsl:variable name="data" select="substring-before($string,$delimitr)"/>
</div>
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="substring-after($string, $delimitr)" /><xsl:with-param name="delimitr" select="$delimitr" /></xsl:call-template>
</xsl:when>
<xsl:otherwise>
<div style="border:1px solid red;">
<h3><xsl:value-of select="$string" /></h3>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

Iegūtais izejas HTML: -

<div>
<div style="border: 1px solid red;">
<h3>Fruits</h3>
</div>
<div style="border: 1px solid red;">
<h3> Vegetables</h3>
</div>
<div style="border: 1px solid red;">
<h3> Pulses</h3>
</div>
<div style="border: 1px solid red;">
<h3> Meat</h3>
</div>
<div style="border: 1px solid red;">
<h3> Cereals </h3>
</div>
</div>

Lieki teikt ... vienkārši mainīt parametru "delimitr" ar atdalītāju, pēc jūsu izvēles


2008 Aug 11, 2008

Lejupielādēt Šis viltus novietots WordPress veidni

Ja jūs esat viens no tiem džekiem (piemēram, man), kurš bieži pārbaudiet CSS ir labi veikts HTML lapā, iedvesmoties vai kāds, tad iespējams, esat pamanījuši, ka mēs izmantojām mākslīgās izvietošanu (kā jau minēts manu iepriekšējo rakstu Mēs esam Izmantojot mākslīgās Absolute izvietošanu: Brilliant CCS izkārtojums )

Mēs neesam kādu labu darbu šajā veidnē, tāpēc domāju, ka būtu jauki dalīties .... Lejupielādēt šo WordPress Theme panta lejupielādēts 196 reizes)


2008 Aug 2008 7

Animoto: Really Nice "Rich User Interface" bez Flash!

Vai esat redzējuši animoto.com? Labi! tas nav AD, man tiešām patika! un tas ir skūpsts ASS UI patiešām

Man nāca visā šo vietni pāris nedēļas atpakaļ. Redzēja pirmo lapu, iedobums apnikt daudz. Man, tas bija tikai citā vietā ar kāda ļoti bagāta un flash saturu, kas ļauj lietotājiem augšupielādēt attēlus, izvēlieties kādu dziesmu un pārvērst to par jauku attēlu slīdrādi. Lejupielādēt FLV, un nodot to jebkurā vietā pēc Jūsu izvēles (YouTube, metacafe, Facebook un patīk) ... periods.

Vakar, kad es redzēju iekšējās plūsmas lapas, kurās ņēma kas lietotājam palīdz radīt šo slīdrādi .... Es devos Oh wow! Kad es sapratu, ka tur nebija mazliet Flash izmantota. Tas bija patiešām Rich User Interface. Visi UI izstrādātāji jācenšas veidot vai vismaz būt daļa no komandas, kas ir veicis šo interfeisu .... Absolūti izcili! Un iedvesma!

Vai paskatīties ... http://animoto.com/~~HEAD=dobj ... un reģistrēties un spēlēt ar to ... tikai tad jūs varat novērtēt ģēnijs.


2008 Aug 2008 4

Ar pozīciju () in XSL problēma ... vai ir?

Man bija šī strage problēmu, vienlaicīgi radot XSL šodien. Meklēja atbildes visā tīklā, bet couldnt atrast jebkādu .... Patiesībā es domāju! Es iedobt zinu, ko mana problēma bija, lai to, ko man meklēt?

Anyway! Tikai gadījumā, ja esat šo ļoti pašu problēmu pārāk un kaut ko no jaudas SPĒKĀ jums izdevās nolaisties uz šajā lapā ... jūs gribētu pateikties man t ... Un, ja esat nejauši nokļuvuši šajā lapā kādu dīvainu likteni un jums gadās būt XSL attīstītājs, DO pierakstiet šo tagad, turpmāk cēloni, ja kādu dienu, jūs risinātu šo jautājumu, tad FORCE nevarētu būt kopā ar jums.

Problēmas formulējums:
Man ir XML, kur ir divi mezgli ar vairākiem posteņiem tā, un starp šiem diviem punktiem posteņiem ir viens pret vienu korespondenci. Piemērā zemāk, katrs postenis mezglu <array name="PLAYURL" /> attiecas (atbilst pozīcija) attiecas uz posteni, kas mezgla <array 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>

Tagad, man ir cilpa, kur i cilpa ar <array name="SITENAME">, un es vēlos, lai saņemtu attiecīgo objektu panta attiecīgajā pozīcijā), kas <array name="PLAYURL">,

Ko jūs varētu kāds parasti mēģināt darīt, ir ...

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

Atvainojiet! Šis paradums strādāt ... Ak! Surpised ...

Tagad jūs, iespējams, vēlaties izmēģināt, kaut kas līdzīgs šim ...

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

Un atkal tas paradis strādāt ... Tagad jūs nesaskrāpē galvu, mēģinot sazināties ar ikvienu, kurš, jūsuprāt zina kādu XSL un varētu būt par jebkuru palīdzību ... jūs mēģināt jebkuru citu opciju ... un vēl tas paradis strādāt ... Nu! Thats kas notika ar mani atleast ...

Dont Izmisums! TRY THIS

<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 uzdot man, kāpēc IT WORKS. Izraisīt i dont ir tiesības iemesls ... ja jūs darīt! Lūdzu, piliens komentāru. Tas varētu būt diezgan noderīgs. Arī! Ja jums ir labāka virsrakstu šim amatam, do piliens mani līniju :)


2008 Aug 2008 2

Nosakot DOCTYPE XSL

Pagājušajā nedēļā es izveidojis progessive HTML / CSS izkārtojumu par klientu, pārbaudīta to IE6 un IE7 un FF 3, likās pilnīgi fine ... LĪDZ! izkārtojums gāja lejup manufacting ciklā. Tas neizdevās. Lappuses izkārtojuma elementi devos visur, kad HTML izkārtojums tika pārvērsta XSL un XML tai piemērotais ... nejaukais!!

Nevarēja gulēt ok nedēļas nogalē, sagaidot pirmdienas rītā, kad man būs noteikt šo SH **. Bet tagad ir nedaudz experince nodarbojas ar šiem veida situācijas (pārlūkprogramma quirks, es domāju), es zināju, ka tas bija jādara ar nekas cits, bet DOCTYPE .... un tas bija ...

Problēma:
Jūs vēlaties kontrolēt DOCTYPE, jo jūsu transformācija būs noklusējuma DOCTYPE skaidri, un tu izkārtojums būs noteikti par grozīties.

Risinājums:
XSLT specs nodrošina produkcijas metožu noteikt to DOCTYPE ir izvēle. Arī mums UI izstrādātāji, tad procentu tēmas būtu HTML produkcijas metodes un XML izejas metodes .

Labi! Pirms jūs saņemsiet garlaikoties, šeit ir noteikt.

Piem, ja Jums bija šāda DOCTYPE jūsu HTML versiju:. -

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Tad XSL jums būtu jābūt šādiem: -

<xsl:output method="html" doctype-system="http://www.w3.org/TR/html4/loose.dtd" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" indent="yes" />

un visbeidzot! Vai pārliecinieties, ka jūsu XSLT produkcija paklausa ar DOCTYPE esat izvēlējies.


NDK sākums | Izsakot IT | Izsakot aukslējas | Izsakot Penmenship | Izsakot bijību | Izsakot Sevi