Ïîìîãíè íè äà íàïðàâèì 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   òðóäíîñò:    âèäÿí: 6247

 

Êîìåíòàðè

Êîãàòî ñå ïèøå íÿêàêúâ êîä, íåçàâèñèìî íà êàêúâ åçèê, âàæíî å òîé äà áúäå êîìåíòèðàí. Êîìåíòàðèòå ñà ÷àñòè îò êîäà, êîèòî ñå èãíîðèðàò îò ïðîöåñîðà è ñëóæàò åäèíñâåòíî çà óëåñíåíèå íà õîðàòà - òå ïðÿâÿò êîäà ïî-ðàçáèðàåì è ëåñåí çà îáðàáîòâàíå. Îñâåí òîâà ïîíÿêîãà ñà ïîëåçíè çà îòêðèâàíå íà ãðåøêè - ïðîñòî êîìåíòèðàòå ÷àñòè îò êîäà, äîêàòî îòêðèåòå ïðîáëåìíàòà ÷àñò. XML çàïàçâà ñòèëà íà HTML çà êîìåíòàðèòå: íà÷àëîòî íà êîìåíòàð ñå äåêëàðèðà ñ <!-- , à íåãîâèÿ êðàé ñ -->

È çà äà çàâúðøèì ðàçãëåæäàíåòî íà DTD íåêà ñå âúðíåì êúì âúíøíèòå DTD ôàéëîâå. Ñëåä êàòî çíàåòå êàê äà íàïèøåòå åäíà äåôèíèöèÿ è êàê äà èçïîëçâàòå âúíøåí .dtd ôàéë êàòî òàêàâà, îñòàâà äà íàó÷èòå êàê äà íàïèøåòå ñàìèÿ .dtd ôàéë.  íåãî òðÿáâà äà âêëþ÷èòå ñàìî òàãîâåòå íà ñàìàòà äåôèíèöèÿ, áåç áëîêà <!DOCTYPE [ ... ]>. È, ðàçáèðà ñå, äîêóìåíòà òðÿáâà äà çàïî÷âà ñ <?xml version="1.0"?>

DTD å ñòàðèÿ ñòàíäàðò çà äåôèíèðàíå íà XML äîêóìåíòè, âñå ïî-ìàñîâî íàâëèçà ò.íàð. Shema.
 

Íÿêîëêî äóìè çà XHTML

Âñå ïîâå÷å íàâëèçà XHTML êàòî çàìåñòèòåë íà HTML. Çà ðàçëèêà îò HTML, òîé èìà ñòðîãè èçèñêâàíèÿ êúì ñèíòàêñèñà. Àêî íå çàòâîðèòå íÿêîé òàã äîêóåìíòà íÿìà äà å âàëèäåí è íÿìà äà ñå çàðåæäà îò áðàóçúðèòå Òîâà îçíà÷àâà, ÷å òàãîâåòå <img>img> ùå èçãëåæäàò òàêà:
 
Êîä:
<img src="someimage.gif" />



Íà âñåêè òàã ñúîòâåòñòâà çàòâàðÿù òàã. Òàãà çà íîâ ðåä å


XML â Web - êàê äà ïðåâúðíåòå XML äîêóìåíòà â äîáðå èçãëåæäàù HTML


Êàêòî âå÷å íåâåäíúæ îòáåëÿçàõìå, XML îïèñâà äàííèòå, à òÿõíîòî ïðåäñòàâÿíå íà åêðàíà å ðàáîòà íà ïðîãðàìàòà. Ñàìèÿ Internet Explorer èìà âãðàäåí XML ïðîöåñîð, êîéòî ïðîâåðÿâà äàëè äàííèòå ñà âàëèäíè è àêî ñà, èçâåæäà ãè â äúðâîâèäíà ñòðóêòóðà. Òîâà ñàìî ïî ñåáå ñè ðÿäêî å ïîëåçíî.  Web ÷åñòî ñå èçïîëçâà ñòèëîâà äåôèíèöèÿ çà îïðåäåëÿíåòî íà âèäà íà âñåêè åäèí òàã. Òîâà ñå îñúùåñòâÿâà ÷ðåç åäèí îò XML åçèöèòå - XSL (Extensible Stylesheet Language). Ìàêàð XSL äà ïðèëè÷à íà CSS ïî âúçìîæíîñòòà äà ñå îïðåäåëè âèäà íà âñåêè åäèí òàã, òîé å çíà÷èòåëíî ïî-ìîùåí. Íà ïúðâî ìÿñòî, XSL ìîæå äà íàïðàâè ðàçëèêà ìåæäó äâà åäíàêâè òàãà, êîèòî äà äúùåðíè åëåìåíòè íà ðàçëè÷íè òàãîâå. Îñâåí òîâà ñ XSL ìîãàò äà ñå ïðîâåðÿâàò ñòîéíîñòèòå íà àòðèáóòèòå è äà ñå ôîðìàòèðàò ïî ðàçëè÷åí íà÷èí òàãîâå, â çàâèñèìîñò îò äàäåí àòðèáóò. XSL íå ïðîñòî äàâà ñòèëîâàòà äåôèíèöèÿ íà äàäåí òàã; òîé îïðåäåëÿ HTML êîä, êîéòî äà ñå èçïîëçâà çà âñåêè åäèí òàã, êàòî ïðåäîñòàâÿ ìåòîäè çà ëåñíî è áúðçî îáðàáîòâàíå íà ãîëåìè XML äîêóðàêî òîâà ñå îñúùåñòâÿâà ÷ðåç ïîðåäèöà ñëóæåáíè òàãîâå, ïðåäîñòàâÿíè îò XSL.  îñíîâàòà ñè, ñèíòàêñèñà ìó å ñúùèÿ, êàêòî íà XML.

XSL äîêóìåíòà äåôèíèðà íàáîð ñòèëîâå. Òîé ñå ñúñòîè îò åäèí èëè ïîâå÷å øàáëîíà. Òåçè øàáëîíè ñå ïðèëàãàò âúðõó åëåìåíòè, êîèòî ñúâïàäàò ñ íÿêàêúâ îáðàçåö - íàïðèìåð òàãîâå <book>, êîèòî ñà äúùåðíè íà òàã . Åäèí øàáëîí ñå äåôèíèðà ÷ðåç òàãà <xsl:template>. Òîçè øàáëîí òðÿáâà äà äåôèíèðà êàê äà ñå èçâåæäà èíôîðìàöèÿòà, êîÿòî ïîêðèâà íÿêàêâè êðèòåðèè. Ñúîòâåòíî øàáëîíà ñå çàâúðøâà ñ </xsl:template> Ìåæäó òåçè äâà òàãà ñå ñëàãàò ðàçëè÷íè XSL òàãîâå, êîèòî èçâëè÷àò èíôîðìàöèÿ çà XML äîêóìåíòà. Òåçè òàãîâå ðàçãëåæäàì ïî-ïîäðîáíî ïî-íàòàòúê.

Õàðàêòåðíîòî å, ÷å ìåæäó äâà òàãà, èäåíòèôèöèðàùè îïðåäåëåíî XML ñúäúðæàíèå ñå ñëàãà HTML êîä, äåôèíèðàù êàê äà áúäàò èçâåäåíè òåçè òàãîâå.

Åäèí îò îñíîâíèòå òàãîâå å êîéòî îïðåäåëÿ íÿêàêúâ îñíîâåí êðèòåðèé è ïðèëàãà ôîðìàòèðàíåòî êúì âñåêè òàã, îòãîâàðÿù íà òîçè êðèòåðèé. Êðèòåðèÿ ñå îïðåäåëÿ îò ñòîéíîñòòà íà ñâîéñòâîòî for, êîåòî îò ñâîÿ ñòðàíà ñëåäâà äåôèíèöèÿòà íà ò.íàð. XPath. Xpath äåôèíèðà íàáîð ïðàâèëà çà îòêðèâàíå íà åäèí èëè ïîâå÷å åëåìåíòà â XML äîêóìåíòà. Íàïðèìåð äåêëàðàöèÿòà type/books îçíà÷àâà âñè÷êè òàãîâå <books>, êîèòî ñà äúùåðíè íà òàãà <type>. * îçíà÷àâà âñåêè òàã, | èäåíòèôèöèðà àëòåðíàòèâè, à // îçíà÷àâà âñåêè ïúò (ò.å. //books îçíà÷àâà âñåêè òàã <books> íåçàâèñèìî îò ðîäèòåëñêèòå ìó òàãîâå, òåõíèòå ðîäèòåëñêè òàãîâå è ò.í.

Äðóã âàæåí òàã å <xsl:value=of/> êîéòî ñúùî èìà åäèí àðãóìåíò for. Òîçè àòðèáóò îïðåäåëÿ äúùåðåí òàã, à â ðåçóëòàò ñå âðúùà òåêñòà, ñúäúðæàù ñå ìåæäó îòâàðÿùèÿ è çàòâàðÿùèÿ òàã, îïðåäåëåíè îò àòðèáóò. Àêî âçåìåì îòíîâî XML äîêóìåíòà ñ êíèãèòå è èñêàìå äà èçâåäåì àâòîðà íà âñÿêà êíèãà â ïîëó÷åðåí øðèôò, à òîâà çà êàêâî ñå îòíàñÿ òÿ ñ íîðìàëåí, íà äâà ñúñåäíè ðåäà, êàòî îñòàâÿìå åäèí ïðàçåí ìåæäó âñÿêà äâîéêà, òî ìîæåì äà íàïèøåì ñëåäíèÿ êîä:

Êîä:
<?xml version="1.0"?>
<xsl:template>
<HTML>
<BODY>
<xsl:repeat for="//style/name">
<P><B><xsl:value-of select="author"/></B>
<BR><xsl:value-of select="subject"/>
</xsl:repeat>
</BODY>
</HTML>
</xsl:teplate>



Çàáåëåæêà: àêî òåñòâàòå íÿêîé .xsl êîä ñ áðàóçúð, òî òîé íÿìà äà äîâåäå äî î÷àêâàíèÿ ðåçëóòàò. Ïðè÷èíàòà å â ëèïñàòà íà âãðàäåì ïðîöåñîð. Internet Explorer ñúäúðæà âãðàäåíà êîíòðîëà, êîÿòî ìîæåòå äà èçïîëçâàòå ÷ðåç JavaScript. Çà äà èçâåäåòå XML äîêóìåíò, ôîðìàòèðàí îò XSL, òðÿáâà äà ñúçäàäåòå åäèí ôàéë ñ XML äîêóåìòà, åäèí ñ XSL äîêóìåíòà è åäèí HTML ôàéë, ñúäòðæàù ñëåäíèÿ êîä (òóê ñúì ïðèåë, ÷å äîêóìåíòèòå ñå êàçâàò ñúîòâåòíî xmldocument.xml è xsldocument.xsl):

Êîä:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript" FOR="window" EVENT="onload">
var source = new ActiveXObject("Microsoft.xmldom");
source.load("xmldocument.xml");

var style = new ActiveXObject("Microsoft.xmldom");
style.load("xsldocument.xsl");
document.all.item("xslContainer").innerHTML =
source.transformNode(style.documentElement);
</SCRIPT>
</HEAD>
<BODY>
<DIV ID="xslContainer"></DIV>
</BODY>
</HTML>



XSL îáà÷å ìîæå äà äåôèíèðà ðàçëè÷íè ñòèëîâå çà ðàçëè÷íèòå òàãîâå. Òîâà å îñîáåíî ïîëåçíî ïðè ãîëåìè XML äîêóìåíòè. Çà öåëòà ñå èçïîëçâà àòðèáóòà match íà òàãà <xsl:template>, êîéòî îïðåäåëÿ óñëîâèÿòà (ïî ñúùèÿ íà÷èí, ïî êîéòî ãî ïðàâè è àòðèáóòà for íà òàãà xml:repeat), íà êîèòî òðÿáâà äà îòãîâàðÿ åäèí òàã çà äà áúäå ïðèëîæåí äàäåí ñòèë. È òúé êàòî ùå èçïîëçâàìå ïîâå÷å îò åäèí òàã <xsl:template> à XML ðàçðåøàâà ñàìî åäèí ïúðâè÷åí òàã (êîðåí íà ñòðóêòóðàòà èëè îùå root), òî ïúðâèÿ òàã âå÷å íÿìà äà å <xsl:template>, à <xsl:stylesheet>
 


Ñòðàíèöè: «1 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