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



Ñëåä òîâà âúâåäåíèå â markup åçèöèòå, íåêà ðàçãëåäàìå êîíêðåòíî XML. Âñåêè XML äîêóìåíò òðÿáâà äà çàïî÷âà ñ òàãà <!---->Îáèêíîâåíî ñå âêëþ÷âà è àòðèáóòà verion, óêàçâàù èçïîëçâàíàòà âåðñèÿ (çà ìîìåíòà 1.0): <!--l version=1.--> XML ïî÷òè íÿìà ïðåäâàðèòåëíî îïðåäåëåíè òàãîâå (ñ èçêëþ÷åíèå íà íÿêîëêî ñëóæåáíè, êàêúâòî å <!---->, íî òÿõ ùå ðàçãëåäàìå ïî-êúñíî). Âñåêè òàã òðÿáâà äà èìà çàòâàðÿù òàã, à àêî òàãà íÿìà âúòðåøíî ñúäúðæàíèå (òàêîâà, êîåòî å ìåæäó îòâàðÿùèÿ è çàòâàðÿùèÿ òàã) òî ñå èçïîëçâà ñàìîçàòâàðÿù ñå òàã - òàãúâ, êîéòî çàâúðøâà ñúñ ñèìâîëà "/". Ò.å. âìåñòî äà ïèøåòå ìîæåòå äà íàïèøåòå Òàãîâåòå òðÿáâà ïðàâèëíî äà ñå âëàãàò - ò.å. ìîæåòå â ðàìêèòå íà åäèí òàã äà äåôèíèðàòå ìíîæåñòâî òàãîâå, íî òðÿáâà äà ãè çàòâîðèòå â ðåäà, îáðàòåí íà òÿõíîòî îòâàðÿíå. Ùå èëþñòðèðàì òîâà ñ åäèí ïðèìåð:

 

Êîä:
<books>
<type>
<style>programming book
<name>
<title>Thinking in Java</title>
<author>Bruce Eckel</author>
<subject>Java</subject>
</name>
<name>
<title>Mastering Delphi 6</title>
<author>Marco Cantu</author>
<subject>Delphi</subject>
</name>
</style>
</type>
</books>

<!--òàã2--><!--òàã1--><!--òàã1--><!--òàã2-->

 

Èëè ñ äðóãè äóìè, äåêëàðàöèÿòà <òàã1><òàã2> å âàëèäíà, äîêàòî <òàã1><òàã2> - íå å. XML äîêóìåíòà èìà äúðâîâèäíà ñòðóêòóðà - òàçè ñòðóêòóðà ìîæå äà èìà åäèí-åäèíñòâåí êîðåí. Ò.å. òðÿáâà äà èìàòå åäèí òàã, â êîéòî äà ñå ñúäúðæàò âñè÷êè îñòàíàëè.  ïðåäèøíèÿ íè ïðèìåð, òîâà áåøå òàãúò

. Âúùíîñò òîâà å åäíà éåðàðõè÷íà ñòðóêòóðà, ïúðâèÿ åëåìåíò îò êîÿòî ñå íàðè÷à root (à å âúçìîæíî äà ñúùåñòóâà ñàìî åäèí root) è âñåêè òàã, êîéòî ñå ñúäúðæà â íåãî ñå íàðè÷à äúùåðåí òàã. Îò ñâîÿ ñòðàíà, root ñå ÿâÿâà ðîäèòåëñêè òàã çà âñè÷êè ñúäúðæàùè ñå â íåãî åëåìåíòè. Àêî ðàçãëåäàìå îòíîâî ïðèìåðà ñ êíèãèòå, òî <name> å äúùåðåí òàã íà <style> è ðîäèòåëñêè íà <author> è <subject>. Ñ òîâà ïðèêëþ÷âà öÿëàòà ôèëîñîôèÿ íà XML - íÿìà íèòî åäèí òàã, êîéòî òðÿáâà äà íàó÷èòå, íèòî ïúê íÿêîé àòðèáóò. Àêî ñòå ðàçáðàëè êîíöåïöèèòå äîòóê, òî âèå ñòå ãîòîâè çà ðàáîòà ñ XML.

Íî âñå ïàê, òîâà äàëå÷ íå å âñè÷êî.  XML ñúùåñòâóâàò ñëóæåáíè òàãîâå, êîèòî çàïî÷âàò ñ óäèâèòåëíà (!). Òå ñå èçïîëçâàò çà äåôèíèðàíå ñòðóêòóðàòà íà äîêóìåíòà. Òúé êàòî XML íÿìà íèòî îïðåäåëåíè òàãîâå, íèòî îïðåäåëåíè àòðèáóòè, òî ïðîãðàìàòà íÿìà êàê äà çíàå êàêâî å ñúäúðæàíèåòî íà XML äîêóìåíòà. Òÿ ìîæå ïðîñòî äà ïðåäïîëîæè, ÷å òî îòãîâàðÿ íà íåéíèòå êðèòåðèè è äà ãî èçïîëçâà òàêà, êàêòî áè èçïîëçâàëà âàëèäåí XML äîêóìåíò. Íî àêî òî íå îòãîâàðÿ íà èçèñêâàíèÿòà? Òóê å ìÿñòîòî äà ðàçãëåäàìå îáðàáîòâàíåòî íà äàííèòå â XML äîêóìåíòà è XML-ïðîöåñîðèòå. Ïðîãðàìà, êîÿòî èíòåðïðåòèðà ïî íÿêàêúâ íà÷èí XML äîêóìåíò è èçâåæäà ðåçóëòàòà íà åêðàíà, ñå íàðè÷à XML ïðîöåñîð. Ïðîöåñîðà ìîæå äà ïðîâåðÿâà äàëè äîêóìåíòà å âàëèäåí, íî òîâà íå å çàäúëæèòåëíî. Êîãàòî ïðîöåñîðà ïðîâåðÿâà XML äîêóìåíòà, òîé ìîæå äà óñòàíîâè ñàìî ãðåøêè â XML ñèíòàêñèñà (íåçàòâîðåíè òàãîâå è ò.í.), äî ìîìåíòà, â êîéòî òîé íå çíàå êàêâà òðÿáâà äà áúäå ñòðóêòóðàòà íà äîêóìåíòà. Åäèí îò îñíîâíèòå íà÷èíè çà îïðåäåëÿíå íà ñòðóêòóðàòà íà äîêóìåíòà å DTD (Document Type Definition - äåôèíèöèÿ íà òèïà íà äîêóìåíòà) - ñèñòåìà îò ñëóæåáíè XML òàãîâå, êîèòî îïèñâàò êàêâè òàãîâå ñå î÷àêâà äà ïðèñúñòâàò â äîêóìåíòà, êàêâè àòðèáóòè è äúùåðíè òàãîâå ìîãàò äà èìàò òå, êàêâè ñà ïîçâîëåíèòå ñòîéíîñòè íà àòðèáóòèòå. Ïî òîçè íà÷èí ïðîöåñîðà ìîæå äà îòêðèå ãðåøêà è äà èçâåäå èíôîðìàòèâíî ñúîáùåíèå, âìåñòî äà èíòåðïðåòàòîðà äàííè, êîèòî íå ïîäõîæäàò çà ïðîãðàìàòà. Èìåííî ñúçäàâàíåòî íà DTD ùå ðàçãëåäàìå ñåãà, çà äà ïðåìèíåì ïîñëå êúì èçïîëçâàíåòî íà XML â web. Äåôèíèöèÿòà ñå ñëàãà â íà÷àëîòî íà äîêóìåíòà. Ìîæå ñúùî òàêà äà ñå èçïîëçâà âúíøåí .dtd ôàéë - òîâà å îñîáåíî ïîëåçíî, êîãàòî ìíîæåñòâî äîêóìåíòè èìàò åäíà è ñúùà äåôèíèöèÿ èëè ïðè ãîëåìè äåôèíèöèè, çà äà áúäàò ïî-óäîáíè çà ðàáîòà êàêòî ñàìàòà äåôèíèöèÿ, òàêà è äîêóìåíòà. Äåôèíèöèÿòà íà äîêóìåíòà çàïî÷âà ñ òàãà <!DOCTYPE> Ñëåäâà èìå íà äåôèíèöèÿòà. Àêî äåôèíèöèÿòà å âúâ âúíøåí ôàéë ñå èçïîëçâà êëþ÷îâàòà äóìà SYSTEM è èìåòî íà ôàéëà. Åòî åäèí ïðèìåð: <!DOCTYPE Library SYSTEM "MyLbrl.dtd"> Ïúðâîòî íåùî, íà êîåòî òðÿáâà äà ñå îáúðíå âíèìàíèå, ÷å ñëóæåáíèòå òàãîâå ÍßÌÀÒ çàòâàðÿùè òàãîâå. Ñëóæåáíèÿ òàã âåäíàãà ùå ãî ïîçíàåòå ïî óäèâèòåëíàòà â íà÷àëîòî, ãëàâíèòå áóêâè è ëèïñàòà íà çàòâàðÿù òàã. Íî êàê òîãàâà ñå îáîçíà÷àâà êðàé íà äåôèíèöèÿòà? Êîãàòî äåôèíèöèÿòà íå å âúâ âúíøåí ôàéë, òî òÿ èìà âèäà

Êîä:
<!DOCTYPE Library [ 
...
]>



Èìåííî ìåæäó êâàäðàòíèòå ñêîáè ñå ñúäúðæà öÿëîñòíàòà äåôèíèöèÿ, ñúñòîÿùà ñå îò ñåðèÿ ñëóæåáíè òàãîâå. Îïðåäåëÿíåòî íà åëåìåíò ñòàâà ÷ðåç òàãà <!ELEMENT> êîéòî ñúäúðæà èìåòî íà åëåìåíòà è èçáðîåíè â êðúãëè ñêîáè âúçìîæíèòå äúùåðíè åëåìåíòè.

Àêî ñúçäàâàìå äåôèíèöèÿ íà êîäà

Êîä:
<skininfo>
<version>1.1</version>
<name>zygote</name>
<comment>.enjoy.check the skin configuration windows.enjoy.</comment>
<author>Michael S. , Mathieu P.</author>
<email>michael_spano@hotmail.com, nirvn@hotmail.com</email>
<homepage>http://www.breedart.org</homepage>
<screenshot>skinshot.png</screenshot>
</skininfo>



Òî òÿ ùå èçãëåæäà òàêà

Êîä:
<!DOCTYPE Skin [
<!ELEMENT skininfo (version, name, comment, author, email, homepage, screenshot)>
]>



Íî îñâåí ãëàâíèÿ åëåìåíò (root) òðÿáâà äà îïðåäåëèì äúùåðíèòå åëåìåíòè. Òå èìàò íÿêàêúâ òèï äàííè, êîèòî ñå ñúäúðæàò ìåæäó îòâàðÿùèÿ è çàòâàðÿùèÿ òàã. Îáèêíîâåíî äàííèòå ñà #PCDATA (ïîâå÷å çà òèïîâåòå äàííè ùå íàó÷èòå ìàëêî ïî-íàòàòúê, è ñúîòâåòíî íàøàòà äåôèíèöèÿ ùå ñå ðàçøèðè äî:

Êîä:
<!DOCTYPE Skin [
<!ELEMENT skininfo (version, name, comment, author, email, homepage, screenshot)>
<!ELEMENT version (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT comment (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT homepage (#PCDATA)>
<!ELEMENT screenshot (#PCDATA)>
]

 


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

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


© Âñè÷êè ïðàâà çàïàçåíè. 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