Ïîìîãíè íè äà íàïðàâèì Uroci.net ïî - áîãàò! Äîáàâè óðîê
Êàòåãîðèè Äðóãè óðîöè
Adobe Photoshop Adobe Illustrator Adobe Flash Adobe Fireworks DreamWeaver CSS è HTML Corel Draw Image Ready PHP SEO CMS Microsoft Windows Microsoft Word Microsoft Excel PowerPoint Microsoft Access Microsoft Publisher Linux Visual basic JavaScript Ajax 3ds Max Maya 3D C++ Sound Forge Gimp SWiSH

Âúâåäåíèå â XML

Stalik   òðóäíîñò:    âèäÿí: 6248



Îáèêíîâåíî ñå ñúçäàâà åäèí ñòèë, êîéòî äà îòãîâàòÿ íà âñè÷êè åëåìåíòè è â íåãî ñå îïðåäåëÿò åëåìåíòè, íà êîèòî äà áúäàò ïðèëàãàíè äðóãè ñòèëîâå. Òîâà ñòàâà ÷ðåç òàãà <xsl:apply-templates/>, êîéòî ïðåäèçâèêâà ïðèëàãàíåòî íà ñòèëà, ñúîòâåòñòâàù íà äàäåíèÿ òàã, âúòðå â äåôèíèöèÿòà íà äðóã ñòèë. Çà äà íàïðàâèì íåùàòà ïî-ÿñíè, îòíîâî ùå ðàçãëåäàìå åäèí ïðèìåð. Íåêà èçâåäåì ñúäúðæàíèåòî íà XML äîêóìåíò â òàáëèöà. Ùå èçïîëçâàì ñëåäíèÿ XML äîêóìåíò:

Êîä:
<xml version="1.0">
<software>
<program>
<name>
<product version="4">Bryce</name>
<company>MetaCreations Corporation</company>
</name>
<type>
<category>graphics</category>
<subcategory>3D graphics and animation</subcategory>
</type>
<system>
<cpu>Pentium</cpu>
<ram>32MB</cpu>
</system>
</program>
<program>
<name>
<product version="4">Poser</name>
<company>MetaCreations Corporation</company>
</name>
<type>
<category>graphics</category>
<subcategory>character creation and animation</subcategory>
</type>
<system>
<cpu>Pentium</cpu>
<ram>32MB</cpu>
</system>
</program>
<program>
<name>
<product version="2003">Norton Antivirus</name>
<company>Symantec Corporation</company>
</name>
<type>
<category>security</category>
<subcategory>antivirus</subcategory>
</type>
<system>
<cpu>Pentium 133MHz</cpu>
<ram>32MB</cpu>
</system>
</program>
<program>
<name>
<product version="6">Delphi</name>
<company>Borland Corporation</version>
</name>
<type>
<category>development</category>
<subcategory>software development</subcategory>
</type>
<system>
<cpu>Pentium 166Mhz</cpu>
<ram>64MB</cpu>
</system>
</program>
</software>



Íàøàòà çàäà÷à å äà èçâåäåì â òàáëèöà èíôîìàöèÿòà íà âñÿêà îò òåçè ïðîãðàìè. Êàêòî âèæäàìå, èìà òðè êàòåãîðèè èíôîðìàöèÿ ðàçäåëåíè â òðè òàãà, âñåêè îò êîèòî èìà ïî äâà äúùåðíè òàãà. Ñåãà íåêà ðàçãëåäàìå ñëåäíèÿ êîä

Êîä:
<?xml version="1.0"?>
<xsl:stylesheet>
<xsl:template match="/">
<HTML>
<BODY>
<TABLE BORDER="1">
<TR STYLE="font-weight:bold">
<TD>Program name</TD>
<TD>Producer</TD>
<TD>Category</TD>
<TD>Subcategiry</TD>
<TD>CPU requirements</TD>
<TD>RAM requirements</TD>
</TR>
<xsl:for-each select="software/program">
<TR>
<xsl:apply-templates/>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>

<xsl:template match="name">
<TD><xsl:value-of select="product"/></TD>
<TD><xsl:value-of select="company"/></TD>
</xsl:template>

<xsl:template match="type">
<TD><xsl:value-of select="category"/></TD>
<TD><xsl:value-of select="subcategory"/></TD>
</xsl:template>

<xsl:template match="system">
<TD><xsl:value-of select="cpu"/></TD>
<TD><xsl:value-of select="ram"/></TD>
</xsl:template>
</xsl:stylesheet>



Òîâà, êîåòî ïðàâè òîçè êîä, å äà äåôèíèðà ñòèë, ïðèëîæåí íà öÿëîñòíèÿ äîêóìåíò (match="/"), â êîéòî äà èçãðàäè çàãëàâíèÿ ðåä íà òàáëèöàòà, ñëåä êîåòî äà èçáåðå ïîñëåäîâàòåëíî âñåêè åäèí òàã , êîéòî å äúùåðåí íà òàãà , äà ñúçäàäå íîâ ðåä è äà ïðèëîæè çà íåãî ñúîòâåòñòâàùèòå ñòèëîâå (ò.å. çà âñåêè åäèí îò íåãîâèòå äúùåðíè òàãîâå ñå ïðèëàãà ñòèëúò, ÷èÿòî ñòîéíîñò íà àòðèáóòà match ñúâïàäà ñ èìåòî íà òàãà). Ñàìèòå ñòèëîâå ïúê èçâëèçàò ñòîéíîñòèòå íà äúùåðíèòå òàãîâå è ãè çàïèñâàò êàòî åëåìåíòè îò òàáëèöàòà. Îáúðíåòå âíèìàíèå íà èçïîëçâàíåòî íà <xsl:foreach select> âìåñòî <xsl:repeat for>
 
 
Ñîðòèðàíå

Òàãîâåòå <xsl:for-each> è <xsl:apply-templates> ïîääúðæàò àòðèáóòà order-by, êîéòî îïðåäåëÿ íà÷èíà íà ñîðòèðàíå íà åëåìåíòèòå. Êàòî ñòîéíîñòè ìó ñå çàäàâà äúùåðíèÿ òàã, ïî ÷èÿòî ñòîéíîñò äà ñîðòèðà, ïðåäõîæäàò îò åäèí îò äâàòà ñèìâîëà + èëè -, êîèòî îïðåäåëÿò ñúîòâåòíî âúçõîäÿù èëè íèçõîäÿù ðåä.

Äâóãà âúçìîæíîñò íà XSLå ïðîâåðÿâàòå ñòîéíîñòèòå íà òàãîâåòå. Òîâà âè äàâà âúçìîæíîñòòà äà ñúçäàäåòå ðàçëè÷íè ñòèëîâå çà åäèí è ñúùè òàã â çàâèñèìîñò îò òåêñòà, êîéòî òîé ñúäúðæà. Àêî ñå âúðíåì íà ïðåäèøíèÿ ïðèìåð, ìîæåì äà èçïîëçâàìå ðàçëè÷íè ñòèëîâå çà ãðàôè÷íèÿ è çàùèòíèÿ ñîôòóåð. Íàïðèìåð ìîæåòå äà èçïîëçâàòå ñëåäíèÿ òàã: Ïðè ïðîâåðêààò ìîæå äà èçïîëçâà ñëåäíèòå ñèìâîëè = çà ðàâíî != çà íåðàâíî <& çà ïî-ìàëêî (òúé êàòî ñèìâîëà < èìà ñïåöèàëíî çíà÷åíèå - óêàçâà íà÷àëîòî íà òàã) >& çà ïî-ãîëÿìî
 


Ñòðàíèöè: «2 3 4 5 6 »

Ðåãèñòðèðàéòå ñå, çà äà äîáàâèòå êîìåíòàð


© Âñè÷êè ïðàâà çàïàçåíè. 2006-2008. Created by: Site.bg
Ïðåïîðú÷âàìå: IT Íîâèíè | Êèíî è èãðè | Äèïëîìà.áã | Paparak.bg | Òóíèíã Ïîðòàë | uchenik.com | TRAVEL òóðèçúì | Ðåôåðàòè | AmAm.bg | Èäå.ëè | Êóðñîâè ðàáîòè | AnimeS-bg.com | Ôîòî Ôîðóì | Çàïîçíàíñòâà | Ìðåæà îò ïðèÿòåëè | IT Light | Spodeli.net | Ôîòî-Êóëò | IDG.BG | Teenproblem.net | Áëîã - Îáðàçîâàíèå | Fresh-BG.com | Hanovete.com | Bulfleet.com | Mythlands.com | Ohoboho.com | Êàçàíëúê.Com | News24 | Setcom.bg | Atol.bg | Elmaz.com | MobileBulgaria.com