XML-veiledning for nybegynnere
Hva er XML?
XML stรฅr for eXstrekkbar Markup Language. Det er et sprรฅk (ikke> et programmeringssprรฅk) som bruker markeringen og kan utvide. Det er avledet fra Standard Ggeneralisert Markup Lsprรฅk (SGML). XML bruker ogsรฅ DTDer (Dyrke Type Defitions) for รฅ definere XML-dokumentstrukturen.
XML er ikke for hรฅndtering av beregningsoperasjoner og algoritmer. Dermed er ikke XML et programmeringssprรฅk. Hovedmรฅlet er รฅ transportere data for ikke รฅ vise informasjon. XML bygger bro mellom menneskelig lesbarhet og maskinlesbarhet. I motsetning til HTML-koder, er XML-koder selvbeskrivende.
XML er et รฅpent format. Filnavnet til XML er .xml
Historien om XML
XML startet helt tilbake i 1996 og ble fรธrst publisert i 1998. World Wide Web Consortium (W3C) er utvikleren av XML, og det ble en W3C-anbefaling i 1998.
Det finnes to versjoner av XML.
- XML 1.0
- XML 1.1
XML 1.1 er den nyeste versjonen. Ennรฅ, XML 1.0 er den mest brukte versjonen.
Redaktรธrer av XML er:
- Tim Bray,
- Jean Paoli,
- CM Sperberg,
- Eve Maler,
- Franรงois Yergeau.
XML-funksjoner
Her er noen viktige funksjoner i XML:
- Den er utvidbar og lesbar for mennesker.
- Det er plattform- og sprรฅkuavhengig.
- Det bevarer hvit plass.
- Generell enkelhet.
- Selvbeskrivende natur.
- Den skiller data fra HTML.
- XML-koder er ikke forhรฅndsdefinert. Du mรฅ definere dine tilpassede tagger.
- XML ble designet for รฅ bรฆre data, ikke for รฅ vise disse dataene.
- Mark-up kode for XML er lett รฅ forstรฅ for et menneske.
- Godt strukturert format er lett รฅ lese og skrive fra programmer.
- XML er et utvidbart markup-sprรฅk som HTML.
XML-koding
Koding er konvertering av Unicode-tegn til deres binรฆre representasjon. UTF brukes for XML-koding. UTF stรฅr for UCS (SCU stรฅr for Uuniversell Charact Set) Tranformasjon Format.
Hovedsakelig er det to typer UTF-koding.
- UTF-8: UTF-8 bruker 8-biter for รฅ representere tegnene.
- UTF-16
Eksempel:
<?xml version="1.0" encoding="UTF-8"?>
Den bruker 16-biter for รฅ representere tegnene.
Eksempel:
<?xml version="1.0" encoding="UTF-16"?>
Du kan bruke koding inne i XML-deklarasjonen. UTF-8 er standardkodingen i XML.
XML-syntaks
Kodesegmentet nedenfor viser den grunnleggende XML-syntaksen.
<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
XML-erklรฆring
XML-erklรฆringen bestรฅr av XML-versjonen, tegnkoding eller/og frittstรฅende status. Erklรฆringen er valgfri.
Syntaks for XML-erklรฆring
Kodesegmentet nedenfor viser syntaksen for XML-deklarasjon.
<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?>
XML-erklรฆringsregler
Fรธlgende er XML-erklรฆringsregler.
- Hvis XML-deklarasjonen finnes, mรฅ den vรฆre det fรธrste som vises.
- XML-erklรฆringen skiller mellom store og smรฅ bokstaver, og den mรฅ begynne med smรฅ bokstaver <?xml.
- Den har ingen lukkebrikke.
Eksempel pรฅ XML-erklรฆring
Fรธlgende kodesegment viser et eksempel pรฅ en XML-deklarasjon.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
XML-kommentarer
Kommentarer er valgfrie. ร legge til kommentarer bidrar til รฅ forstรฅ dokumentinnholdet.
Syntaks for XML-kommentarer
En kommentar begynner med <!โ og slutter med ->.
Fรธlgende kodesegment viser syntaksen for XML-kommentarer.
<!-- Add your comment here -->
XML-koder og -elementer
Merker fungerer som par bortsett fra deklarasjoner. Hvert tag-par bestรฅr av en รฅpningsmerke (ogsรฅ kjent som start tag) Og en avsluttende tag (ogsรฅ kjent som sluttmerke).
Tag-navn er vedlagt <>. For et bestemt taggpar mรฅ start- og slutttaggene vรฆre identiske bortsett fra at slutttaggen har / etter at <.
<name>...</name>
Alt mellom รฅpnings- og lukkebrikkene kalles innhold.
ร pningstag, innhold og avsluttende tag, til sammen, refereres til som en element.
Opening tag + content + closing tag = an element
OBS: Elementer kan ogsรฅ inneholde attributter. Du vil lรฆre egenskapene veldig snart.
La oss vurdere elementet nedenfor.
<age>20</age>
I elementet ovenfor,
- alder er den navnet pรฅ elementet.
Merk: Tagnavn ogsรฅ referert til som en element or elementnavn.
- โ รฅpningsmerke
- 25 - innhold
- โ lukkebrikke.
Hvis det ikke er noe innhold mellom taggene, som vist nedenfor, refereres det til som tomme tagger.
<result></result>
XML-tag og elementregler
Fรธlgende liste viser XML-tag- og elementregler.
- Tagger skiller mellom store og smรฅ bokstaver.
Eksempel:
Riktig:
<age>20</age>
Feil:
<age>20</Age>
Merk: ALDER, Alder, og alder er tre forskjellige navn i XML.
- Alle XML-dokumenter mรฅ inneholde ett enkelt rotelement.
- Alle elementer skal ha en lukkebrikke (unntatt deklarasjoner).
- Et merkenavn mรฅ begynne med en bokstav eller et understrek, og det kan ikke begynne med XML.
- Et merkenavn kan inneholde bokstaver, sifre, bindestreker, understreker og punktum. Bindestreker understreker, og punktum er de eneste tillatte skilletegnene.
- Et merkenavn kan ikke inneholde mellomrom.
- Alle elementer mรฅ nestes riktig.
Eksempel:
Riktig:
<b><u>This text is bold and italic</u></b>
Feil:
<b><u>This text is bold and italic.</b></u>
XML-attributter
Attributt for et element plasseres etter tagnavnet i startkoden. Du kan legge til mer enn ett attributt for et enkelt element med forskjellige attributtnavn.
La oss vurdere XML-dokumentet nedenfor.
<company name="ABC Holdings" location="London">
<chairman>Mr. John</chairman>
<gm>Mr. Wood</gm>
</company>
Det er to attributter i Selskapet element, dvs navn og plassering.
La oss studere navn Egenskap,
- name="ABC Holdings" โ en egenskap
- navn โ attributtnavn
- ABC Holdings โ attributtverdi
Merknader: En attributtnavn er ogsรฅ kjent som en attributt.
Vรฆr ogsรฅ oppmerksom pรฅ at i eksemplet ovenfor Selskapet er den root element.
XML-attributtregler
Listen nedenfor viser XML-attributtregler.
- Attributtverdier mรฅ vรฆre innenfor anfรธrselstegn.
- Et element kan ikke inneholde flere attributter med samme navn.
Attributt kontra element
Er du fortsatt forvirret om forskjellen mellom et attributt og et element? Her er et annet eksempel.
La oss vurdere dokumentene A og B gitt nedenfor.
Dokument A:
<teacher subject="English">
<name>Mr. John</name>.
<qualification>Graduate</qualification>
</teacher>
Dokument B:
<teacher>
<subject>English</subject>
<name>Mr. John</name>
<qualification>Graduate</qualification>
</teacher>
I dokument A er det emne er en attributt.
I dokument B er det emne er en element.
XML-enheter
Hva er XML-enheter?
Enkelt sagt er enheter en mรฅte รฅ representere spesialtegn pรฅ. Entiteter er ogsรฅ kjent som enhet referanser.
Hvorfor trenger du XML-enheter?
Noen karakterer (som f.eks ", & <, og sรฅ videre) er reservert i XML. De omtales som spesielle karakterer og kan ikke brukes direkte til andre formรฅl.
For eksempel < og > symboler som brukes til tags. Du kan ikke skrive direkte fra tastaturet for mindre enn og stรธrre enn tegn. I stedet mรฅ du bruke enheter.
Tabellen nedenfor viser noen av de populรฆre XML-enhetene.
| Character | Tekniske beskrivelser | Enhetsnavn | bruk |
|---|---|---|---|
| " | Anfรธrselstegn (dobbelt anfรธrselstegn) | quot | " |
| & | Ampersand | amp | & |
| ' | Apostrof (enkelt sitat) | etter | ' |
| < | Less enn tegn | lt | < |
| > | Stรธrre enn tegn | gt | > |
Eksempel:
<friend>
<name>My friends are Alice & Jane.</name>
</friend>
HTML versus XML
Likheter mellom HTML og XML
Fรธlgende liste viser likhetene mellom HTML og XML.
- Begge er รฅpne formater.
- Begge er markeringssprรฅk.
- Begge bruker tagger og attributter for รฅ beskrive innholdet.
Forskjeller mellom HTML og XML
Selv om XML er som HTML, er ikke XML en erstatning for HTML. Det er noen betydelige forskjeller mellom HTML og XML ogsรฅ.
Fรธlgende listetabell viser en sammenligning mellom HTML og XML.
| HTML | XML | |
|---|---|---|
| Stรฅr for | Hypertext Markup Language | Utvidbart Markup Language |
| Type sprรฅk | Et forhรฅndsdefinert merkesprรฅk. | Et rammeverk for รฅ spesifisere markup-sprรฅk. |
| Strukturelle detaljer | Ikke inkludert. | Sรธrget for. |
| Formรฅl | Brukes til รฅ vise data. | Brukes til รฅ transportere data |
| Kjรธrt av | Formatdrevet. | Innholdsdrevet. |
| Natur | Har en statisk natur. | Har en dynamisk natur. |
| Merketype | Forhรฅndsdefinerte tagger. | Brukerdefinerte tagger. |
| Tag-grense | Et begrenset antall tagger er tilgjengelig. | Taggene kan utvides. |
| Avsluttende tagger | Det er ikke nรธdvendig รฅ bruke avsluttende tagger (men anbefales รฅ bruke avsluttende tagger). | Avslutningsbrikker er obligatoriske. |
| Stรธtte for navneomrรฅder | Ikke stรธttet. | Stรธttet. |
| Tilfellefรธlsomhet | Tagger skiller ikke mellom store og smรฅ bokstaver. | Tagger skiller mellom store og smรฅ bokstaver. |
| Hvitt rom | White space kan ikke bevare (kan ignorere white space). | Tomtrom bevart (kan ikke ignorere mellomrom). |
| Parsing inn JavaScript | Trenger ikke noen ekstra sรธknad. | Trenger DOM-implementering. |
| Kode hekking | Ikke nรธdvendigvis nรธdvendig. | Behov for. |
| feil | Kan ignorere smรฅ feil. | Feil er ikke tillatt. |
| Filnavnutvidelse | . Html or . HTM | . Xml |
| Stรธrrelse | Forholdsvis stor. | Forholdsvis liten. |
| Quotes | Anfรธrselstegn er ikke nรธdvendig for attributtverdier. | Pรฅkrevd for XML-attributtverdier. |
| Objektstรธtte | Tilbyr innfรธdt objektstรธtte. | Objekter mรฅ uttrykkes ved konvensjoner. |
| Null stรธtte | Gjenkjenner nullverdien. | Trenger รฅ bruke xsi:nil pรฅ elementer. |
| Formateringsbeslutninger | Gir direkte kartlegging for applikasjonsdata. | Krever mer betydelig innsats. |
| Lรฆringskurve | Less bratt lรฆringskurve sammenlignet med XML. | Bratt lรฆringskurve. |
| Nettsted | https://html.spec.whatwg.org/ | https://www.w3.org/TR/xml11/ |
Grunnleggende HTML-syntaks
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
Grunnleggende XML-syntaks
<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Samme eksempel med HTML og XML
Med HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p>Book</p>
<p>Name: Anna Karenina</p>
<p>Author: Leo Tolstoy</p>
<p>Publisher: The Russian Messenger</p>
</body>
</html>
Med XML
<?xml version = "1.0" encoding = "UTF-8" ?>
<book>
<name>Anna Karenina</name>
<author>Leo Tolstoy</author>
<publisher>The Russian Messenger</publisher>
</book>
JSON versus XML
Likheter mellom JSON og XML
Listen nedenfor viser likhetene mellom JSON og XML.
- Begge er รฅpne formater.
- Begge er selvbeskrivende.
- Begge har en hierarkisk struktur.
- Begge kan analysere og bruke av flere programmeringssprรฅk.
Forskjeller mellom JSON og XML
Det er flere forskjeller mellom XML og JSON ogsรฅ.
Tabellene nedenfor viser en sammenligning mellom JSON og XML.
| JSON | XML | |
|---|---|---|
| Stรฅr for | JavaSkriptobjektnotasjon | Utvidbart Markup Language |
| Utvidet fra | JavaScript | SGML |
| Datalagring | Data lagret som nรธkkel-verdi-par. | Data lagret som en trestruktur. |
| Navnerom | Ingen stรธtte for navneomrรฅder. | Stรธtter navneomrรฅder. |
| Kommentar | ร legge til kommentarer stรธttes ikke. | Kan legge til kommentarer. |
| Datatilgjengelighet | Lett tilgjengelig som JSON-objekter. | Data mรฅ analyseres. |
| metadata | ร legge til metadata stรธttes ikke. | Kan skrive metadata. |
| Typer | JSON-typer: streng, tall, array, boolsk. | Alle XML-data skal vรฆre strenger. |
| Datatyper stรธtte | Stรธtter tekst og Antall bare datatyper. | Stรธtter mange datatyper (tekst, tall, bilder, sรฅ videre) |
| Arrays stรธtte | Mer stรธtte for arrays sammenlignet med XML. | Ingen eller mindre stรธtte for arrays. |
| Objektets stรธtte | Innfรธdt stรธtte for objektet. | Objektet mรฅ uttrykkes ved konvensjoner. |
| Stรธtte for AJAX-verktรธysett | Stรธttet. | Ikke fullt ut stรธttet. |
| Henter verdier | Lett. | Vanskelig. |
| Deserialisering/serialisering | Helt automatisert. | Utviklere mรฅ skrive JavaSkriptkode. |
| Nettleser stรธtte | Stรธttes av de fleste nettlesere. | XML-parsing pรฅ tvers av nettlesere kan vรฆre vanskelig. |
| koding | Stรธtter kun UTF-8-koding. | Den stรธtter forskjellig koding. |
| Visningsmuligheter | Ingen visningsmuligheter. | Tilby visningsmuligheter. |
| Dokumentstรธrrelse | Mindre enn XML. | Stor enn JSON. |
| Filnavnutvidelse | .json | . Xml |
| Trygghet | Less sikret. | Sikrere enn JSON. |
| Lett รฅ lese | Relativt enkelt. | Relativt vanskelig. |
| Lรฆringskurve | Lett รฅ lรฆre. | Bratt lรฆringskurve. |
| Nettsted | https://www.json.org/json-en.html | https://www.w3.org/TR/xml11/ |
Grunnleggende JSON-syntaks
{string:value, .......}
Samme eksempel med JSON og XML
Med JSON
{"books":[
{"name":"Anna Karenina", "author":"Leo Tolstoy"},
{"name":"One Hundred Years of Solitude", "author":"Gabriel Garcia Marquez"},
{"name":"The Great Gatsby", "author":"Scott Fitzgerald"},
{"name":"Invisible Man", "author":"Ralph Ellison"}
]}
Med XML
<?xml version = "1.0" encoding = "UTF-8" ?>
<books>
<book>
<name>Anna Karenina</name>
<author>Leo Tolstoy</author>
</book>
<book>
<name>One Hundred Years of Solitude</name>
<author>Gabriel Garcia Marquez</author>
</book>
<book>
<name>The Great Gatsby</name>
<author>Scott Fitzgerald</author>
</book>
<book>
<name>Invisible Man</name>
<author>Ralph Ellison</author>
</book>
</books>
XML DTD
Hva er DTD?
DTD stรฅr for Dyrke Type Definisjon. Den definerer strukturen til et XML-dokument ved รฅ bruke noen juridiske elementer. XML DTD er valgfritt.
DTD-regler
Fรธlgende liste viser DTD-regler.
- Hvis DTD er tilstede, mรฅ det vises i starten av dokumentet (kun XML-erklรฆringen kan vises over DTD).
- Elementdeklarasjonen mรฅ starte med en ! merke.
- DTD-navnet og elementtypen til rotelementet mรฅ vรฆre det samme.
Eksempler pรฅ DTD
Eksempel pรฅ en intern DTD:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student [
<!ELEMENT student (firstname,lastname,school)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT school (#PCDATA)>
]>
<student>
<firstname>Mark</firstname>
<lastname>Wood</lastname>
<school>Hills College</school>
</student>
I eksemplet ovenfor,
- !DOCTYPE-student indikerer begynnelsen av DTD-erklรฆringen. Og den student er rotelementet til XML-dokumentet.
- !ELEMENT student indikerer student element mรฅ inneholde fornavn, etternavn og skole elementer.
- !ELEMENT fornavn indikerer firstname element er av typen #PCDATA (Parsed Charact Data).
- !ELEMENT etternavn indikerer etternavn element er av typen #PCDATA.
- !ELEMENT skole indikerer skole element er av typen #PCDATA.
Eksempel pรฅ en ekstern DTD:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student SYSTEM "student.dtd">
<student>
<firstname>Mark</firstname>
<lastname>Wood</lastname>
<school>Hills College</school>
</student>
DTD-filinnholdet (student.dtd) som fรธlger.
<!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)>
XML DOM
Hva er DOM?
DOM stรฅr for Dyrke Ogjenstand Model. Den definerer en standard mรฅte รฅ fรฅ tilgang til og manipulere XML-dokumenter pรฅ. DOM har en (hierarkisk) trestruktur.
Eksempel pรฅ DOM
La oss vurdere XML-dokumentet nedenfor.
<?xml version="1.0" encoding="UTF-8" ?>
<school>
<student>
<name>
<first_name>Alex</first_name>
<last_name>Clarke</last_name>
</name>
<age>14</age>
<address>No. 35, Flower Road, Leeds</address>
</student>
</school>
Trestrukturen til XML-filen ovenfor vil se ut som fรธlgende bilde.

XML-validering
Hva er velformede XML-dokumenter?
Velformet XML-dokumenter er XML-dokumenter med riktig syntaks.
Hva er gyldige XML-dokumenter?
Gyldig XML-dokumenter er godt utformet og samsvarer ogsรฅ med DTD-reglene.
XML-navneomrรฅder
Hvorfor navneomrรฅder?
Navneomrรฅder bidrar til รฅ unngรฅ elementnavnkonflikter.
Navneomrรฅdeerklรฆring
Fรธlgende viser syntaksen for navneromdeklarasjonen.
<element xmlns:name="URL">
I erklรฆringen ovenfor,
- Ocuco xmlns nรธkkelord indikerer begynnelsen av navneomrรฅdet.
- Ocuco navn er prefikset til navneomrรฅdet.
- Ocuco URL er navneomrรฅdeidentifikatoren.
Eksempler pรฅ navnerom
Fรธlgende kodesegment viser et eksempel pรฅ navneomrรฅder.
<?xml version="1.0" encoding="UTF-8" ?>
<abt:about xmlns:abt="https://www.guru99.com/about-us.html">
<abt:founder>Krishna</abt:founder>
<abt:vision>Fun and Free Education for ALL</abt:vision>
</abt:about>
XML-redaktรธrer
Det er flere XML-redigerere tilgjengelig. Enhver tekstredigerer (som notisblokk og sรฅ videre) kan brukes som en XML-redigerer.
Fรธlgende liste viser noen av de populรฆre XML-redaktรธrene i 2021.
1) XML Notisblokk
XML Notepad er en รฅpen kildekode-editor for XML. Den har en trevisning og XSL-utgang i venstre rute og nodetekst til hรธyre. Den har et feilsรธkingsvindu nederst.
Nรธkkelstatistikk:
- Type โ XML-editor
- Utvikler โ Microsoft
- Stรธttet operativsystem โ Microsoft Windows.
- Pris โ Gratis
Link: http://microsoft.github.io/XmlNotepad/
2) Stylus Studio
Stylus Studio er en IDE skrevet i C++ for Extensible Markup Language ( XML ). Den lar en bruker redigere og transformere XML-dokumenter, data som elektronisk datautveksling (EDI), CSV og relasjonsdata.
Nรธkkelstatistikk:
- Type โ Integrert utviklingsmiljรธ (IDE) for XML
- Utvikler โ Progress Software Corporation
- Stรธttet operativsystem โ Microsoft Windows.
- Pris โ Betalt (Vennligst se nettstedet gitt nedenfor for siste pris), Gratis prรธveversjon tilgjengelig.
Link: http://www.stylusstudio.com/
3) Altova XMLSpy
XMLSpy markedsfรธres primรฆrt som en JSON og XML Editor. Den har en innebygd skjemadesigner og redaktรธr. Det inkluderer Visual Studio And Eclipse integrering.
Nรธkkelstatistikk:
- Type โ XML Editor
- Utvikler โ Altova
- Stรธttet operativsystem โ Microsoft Windows.
- Pris โ Betalt (Vennligst se nettstedet gitt nedenfor for siste pris), Gratis prรธveversjon tilgjengelig.
Link:https://www.altova.com/xmlspy-xml-editor
4) Oksygen XML Editor
Oxygen XML er en editor pรฅ tvers av plattformer utviklet i Java. Det hjelper รฅ validere skjemaer som DTD, W3C XML Schema, RELAX NG, Schematron, NRL og NVDL-skjemaer.
Nรธkkelstatistikk:
- Type โ XML-editor
- Utvikler โ SyncRO Soft Ltd
- Stรธttet operativsystem โ Windows, Linux og Mac OS X
- Pris โ Betalt (Vennligst se nettstedet gitt nedenfor for siste pris
Link:https://www.oxygenxml.com/
5) Forenkle
Xmplify XML Editor gir et fullstendig XML-bevisst redigeringsmiljรธ med DTD og XML Schema-basert automatisk, automatisk dokumentvalidering, etc.
Nรธkkelstatistikk:
- Type โ XML Editor
- Utvikler โ MOSO Corporation
- Stรธttet operativsystem โ Mac OS.
- Pris โ Betalt (Vennligst se nettstedet gitt nedenfor for siste pris
Link: http://xmplifyapp.com/
XML-parsere
En XML-parser er et programvarebibliotek som gir et grensesnitt for รฅ arbeide med XML-dokumenter. Den sjekker om formatet pรฅ XML-dokumentet er riktig. Noen parsere kan ogsรฅ validere XML-dokumentene. Moderne nettlesere kommer med XML-parsere.
SAX
SAX stรฅr for Sgjennomfรธre API for XML. Det er en aPROGRAM program ingrensesnitt (API) for รฅ analysere XML-dokumenter. De oppfรธrer seg pรฅ samme mรฅte som hendelsesbehandlerne i Java.
I motsetning til DOM er SAX et eksempel pรฅ en hendelsesbasert XML-parser.
Her er noen viktige forskjeller mellom SAX og DOM.
| SAX | DOM | |
|---|---|---|
| Stรฅr for | Enkelt API for XML | Dokumentobjektmodell |
| Type parser | Hendelsesbasert | Objektbasert |
| Les og skriv XML | Read-only | Bรฅde les og skriv |
| Sett inn/oppdater/slett noder | Kan ikke sette inn/oppdatere/slette noder | Kan sette inn/oppdatere/slette noder |
| Minneeffektivitet | God minneeffektivitet | Varierer |
| Speed | Tregere enn DOM Parser | Raskere enn SAX Parser |
| Egnet for | Smรฅ filer | Store filer |
XML-databinding
XML-databinding er representasjonen av data i et XML-dokument som et forretningsobjekt i minnet til en datamaskin.
Det er tre tilnรฆrminger for XML-databinding.
- XML-skjemabasert databinding: Tilsvarende XML-klasser opprettes basert pรฅ skjemaet.
- Klassebasert databinding: Et tilsvarende XML-skjema lages basert pรฅ klasser.
- Kartbasert databinding: Den beskriver hvordan et eksisterende XML-skjema kartles til et sett med klasser (og omvendt).
Det er ogsรฅ XML-databindingsrammer.
Eksempler:
XML-databinding er enkelt med rammeverk. Databindingsrammeverket genererer en stor mengde kode for deg. Du mรฅ mate inn et DTD- eller XML-skjema.
XML-skjemaer
XML skjema (Ogsรฅ kjent som XML-skjemadefinisjon or XSD) brukes til รฅ beskrive XML-dokumentstrukturen. Det er et alternativ til DTD.
Hvorfor skjema er viktig?
DTD er ikke kraftig som skjema da det ikke er utvidbart og fleksibelt nok. Sรฅ det er kanskje ikke egnet for enkelte situasjoner. I en slik situasjon er skjema viktig. Hovedformรฅlet med รฅ bruke XML-skjema er รฅ definere elementene og attributtene til et XML-dokument.
Hvordan er XML-skjema forskjellig fra DTD?
Fรธlgende sammenligning viser hvordan XSD (XML Schema) er forskjellig fra DTD.
| DTD | XSD | |
|---|---|---|
| Stรฅr for | Definisjon av dokumenttype | Definisjon av XML-skjema |
| utvidelses~~POS=TRUNC | Ikke utvidbar | Extensible |
| Kontroll pรฅ XML-struktur | Less kontroll | Mer kontroll |
| Datatyper stรธtte | Stรธttes ikke | Stรธttes |
| Navneomrรฅdestรธtte | Stรธttes ikke | Stรธttes |
Fรธlgende kodesegment viser et eksempel pรฅ XML-skjema.
xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
<xs:element name = "employee">
<xs:complexType>
<xs:sequence>
<xs:element name = "firstname" type = "xs:string" />
<xs:element name = "lastname" type = "xs:string" />
<xs:element name = "phone" type = "xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Fordeler med XML
Her, fordeler/fordeler med XML:
- Det gjorde det enkelt รฅ transportere og dele data.
- XML forbedrer utvekslingen av data mellom ulike plattformer.
- Det er et markup language, som er et sett med tegn eller/og symboler plassert i et tekstdokument.
- XML angir hvordan XML-dokumentet skal se ut etter at det er vist.
- Det forenkler plattformbytteprosessen.
- Det forbedrer datatilgjengeligheten.
- Den stรธtter flersprรฅklige dokumenter og Unicode.
- Gir relativt enkelt รฅ lรฆre og kode.
- Det er et markup language, som er et sett med tegn eller/og symboler plassert i et tekstdokument.
- Den utfรธrer validering ved hjelp av DTD og Schema.
- Gjรธr dokumenter transportable pรฅ tvers av systemer og applikasjoner. Ved hjelp av XML kan du raskt utveksle data mellom ulike plattformer.
- XML skiller dataene fra HTML.
Ulemper med XML
Her er ulempene/ulempene ved รฅ bruke XML:
- XML krever en behandlingsapplikasjon.
- XML-syntaksen ligner pรฅ andre alternative 'tekstbaserte' dataoverfรธringsformater, som noen ganger er forvirrende.
- Ingen stรธtte for egen datatype
- XML-syntaksen er overflรธdig.
- Tillater ikke brukeren รฅ lage sine tagger.
Sammendrag
- XML stรฅr for eXtensible Markup Language. XML er et sprรฅk (ikke et programmeringssprรฅk) som bruker markeringen og kan utvide.
- Hovedmรฅlet er รฅ transportere data, ikke รฅ vise data.
- XML 1.1 er den nyeste versjonen. Likevel er XML 1.0 den mest brukte versjonen.
- Merker fungerer som par bortsett fra deklarasjoner.
- ร pningstag + innhold + avsluttende tag = et element
- Entiteter er en mรฅte รฅ representere spesialtegn pรฅ.
- DTD stรฅr for Document Type Definition. Den definerer strukturen til et XML-dokument ved รฅ bruke noen juridiske elementer. XML DTD er valgfritt.
- DOM stรฅr for Document Object Model. Den definerer en standard mรฅte รฅ fรฅ tilgang til og manipulere XML-dokumenter pรฅ.
- Velformede XML-dokumenter er XML-dokumenter med korrekt syntaks.
- Gyldige XML-dokumenter er godt utformet og samsvarer ogsรฅ med DTD-reglene.
- Navneomrรฅder bidrar til รฅ unngรฅ elementnavnkonflikter.
