2008 Авг 13 2008

Tokenizing заграден низ вътре в XSL

Ако вашето изискване е да се разделите възел стойност в XML, който съдържа заграден низ стойността, на отделни елементи, тогава сте на правилното място ... да разгледаме примера по-долу. Ако сте запознати с малко на XML и XSL ... Аз не мисля, че ще се нуждаят от никакво обяснение.
Също така, този пример включва използването на XSL функции като XSL: кол-шаблон, XSL: подниз-преди, XSL: подниз след това, ако това е това, което сте.

XML да бъдат трансформирани (food.xml): -
Да приемем, задачата е да се tokenize заграден низ със запетая, в тага "Ключови думи"

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

Произтичащите изход 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>

Излишно е да казвам ... просто да смениш параметъра "delimitr" разделителя по ваш избор


2008 Авг 11 2008 г.

Изтеглете Това Faux Разположен WordPress Шаблон

Ако сте едно от онези момчета (като мен), които често проверка на CSS и HTML страница, за да се вдъхновяват или каквото и да, тогава може би сте забелязали, че сме използвали Faux позициониране (както вече беше споменато в предишната ми статия Ние сме Faux абсолютно позициониране: брилянтен оформление на УСВ )

Направихме няколко добрата работа на този шаблон, така че мислех, че ще хубаво да го споделите ... Изтегляне на WordPress тази тема (изтеглени 196 пъти)


2008 Авг 7 2008

Враждебност: наистина хубава "Рич потребителски интерфейс" без светкавица!

Виждали ли сте animoto.com? Е! това не е реклама, аз наистина го харесва! и се Целуни UI ASS наистина

Се натъкнах на този сайт преди няколко седмици. Видях на първа страница, удар мъчи много. За мен това е просто още един сайт с флаш някои богато съдържание, което позволява на потребителите да качват снимки, да изберете някои писти и да го превърне в приятно слайдшоу на картината. Изтегляне на FLV, и го постави на всеки сайт по ваш избор (YouTube, MetaCafe, Facebook и харесва) ... ПЕРИОД.

Вчера, когато видях на вътрешните страници на потока, който се състоя на потребителя чрез създаване на това слайдшоу .... Отидох OH WOW! Когато разбрах, че не е имало битов FLASH използва. Той наистина е богат потребителски интерфейс. Всички потребителския интерфейс на разработчиците трябва да се стреми да създаде или поне да бъде част от екипа, който е направил този интерфейс .... Абсолютно брилянтен!! И Вдъхновяващи!

Виж ... http://animoto.com/ ... и да се регистрират и да играят с него ... само тогава можете да оцените гений.


2008 Авг 4 2008

Един от проблемите, с позиция () в XSL ... или е то?

Имах този strage проблем, като същевременно се създава XSL днес. Погледнато отговори из мрежата, но нямаше как да намеря .... Всъщност аз предполагам! Удар знам какво е мой проблем, така че какво мога да търсим?

Както и да е! Само в случай, че имате същия този проблем и по някакъв начин чрез силата на сила, който успява да кацне на тази страница ... ще ми благодари т ... И ако сте случайно кацна на тази страница по някаква странна съдба и се случи да бъде разработчик XSL, не СЕ НАПРАВИ бележка за това, ЗА БЪДЕЩЕТО причината, ако някой ден, сте изправени пред този въпрос, тогава СИЛА не може да бъде с вас.

Проблем изявление:
Аз имам този XML, където има два възела с няколко елемента в нея и елементи между тези два възела имат една еднозначна. В примера по-долу, всеки елемент в възел <array, name="PLAYURL" /> се отнася (съответната позиция) към даден елемент в възел <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>

Сега, аз имам една линия, където аз контур чрез <array name="SITENAME">, и аз искам да отида Свързана стока (в съответната позиция) в <array name="PLAYURL">,

Какво бихте нормално опитайте да направите, е ...

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

За съжаление!! Това няма да работят ... Ах!! Surpised ...

Сега вие вероятно ще искате да опитате нещо подобно ...

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

И отново това няма да работят ... Сега можете надраскване главата си, опитвайки се да се свържете с всеки, който мислите, че знаете някои XSL и може да бъде от полза ... опитате всеки друг вариант ... и все още го имам навик работа ... Е! Това какво се случи с мен поне ...

Недей отчайвайте!!! Опитайте това

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

Не ме питат защо работи. Защото няма право причина ... ако го направите! Моля ви, пуснете коментар. Тя може да бъде доста полезен. Също така! ако имате по-добро заглавие за този пост, да ме линия :)


2008 Авг 2 2008

Настройка на DOCTYPE в XSL

Миналата седмица създаден progessive HTML / CSS оформление за клиент, тествани в IE6, IE7 и FF 3, изглежда съвършено глоба ... докато! оформлението отиде по-далеч надолу по manufacting цикъл. Планът не успя. Елементите на оформлението на страницата, просто отиде навсякъде, когато HTML оформление е превърната в XSL и XML, прилагана към нея ... Кофти!!!

Не можех да спя OK през уикенда, в очакване на понеделник сутрин, когато ще трябва да определи този SH **. Но сега има малко experince в справянето с този вид ситуации (Браузър странности, имам предвид), аз знаех, че трябваше да направя нищо друго, освен да DOCTYPE .... и това беше ...

Проблемът:
Искат контрол над DOCTYPE, тъй като вашата трансформация ще включва DOCTYPE подразбиране изрично, и ви оформление ще бъде за хвърляне.

Решението:
XSLT спецификации осигурява изходни методи, за да зададете DOCTYPE на избор. Също така, за нас потребителския интерфейс на разработчиците, теми, представляващи интерес ще бъде на HTML методи изход и XML изходни методи .

Е! преди да се отегчават, тук е поправката.

Защото например, ако сте имали следния DOCTYPE HTML вашата версия: -

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

След това в XSL ви ще трябва да разполагате със следното:

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

Най-накрая! Да се ​​уверете, XSLT изход се подчинява на DOCTYPE, който сте избрали.


НДК начало | Изразявайки | Изразявайки Вкус | Изразявайки Penmenship | Изразявайки страхопочитание | Изразяване на себе си