2008 Aug 2 2008

Pagtatakda ng DOCTYPE sa XSL

Huling linggo ko nilikha ng isang progessive HTML / CSS layout para sa isang client, sinubukan ito sa IE6, IE7 at FF 3, tila lubos pinong ... HANGGANG! mga layout nagpunta karagdagang down na cycle ang manufacting. Ito nabigo. Pahina ng layout elemento lamang nagpunta ang lahat sa ibabaw ng lugar kapag ang HTML layout ay convert sa XSL at XML ay inilapat sa ito ... Nakakainis!!!

Hindi maaaring matulog ok sa ibabaw ng katapusan ng linggo, sa pag-asa ng Lunes umaga, kapag kukunin ko na ayusin ito SH **. Ngunit ngayon ay nagkakaroon ng isang maliit na experince sa pagharap sa mga uri ng mga sitwasyon (ng Browser Quirks, ibig sabihin ko), alam ko ito ay may kinalaman sa walang ibang ngunit DOCTYPE .... at Ito ay ...

Ang problema:
Gusto mong kontrol ang DOCTYPE, dahil ang iyong mga pagbabago ay isama ang isang default na DOCTYPE tahasan, at ka layout ay para sa isang siklutin.

Ang Solusyon:
Ang XSLT panoorin ay nagbibigay ng mga pamamaraan output upang itakda ang isang ang DOCTYPE ng choise. Gayundin, para sa amin UI developer, ang paksa ng interes ay magiging HTML output pamamaraan at mga paraan ng XML output .

Na rin! bago makuha mo nababato, dito ay ang pag-aayos.

Para sa halimbawa, kung mayroon kang mga sumusunod na DOCTYPE sa iyong HTML bersyon: -

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

Pagkatapos sa ang XSL ay mayroon ka na magkaroon ng mga sumusunod: -

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

at wakas! huwag tiyakin na ang iyong output ng XSLT obeys DOCTYPE na napili mo.


2008 Mayo 4 2008

Isama ang XSL loob XSL

Kung XML / XSL Transforms ay iyong domian, pagkatapos ay may mga oras na kapag gusto namin ng isang peice ng ng Dynamic code na gagamitin library item (na muling magagamit). Ano ang ibig sabihin ko, marahil ay maaaring gawin mas malinaw na may ganitong sitwasyon halimbawa.

Isipin lumilikha ka ng isang website (at gumagamit ng XML, XSL transfroms ofcourse) at karamihan ng mga pahina ay magkaroon ng isang Puna Module. Na rin! pagkatapos ay alinman mong kopyahin o i-paste ang code na ito sa bawat pahina ng template (na wala ko na sabihin, ngunit maintenance at rework isang bangungot) o mas mahusay, lumikha ka ng isang Isama ang File na ma-pulled sa kung saan man gusto mo ito sa iyong pahina ( s) ...
Kaya PAANO HUWAG TAYO LILIKHA isang XSL MAISASALI file at isama ang mga ito sa loob ng isa pang XSL file? Narito ang kung paano ...

Lamang upang gumawa ng mga bagay na malinaw ... dito ay mabilis na listahan ng mga file na nais mong lumikha ng ... dito, kami ay kabilang ang impormasyon tungkol sa mga prutas at gulay sa isang magulang na pahina na tinatawag na pagkain.

1. food.xml - xml file ng data na kung saan ang pagbabago ay mailalapat
2. food.xsl - pangunahing XSL file, na ibahin ang anyo ng aming food.xml
3. inc_fruits.xsl - XSL isama ang file na magbibigay ng data bunga
4. inc_vegtables.xsl - XSL isama ang file na magbibigay ng data vetetables

Wala ako sa tingin ko ipaliwanag magkano, ang mga code para sa mga elemento sa itaas, sarili paliwanag ...

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

I-download ang lahat sa itaas na mga file dito (250 download)


2008 Abr 4 2008

Paggawa gamit ang XML node Attribute sa XSLT

Kung gumagamit ka ng XML at XSL, pagkatapos ay maaari mong ay dumating sa isang oras, kapag mayroon kang upang i-play sa paligid na may mga katangian at mga halaga ng mga XML nodes sa iyo XSL. Sila ay naglo-load ng mga site na may mahabang paghinga impormasyon tungkol dito, ngunit wala ako natagpuan ay panandaliang at tiyak ... Ito ay HINDI XML / XSL Tutorial, ngunit ang aking mga pagtatangka upang ilagay-sama ng ilang uri ng mga impostor listahan ...

Ang sample ng XML na kami ay nagtatrabaho sa ganito ang hitsura ...

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

Kaya Hinahayaan simulan ang pagbabago sa aming itaas XML gamit XSL

Halimbawa 1: Ipinapakita ng halaga sa isang napiling Attribute

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

HTML resulta ay hitsura

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


Halimbawa 2: Looping sa pamamagitan ng at pagpapakita ng ang lahat ng mga XML Attribute Pangalan at ang kanilang mga Halaga

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

HTML resulta ay hitsura


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


I-download ang lahat sa itaas na mga file dito (243 download)



Panoorin ang space, kukunin ko na patuloy na nag-a-update ito sa bagong natuklasan ...


NDK bahay | Pagpapahayag ng IT | pagpapahayag ng panlasa | pagpapahayag Penmenship | pagpapahayag ng sindak | pagpapahayag ng aking sarili