2008 13 AWISSU, 2008

Tokenizing String delimitata ġewwa XSL

Jekk ħtieġa tiegħek huwa li jaqsam node valur fi XML, li fih sensiela delimitata ta 'valur, fil-punti individwali, imbagħad inti lħaqt l-post dritt ... agħti ħarsa lejn l-eżempju hawn taħt. Jekk inti familjari ma 'ftit ta' XML u XSL ... ma naħsibx li għandek bżonn xi spjegazzjoni.
Ukoll, dan l-eżempju tinkludi l-użu tal-funzjonijiet XSL bħal XSL: sejħa mudell, XSL: substring-qabel, XSL: substring-wara, jekk dan huwa dak li inti wara.

XML għal trasformazzjoni (food.xml): -
Assumi l-kompitu huwa li tokenize l delimitata string minn virgola, fil-l-tikketta "keywords"

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

Riżultanti produzzjoni 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>

M'hemmx għalfejn ngħidu ... biss jibdlu l-parametru "delimitr" għall-delimetru 'l-għażla tiegħek


2008 Awissu 4, 2008

Problema bil-pożizzjoni () fil XSL ... jew hija?

Kelli din il-problema strage filwaqt li joħloq XSL illum. Fittxet tweġibiet madwar l-internet, iżda ma setgħux isibu xi .... Actually I raden! I kwalitá taf liema problema tiegħi kien, iva, liema do I tfittex?

Xorta waħda! Biss fil-każ li għandek din il-problema ħafna istess wisq u b'xi mod mill-qawwa tal-forza inti ġestiti l-art fuq din il-paġna ... inti nirringrazzja lili tunnellata ... U jekk ikollok aċċidentalment żbarkati f'din il-paġna għal xi destin stramba u jiġri li tkun iżviluppatur XSL, DO JAGĦMLU NOTA TA 'DAN ISSA, GĦALL-FUTUR kawża, Jekk xi jum, inti jiffaċċjaw din il-kwistjoni, allura l-SEĦĦ jista' ma jkunx miegħek.

Dikjarazzjoni Problema:
I jkollhom din XML, fejn hemm żewġ punti ta 'konġunzjoni ma' oġġetti multipli fiha u l-oġġetti bejn dawn iż-żewġ punti ta 'konġunzjoni jkollhom korrispondenza wieħed għal wieħed. Fl-eżempju hawn taħt, kull oġġett fil-<array node name="PLAYURL" /> tirrigwarda (pożizzjoni korrispondenti) għal oġġett fil-<array node 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>

Issa, għandi linja, fejn i linja permezz <array name="SITENAME">, u nixtieq li jiksbu l-oġġett relatat (fil-pożizzjoni korrispondenti) fil <array name="PLAYURL">,

Dak li inti normaly tipprova tagħmel huwa ...

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

Skużana! DIN wont xogħol ... Ah!! Surpised ...

Issa inti probabilment jridu jippruvaw, xi ħaġa bħal din ...

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

U darb'oħra dan wont xogħol ... Issa inti grif ras tiegħek, tipprova tikkuntattja kulħadd li taħseb jaf xi XSL u tista 'tkun ta' kwalunkwe għajnuna ... inti tipprova kull għażla oħra ... u xorta wont xogħol ... Ukoll! Thats dak li ġara lili atleast ...

DONT disprament! TRY DAN

<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 jistaqsu lili għaliex taħdem. Cause i dont jkollhom raġuni tajba ... jekk inti! Jekk jogħġbok qatra kumment. Jista 'jkun pjuttost utli. Ukoll! jekk għandek TITOLU aħjar għal din il-kariga, tagħmel qatra me a line :)


2008 4 Mejju, 2008

Inkludi XSL ġewwa XSL

Jekk XML / XSL tittrasforma huwa domian tiegħek, allura hemm żminijiet meta aħna jixtiequ peice tal-kodiċi Dynamic li għandhom jintużaw partita librerija (li għandhom isiru mill-ġdid użabbli). What I medja, probabbilment tista 'ssir aktar ċara ma' dan ix-xenarju eżempju.

Immaġina li inti qed joħolqu website (u l-użu XML, XSL transfroms Naturalment) u ħafna mill-paġni jkollha Modulu Kummenti. Ukoll! mbagħad jew inti kopja jew paste dan il-kodiċi fis-kull mudell tal-paġna (li I dont jkollhom jgħidu, imma kun manutenzjoni u tinħadem mill-ġdid il-lejl) jew saħansitra aħjar, inti toħloq fajl INCLUDE li jistgħu jiġu miġbuda fit fejn qatt inti tixtieq li fil-paġna tiegħek ( i) ...
Allura kif nistgħu JINħOLOQ fajl INCLUDE XSL u jinkluduha ġewwa ieħor fajl XSL? Hawnhekk huwa kif ...

Just biex tagħmel affarijiet ċara ... hawnhekk hija lista ta 'malajr ta' fajls li inti toħloq ... hawn, se nkunu inkluż info dwar frott u ħxejjex fil-paġna ewlenija imsejħa ikel.

1. food.xml - xml fajl tad-data li fiha l-trasformazzjoni se jiġu applikati
2. food.xsl - fajl prinċipali XSL, li se jittrasforma food.xml tagħna
3. inc_fruits.xsl - XSL jinkludu fajl li se tirrendi data frott
4. inc_vegtables.xsl - XSL jinkludu fajl li se tirrendi data vetetables

I dont think I jkollhom jispjegaw ħafna, il-kodiċijiet għal elementi t'hawn fuq, se jkun awto spjegazzjoni ...

FOOD.XML


<?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>
<fruits type="tropical">
<item name="mango" moreinfo="http://www.mango.com">Mango is the king of fruits</item>
<item name="banana" moreinfo="http://www.banana.com">Banana once a day , keeps the doctor away</item>
<item name="orange" moreinfo="http://www.orange.com">Orange is the color and rich in vitamin C</item>
<item name="Papaya" moreinfo="http://www.papaya.com">Papaya - Hot when raw, cold when ripe</item>
</fruits>

<vegetables>
<item name="spinach" moreinfo="http://www.spinach.com">Spinach is full of iron</item>
<item name="asparagus" moreinfo="http://www.asparagus.com">Asparagus contains loads of vitamin D </item>
<item name="fenugreek" moreinfo="http://www.fenugreek.com">Fenugreek is rich in vitamin C</item>
</vegetables>
</food>


FOOD.XSL


<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="inc_fruits.xsl" />
<xsl:include href="inc_vegetables.xsl" />
<xsl:template match="/">
<html>
<head>
<title>Title</title>
</head>
<body>
<h3><xsl:value-of select="/food/description" /></h3>
Modification Date : <xsl:value-of select="/food/date" />
<hr/>
<h5> About Fruits</h5>
<xsl:call-template name="about_fruits"/>

<hr/>
<h5> About Vegetables</h5>
<xsl:call-template name="about_vegetables"/>

<hr/>
</ Korp>
</ Html>
</ XSL: template>
</ XSL: stylesheet>


INC_FRUITS.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="iso-8859-1" />
<xsl:template name="about_fruits">
<xsl:for-each select="/food/fruits/item/@*">
attribute name : <xsl:value-of select="name()"/>
attribute value : <xsl:value-of select="."/> <br />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>


INC_VEGETABLES.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="iso-8859-1" />
<xsl:template name="about_vegetables">
<xsl:for-each select="/food/vegetables/item/@*">
attribute name : <xsl:value-of select="name()"/>
attribute value : <xsl:value-of select="."/> <br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Niżżel il-fajls kollha ta 'hawn fuq hawn (252 downloads)


2008 April 4, 2008

Ħidma ma 'Attributi node XML fil XSLT

Jekk tuża XML u XSL, allura inti jista 'jkollok jiltaqgħu ma' żmien, meta għandek biex tilgħab madwar mal attributi u l-valuri ta 'għoqiedi XML fil inti XSL. Huma tagħbijiet ta 'siti info xejn b'xejn twil dwar dan, iżda ħadd sibt kienu qosra u preċiżi ... Dan huwa NO TUTORIAL XML / XSL, iżda tentattiv tiegħi li jitqiegħdu-flimkien xi tip ta' iqarrqu lista ...

Il-kampjun XML li aħna se taħdem ma tidher bħal dan ...

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<fruits type="tropical">
<item name="mango" moreinfo="http://www.mango.com">Mango is the king of fruits</item>
<item name="banana" moreinfo="http://www.banana.com">Banana once a day , keeps the doctor away</item>
<item name="orange" moreinfo="http://www.orange.com">Orange is the color and rich in vitamin C</item>
<item name="Papaya" moreinfo="http://www.papaya.com">Papaya - Hot when raw, cold when ripe</item>
</fruits>
</food>

Allura Tikri tibda trasformazzjoni XML hawn fuq tagħna bl-użu XSL

Eżempju 1: Din hi valur fi attributi magħżula

<xsl:value-of select="/food/fruits/item[@name='orange']" /><br />
to get more information about <a href="{/food/fruits/item[@name='orange']/@moreinfo}" target="new" ><xsl:value-of select="/food/fruits/item[@name='orange']/@name" /> </a>

Riżultat HTML se look like

Orange is the color and rich in vitamin C,
to get more information about <a href="http://www.orange.com" target="new">


Eżempju 2: looping permezz ta 'u wiri kollha Ismijiet attribut XML u Valuri tagħhom

<xsl:for-each select="/food/fruits/item/@*">
attribute name : <xsl:value-of select="name()"/>,
attribute value : <xsl:value-of select="."/> <br />
</xsl:for-each>

Riżultat HTML se look like


attribute name : name, attribute value : mango
attribute name : moreinfo, attribute value : http://www.mango.com
attribute name : name, attribute value : banana
attribute name : moreinfo, attribute value : http://www.banana.com
attribute name : name, attribute value : orange
attribute name : moreinfo, attribute value : http://www.orange.com
attribute name : name, attribute value : Papaya
attribute name : moreinfo, attribute value : http://www.papaya.com


Niżżel il-fajls kollha ta 'hawn fuq hawn (245 downloads)



Watch dan l-ispazju, jien ser iżommu aġġornat dan ma 'sejbiet ġodda ...


NDK dar | Jesprimi IT | palat Jesprimi | Penmenship Jesprimi | Awe Jesprimi | Jesprimi Myself