Galvenā atšķirība - DTD pret XSD
DTD un XSD ir saistīti ar XML, kas tiek izmantots datu pārsūtīšanai starp vairākām tā funkcijām. Lielākajai daļai lietojumprogrammu ir nepieciešama datu pārsūtīšana. Ja klienta iekārtai ir nepieciešams iegūt datus no servera, ir jābūt efektīvai datu iegūšanas metodei. Šī uzdevuma veikšanai var izmantot XML. Tas nozīmē Extensible Markup Language. Galvenā XML izmantošanas priekšrocība ir datu pārsūtīšana. Izņemot to, to var izmantot arī ietvaru konfigurēšanai un Android lietojumprogrammu izkārtojuma izstrādei. XML izmantotie tagi nav iepriekš definēti. Programmētājs var ierakstīt tagus atbilstoši lietojumprogrammai. XML dokuments satur struktūru un saturu. XML valodā DTD apzīmē dokumenta tipa definīciju un XSD apzīmē XML shēmas definīciju. DTD ir iezīmēšanas deklarāciju kopa, kas nosaka dokumenta veidu SGML - ģimenes iezīmēšanas valodai. XSD norāda, kā formāli aprakstīt elementus paplašināmās iezīmēšanas valodas dokumentā. Galvenā atšķirība starp DTD un XSD ir tā, ka DTD var izmantot struktūras definēšanai, savukārt XSD var izmantot struktūras un satura definēšanai. Šajā rakstā ir apskatīta atšķirība starp DTD un XSD.
Kas ir DTD?
DTD apzīmē dokumenta tipa definīciju. To izmanto, lai precīzi aprakstītu XML valodu. DTD galvenais mērķis ir definēt XML faila struktūru. Tajā ir juridisko elementu saraksts. To izmanto arī apstiprināšanai. Ir divu veidu DTD. Tie ir iekšēji vai ārēji. Ja DTD elementi ir deklarēti XML failā, to sauc par iekšējo DTD. Ja DTD elementi ir deklarēti kādā citā failā, to sauc par ārējo DTD.
Attēls 01: iekšējais DTD
Saskaņā ar iepriekš minēto elementi tiek deklarēti XML failā. Tātad, tas ir iekšējs DTD. <! DOCTYPE Students definē, ka dokumenta saknes elements ir Students. Nosaka, ka Studenta elements sastāv no trim elementiem, kas ir ID, vārds un e-pasts. Katrs ID, vārds un e-pasts tiek definēti atsevišķi. Tie visi ir parsējami datu tipi. DTD pastāv no 2. līdz 7. rindiņai. Pārējais ir XML.
Attēls 02: Ārējā DTD faila pievienošana
Kad DTD fails ir saglabāts kā students.dtd, tas jāpievieno XML failam. Tas tiek darīts šādi;
Kas ir XSD?
XSD apzīmē XML shēmas definīciju. To izmanto, lai noteiktu XML failu struktūru un saturu. Tā ir metode, kā izteikt XML faila ierobežojumu. XSD ir līdzīgs DTD, taču tas nodrošina lielāku kontroli pār XML struktūru. Ir divu veidu XSD faili. Tie ir vienkārša tipa un sarežģīti tipi. SimpleType ļauj izmantot teksta elementus. Tajā ir mazāk atribūtu, pakārtoto elementu, un to nevar atstāt tukšu. ComplexType ļauj turēt vairākus atribūtus un elementus. Tas satur papildu apakšelementus, un to var atstāt tukšu.
03. attēls: fails new1.xsd
Saskaņā ar iepriekš minēto XSD failu, definē, ka elementa nosaukums ir Students. Nosaka, ka elements Student ir kompleksa tipa. Nosaka, ka kompleksais tips ir elementu secība. Nosaka, ka elementa ID ir virknes vai teksta tipa. Vārdam un e-pasta adresei ir arī virkne vai teksts.
4. attēls: Student.xml fails
Augšpusē ir XML fails, faila new1.xsd atrašanās vieta ir jāiekļauj iekšpusē xsi:schemaLocation.
Kāda ir līdzība starp DTD un XSD?
Gan DTD, gan XSD var izmantot, lai definētu XML dokumenta struktūru
Kāda ir atšķirība starp DTD un XSD?
DTD pret XSD |
|
DTD ir iezīmēšanas deklarāciju kopa, kas nosaka dokumenta veidu SGML - ģimenes iezīmēšanas valodai. | XSD norāda, kā formāli aprakstīt elementus paplašināmās iezīmēšanas valodas dokumentā. |
Apzīmē | |
DTD apzīmē dokumenta veida definīciju. | XSD apzīmē XML shēmas definīciju. |
XML struktūras kontrole | |
DTD nodrošina mazāku kontroli pār XML struktūru. | XSD nodrošina lielāku kontroli pār XML struktūru. |
Datu tipu atbalsts | |
DTD neatbalsta datu tipus. | XSD atbalsta datu tipus. |
Vienkāršība | |
DTD ir grūtāks nekā XSD. | XSD ir vienkārša nekā DTD. |
Kopsavilkums - DTD pret XSD
XML ir datu pārsūtīšanas tehnoloģija. DTD un XSD ir saistīti ar XML. XML fails satur struktūru un saturu. DTD ir iezīmēšanas deklarāciju kopa, kas nosaka dokumenta veidu SGML - ģimenes iezīmēšanas valodai. XSD norāda, kā formāli aprakstīt elementus paplašināmās iezīmēšanas valodas dokumentā. Atšķirība starp DTD un XSD ir tāda, ka DTD var izmantot, lai definētu struktūru, savukārt XSD var izmantot, lai definētu struktūru un saturu.