XML-tutorial for begyndere
Hvad er XML?
XML stรฅr for eXspรฆndbar Markup Language. Det er et sprog (ikke> et programmeringssprog), der bruger opmรฆrkningen og kan udvide. Det stammer fra Standard Generaliseret Markup Lsprog (SGML). XML bruger ogsรฅ DTD'er (Dbeskรฆftigelse Type Defitions) for at definere XML-dokumentstrukturen.
XML er ikke til hรฅndtering af beregningsoperationer og algoritmer. XML er sรฅledes ikke et programmeringssprog. Hovedmรฅlet er at transportere data for ikke at vise information. XML bygger bro mellem menneskelig lรฆsbarhed og maskinlรฆsbarhed. I modsรฆtning til HTML-tags er XML-tags selvbeskrivende.
XML er et รฅbent format. Filnavnet til XML er .xml
Historien om XML
XML startede helt tilbage i 1996 og blev fรธrst udgivet i 1998. World Wide Web Consortium (W3C) er udvikler af XML, og det blev en W3C anbefaling i 1998.
Der er to versioner af XML.
- XML 1.0
- XML 1.1
XML 1.1 er den nyeste version. Endnu, XML 1.0 er den mest brugte version.
Redaktรธrer af XML er:
- Tim Bray,
- Jean Paoli,
- CM Sperberg,
- Eva Maler,
- Franรงois Yergeau.
XML-funktioner
Her er nogle vigtige funktioner i XML:
- Den kan udvides og lรฆses af mennesker.
- Det er platform- og sproguafhรฆngigt.
- Det bevarer hvidt rum.
- Samlet enkelhed.
- Selvbeskrivende natur.
- Det adskiller data fra HTML.
- XML-tags er ikke foruddefinerede. Du skal definere dine tilpassede tags.
- XML blev designet til at bรฆre data, ikke til at vise disse data.
- Mark-up kode af XML er let at forstรฅ for et menneske.
- Velstruktureret format er let at lรฆse og skrive fra programmer.
- XML er et udvidbart markupsprog som HTML.
XML-kodning
Kodning er konvertering af Unicode-tegn til deres binรฆre reprรฆsentation. UTF bruges til XML-kodning. UTF stรฅr for UCS (SCU stรฅr for Uuniversel Ckarakter Set) Tranformation Fformat.
Hovedsageligt er der to typer UTF-kodning.
- UTF-8: UTF-8 bruger 8-bit til at reprรฆsentere tegnene.
- UTF-16
Eksempel:
<?xml version="1.0" encoding="UTF-8"?>
Den bruger 16-bit til at reprรฆsentere tegnene.
Eksempel:
<?xml version="1.0" encoding="UTF-16"?>
Du kan bruge kodning inde i XML-deklarationen. UTF-8 er standardkodningen i XML.
XML syntaks
Nedenstรฅende kodesegment viser den grundlรฆggende XML-syntaks.
<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
XML-erklรฆring
XML-erklรฆringen bestรฅr af XML-versionen, tegnkodning eller/og selvstรฆndig status. Erklรฆringen er valgfri.
Syntaks for XML-deklaration
Nedenstรฅende kodesegment viser syntaksen for XML-deklaration.
<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?>
XML-erklรฆringsregler
Fรธlgende er XML-deklarationsregler.
- Hvis XML-deklarationen er til stede, skal det vรฆre det fรธrste, der vises.
- XML-deklarationen skelner mellem store og smรฅ bogstaver, og den skal starte med smรฅ bogstaver <?xml.
- Den har ikke noget lukkemรฆrke.
Eksempel pรฅ XML-deklaration
Fรธlgende kodesegment viser et eksempel pรฅ en XML-deklaration.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
XML-kommentarer
Kommentarer er valgfrie. Tilfรธjelse af kommentarer hjรฆlper med at forstรฅ dokumentindholdet.
Syntaks for XML-kommentarer
En kommentar begynder med <!โ og slutter med ->.
Fรธlgende kodesegment viser syntaksen for XML-kommentarer.
<!-- Add your comment here -->
XML-tags og -elementer
Mรฆrker fungerer som par undtagen erklรฆringer. Hvert tag-par bestรฅr af en รฅbningsmรฆrke (Ogsรฅ kendt som start tag) Og en afsluttende tag (Ogsรฅ kendt som slutmรฆrke).
Tagnavne er indesluttet i <>. For et bestemt tag-par skal start- og sluttags vรฆre identiske, bortset fra at sluttagget har / efter <.
<name>...</name>
Alt mellem รฅbnings- og lukkemรฆrkerne omtales som indhold.
ร bningstag, indhold og afsluttende tag kaldes i det hele taget en element.
Opening tag + content + closing tag = an element
Bemรฆrk: Elementer kan ogsรฅ indeholde attributter. Du vil lรฆre egenskaberne meget snart.
Lad os overveje nedenstรฅende element.
<age>20</age>
I ovenstรฅende element,
- alder er navnet pรฅ elementet.
Bemรฆrk: Tagnavn ogsรฅ kaldet en element or element navn.
- โ รฅbningsmรฆrke
- 25 - indhold
- โ lukkemรฆrke.
Hvis der ikke er noget indhold mellem taggene, som vist nedenfor, kaldes det tomme tags.
<result></result>
XML-tag og elementregler
Fรธlgende liste viser regler for XML-tag og element.
- Tags skelner mellem store og smรฅ bogstaver.
Eksempel:
Korrekt:
<age>20</age>
Forkert:
<age>20</Age>
Bemรฆrk: ALDER, Alder, og alder er tre forskellige navne i XML.
- Alle XML-dokumenter skal indeholde et enkelt rodelement.
- Alle elementer skal have et lukkemรฆrke (undtagen erklรฆringer).
- Et tagnavn skal begynde med et bogstav eller en understregning, og det kan ikke starte med XML
- Et mรฆrkenavn kan indeholde bogstaver, cifre, bindestreger, understregninger og punktum. Bindestreger understreger, og punktum er de eneste tilladte tegnsรฆtningstegn.
- Et tagnavn mรฅ ikke indeholde mellemrum.
- Alle elementer skal indlejres korrekt.
Eksempel:
Korrekt:
<b><u>This text is bold and italic</u></b>
Forkert:
<b><u>This text is bold and italic.</b></u>
XML-attributter
Attribut for et element placeres efter tagnavnet i starttagget. Du kan tilfรธje mere end รฉn attribut for et enkelt element med forskellige attributnavne.
Lad os overveje nedenstรฅende XML-dokument.
<company name="ABC Holdings" location="London">
<chairman>Mr. John</chairman>
<gm>Mr. Wood</gm>
</company>
Der er to attributter i selskab element, dvs navn og placering.
Lad os studere navn egenskab,
- navn = "ABC Holdings" โ en egenskab
- navn โ attributnavn
- ABC Holdings โ attributvรฆrdi
Bemรฆrk: An attributnavn er ogsรฅ kendt som en attribut.
Bemรฆrk ogsรฅ, at i ovenstรฅende eksempel selskab er rod element.
XML-attributregler
Nedenstรฅende liste viser XML-attributregler.
- Attributvรฆrdier skal vรฆre inden for anfรธrselstegn.
- Et element kan ikke indeholde flere attributter med samme navn.
Attribut kontra element
Er du stadig forvirret over forskellen mellem en egenskab og et element? Her er et andet eksempel.
Lad os overveje dokumenter A og B 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 emne er en attribut.
I dokument B er emne er en element.
XML-enheder
Hvad er XML-enheder?
Enkelt sagt er entiteter en mรฅde at reprรฆsentere specialtegn pรฅ. Enheder er ogsรฅ kendt som enhed referencer.
Hvorfor har du brug for XML-enheder?
Nogle karakterer (f.eks ", & <, og sรฅ videre) er reserveret i XML. De omtales som specialtegn og kan ikke direkte bruges til andre formรฅl.
For eksempel < og > symboler, der bruges til tags. Du kan ikke skrive direkte fra tastaturet til mindre end og stรธrre end tegn. I stedet skal du bruge enheder.
Fรธlgende tabel viser nogle af de populรฆre XML-enheder.
| Character | Beskrivelse | Enhedsnavn | Brug |
|---|---|---|---|
| " | Anfรธrselstegn (dobbelt anfรธrselstegn) | quot | " |
| & | Ampersand | amp | & |
| ' | Apostrof (enkelt citat) | efter | ' |
| < | Less end tegn | lt | < |
| > | Stรธrre end tegn | gt | > |
Eksempel:
<friend>
<name>My friends are Alice & Jane.</name>
</friend>
HTML versus XML
Ligheder mellem HTML og XML
Fรธlgende liste viser lighederne mellem HTML og XML.
- Begge er รฅbne formater.
- Begge er markup-sprog.
- Begge bruger tags og attributter til at beskrive indholdet.
Forskelle mellem HTML og XML
Selvom XML er ligesom HTML, er XML ikke en erstatning for HTML. Der er ogsรฅ nogle vรฆsentlige forskelle mellem HTML og XML.
Fรธlgende listetabel viser en sammenligning mellem HTML og XML.
| HTML | XML | |
|---|---|---|
| Stรฅr for | Hypertext Markup Language | Udvidbart Markup Language |
| Type sprog | Et foruddefineret opmรฆrkningssprog. | En ramme til angivelse af markup-sprog. |
| Strukturelle detaljer | Ikke med. | Stillet til rรฅdighed. |
| Formรฅl | Bruges til at vise data. | Bruges til at transportere data |
| Kรธrt af | Formatdrevet. | Indholdsdrevet. |
| Natur | Har en statisk karakter. | Har en dynamisk karakter. |
| Mรฆrketype | Foruddefinerede tags. | Brugerdefinerede tags. |
| Taggrรฆnse | Et begrรฆnset antal tags er tilgรฆngelige. | Tags kan udvides. |
| Afslutning af tags | Det er ikke nรธdvendigt at bruge afsluttende tags (men anbefales at bruge afsluttende tags). | Afslutningsmรฆrker er obligatoriske. |
| Namespace support | Ikke understรธttet. | Understรธttet. |
| Sagsfรธlsomhed | Tags skelner ikke mellem store og smรฅ bogstaver. | Tags skelner mellem store og smรฅ bogstaver. |
| hvidt rum | Hvidt mellemrum kan ikke bevare (kan ignorere hvidt mellemrum). | Hvidt mellemrum bevaret (kan ikke ignorere hvidt mellemrum). |
| Parser ind JavaScript | Ikke nรธdvendig nogen ekstra ansรธgning. | Har brug for DOM implementering. |
| Kode indlejring | Ikke nรธdvendigvis nรธdvendigt. | Havde brug for. |
| fejl | Kan ignorere smรฅ fejl. | Fejl er ikke tilladt. |
| Filnavnsudvidelse | . Html or .htm | . Xml |
| Stรธrrelse | Forholdsvis stor. | Forholdsvis lille. |
| Tilbud | Anfรธrselstegn er ikke pรฅkrรฆvet for attributvรฆrdier. | Pรฅkrรฆvet for XML-attributvรฆrdier. |
| Objektstรธtte | Tilbyder indbygget objektstรธtte. | Objekter skal udtrykkes ved konventioner. |
| Nul support | Native genkender null-vรฆrdien. | Skal bruge xsi:nil pรฅ elementer. |
| Formateringsbeslutninger | Giver direkte kortlรฆgning af applikationsdata. | Krรฆver en stรธrre indsats. |
| Indlรฆringskurve | Less stejl indlรฆringskurve sammenlignet med XML. | Stejl indlรฆringskurve. |
| Hjemmeside | https://html.spec.whatwg.org/ | https://www.w3.org/TR/xml11/ |
Grundlรฆggende 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>
Grundlรฆggende 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
Ligheder mellem JSON og XML
Nedenstรฅende liste viser lighederne mellem JSON og XML.
- Begge er รฅbne formater.
- Begge er selvbeskrivende.
- Begge har en hierarkisk struktur.
- Begge kan parse og bruge af flere programmeringssprog.
Forskelle mellem JSON og XML
Der er ogsรฅ flere forskelle mellem XML og JSON.
Tabellerne nedenfor viser en sammenligning mellem JSON og XML.
| JSON | XML | |
|---|---|---|
| Stรฅr for | JavaScriptobjektnotation | Udvidbart Markup Language |
| Udvidet fra | JavaScript | SGML |
| Data opbevaring | Data gemt som nรธglevรฆrdi-par. | Data gemt som en trรฆstruktur. |
| Namespaces | Ingen understรธttelse af navnerum. | Understรธtter navnerum. |
| Kommentarer | Tilfรธjelse af kommentarer understรธttes ikke. | Kan tilfรธje kommentarer. |
| Datatilgรฆngelighed | Let tilgรฆngelig som JSON-objekter. | Data skal parses. |
| Metadata | Tilfรธjelse af metadata understรธttes ikke. | Kan skrive metadata. |
| Typer | JSON-typer: streng, tal, matrix, boolesk. | Alle XML-data skal vรฆre strygere. |
| Datatyper af support | Understรธtter tekst og nummer kun datatyper. | Understรธtter mange datatyper (tekst, tal, billeder osv.) |
| Arrays support | Mere understรธttelse af arrays sammenlignet med XML. | Ingen eller mindre understรธttelse af arrays. |
| Objektets stรธtte | Native stรธtte til objekt. | Objektet skal udtrykkes ved konventioner. |
| Understรธttelse af AJAX-vรฆrktรธjssรฆt | Understรธttet. | Ikke fuldt understรธttet. |
| Henter vรฆrdier | Easy. | Svรฆrt. |
| Deserialisering/serialisering | Fuldt automatiseret. | Udviklere skal skrive JavaScript kode. |
| Browser understรธttelse | Understรธttes af de fleste browsere. | XML-parsing pรฅ tvรฆrs af browsere kan vรฆre vanskelig. |
| Kodning | Understรธtter kun UTF-8-kodning. | Det understรธtter forskellig kodning. |
| Visningsmuligheder | Ingen visningsmuligheder. | Tilbyd visningsmuligheder. |
| Dokumentstรธrrelse | Mindre end XML. | Stor end JSON. |
| Filnavnsudvidelse | .json | . Xml |
| Sikkerhed | Less sikret. | Mere sikker end JSON. |
| Let at lรฆse | Relativt nemt. | Relativt svรฆrt. |
| Indlรฆringskurve | Let at lรฆre. | Stejl indlรฆringskurve. |
| Hjemmeside | https://www.json.org/json-en.html | https://www.w3.org/TR/xml11/ |
Grundlรฆggende 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
Hvad er DTD?
DTD stรฅr for Dbeskรฆftigelse Type Definition. Det definerer strukturen af โโet XML-dokument ved hjรฆlp af nogle juridiske elementer. XML DTD er valgfrit.
DTD regler
Fรธlgende liste viser DTD-regler.
- Hvis DTD er til stede, skal det fremgรฅ i starten af โโdokumentet (kun XML-deklarationen kan vises over DTD'en).
- Elementdeklarationen skal starte med en ! mรฆrke.
- DTD-navnet og elementtypen for rodelementet skal 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 ovenstรฅende eksempel
- !DOCTYPE studerende angiver begyndelsen af โโDTD-deklarationen. Og studerende er rodelementet i XML-dokumentet.
- !ELEMENT elev angiver studerende element skal indeholde fornavn efternavn og skole elementer.
- !ELEMENT fornavn angiver fornavn element er af typen #PCDATA (Parsed Ckarakter Data).
- !ELEMENT efternavn angiver efternavn element er af typen #PCDATA.
- !ELEMENT skole angiver skole element er af 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-filens indhold (student.dtd) som fรธlger.
<!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)>
XML DOM
Hvad er DOM?
DOM stรฅr for Dbeskรฆftigelse Oobjekt Model. Den definerer en standard mรฅde at fรฅ adgang til og manipulere XML-dokumenter pรฅ. DOM har en (hierarkisk) trรฆstruktur.
Eksempel pรฅ DOM
Lad os overveje nedenstรฅende XML-dokument.
<?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>
Trรฆstrukturen af โโovenstรฅende XML-fil ville se ud som fรธlgende billede.

XML validering
Hvad er velformede XML-dokumenter?
Velformet XML-dokumenter er XML-dokumenter med korrekt syntaks.
Hvad er gyldige XML-dokumenter?
Valid XML-dokumenter er velformede og overholder ogsรฅ DTD-reglerne.
XML navnerum
Hvorfor navnerum?
Navneomrรฅder hjรฆlper med at undgรฅ elementnavnekonflikter.
Navneomrรฅdeerklรฆring
Det fรธlgende viser syntaksen for navnerumserklรฆringen.
<element xmlns:name="URL">
I ovenstรฅende erklรฆring,
- xmlns nรธgleord angiver begyndelsen af โโnavneomrรฅdet.
- navn er prรฆfikset for navneomrรฅdet.
- URL er navneomrรฅdets identifikator.
Eksempler pรฅ navnerum
Fรธlgende kodesegment viser et eksempel pรฅ navnerum.
<?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
Der findes flere XML-editorer. Enhver teksteditor (sรฅsom notesblok og sรฅ videre) kan bruges som en XML-editor.
Den fรธlgende liste viser nogle af de populรฆre XML-editorer i 2021.
1) XML Notesblok
XML Notepad er en open source-editor til XML. Den har en trรฆvisning og XSL-output i venstre rude og nodetekst til hรธjre. Den har et fejlfindingsvindue i bunden.
Nรธglestatistikker:
- Type โ XML-editor
- Udvikler - Microsoft
- Understรธttet operativsystem โ Microsoft Windows.
- Pris - Gratis
Forbindelse: http://microsoft.github.io/XmlNotepad/
2) Stylus Studio
Stylus Studio er en IDE skrevet i C++ til Extensible Markup Language ( XML ). Det giver en bruger mulighed for at redigere og transformere XML-dokumenter, data sรฅsom elektronisk dataudveksling (EDI), CSV og relationelle data.
Nรธglestatistikker:
- Type โ Integreret udviklingsmiljรธ (IDE) til XML
- Udvikler โ Progress Software Corporation
- Understรธttet operativsystem โ Microsoft Windows.
- Pris โ betalt (se venligst webstedet nedenfor for den seneste pris), Gratis prรธveversion tilgรฆngelig.
Forbindelse: http://www.stylusstudio.com/
3) Altova XMLSpy
XMLSpy markedsfรธres primรฆrt som en JSON og XML Editor. Den har en indbygget skemadesigner og editor. Det inkluderer Visual Studio And Eclipse integration.
Nรธglestatistikker:
- Type โ XML Editor
- Udvikler - Altova
- Understรธttet operativsystem โ Microsoft Windows.
- Pris โ betalt (se venligst webstedet nedenfor for den seneste pris), Gratis prรธveversion tilgรฆngelig.
Forbindelse:https://www.altova.com/xmlspy-xml-editor
4) Oxygen XML Editor
Oxygen XML er en cross-platform editor udviklet i Java. Det hjรฆlper med at validere skemaer som DTD, W3C XML Schema, RELAX NG, Schematron, NRL og NVDL skemaer.
Nรธglestatistikker:
- Type โ XML-editor
- Udvikler - SyncRO Soft Ltd
- Understรธttet operativsystem โ Windows, Linux og Mac OS X
- Pris โ betalt (se venligst hjemmesiden nedenfor for den seneste pris
Forbindelse:https://www.oxygenxml.com/
5) Forenkle
Xmplify XML Editor giver et fuldt XML-bevidst redigeringsmiljรธ med DTD og XML Schema-baseret automatisk, automatisk dokumentvalidering osv.
Nรธglestatistikker:
- Type โ XML Editor
- Udvikler โ MOSO Corporation
- Understรธttet operativsystem โ Mac OS.
- Pris โ betalt (se venligst hjemmesiden nedenfor for den seneste pris
Forbindelse: http://xmplifyapp.com/
XML-parsere
En XML-parser er et softwarebibliotek, der giver en grรฆnseflade til at arbejde med XML-dokumenter. Den kontrollerer, om formatet pรฅ XML-dokumentet er korrekt. Nogle parsere kan ogsรฅ validere XML-dokumenterne. Moderne browsere leveres med XML-parsere.
SAX
SAX stรฅr for Sgennemfรธrel API for XML. Det er en anvendelsen program igrรฆnseflade (API) til at parse XML-dokumenter. De opfรธrer sig pรฅ samme mรฅde som hรฆndelseshandlerne i Java.
I modsรฆtning til DOM er SAX et eksempel pรฅ en hรฆndelsesbaseret XML-parser.
Her er nogle vigtige forskelle mellem SAX og DOM.
| SAX | DOM | |
|---|---|---|
| Stรฅr for | Simpel API til XML | Dokumentobjektmodel |
| Type parser | Event-baseret | Objektbaseret |
| Lรฆs og skriv XML | Skrivebeskyttet | Bรฅde lรฆse og skrive |
| Indsรฆt/opdater/slet noder | Kan ikke indsรฆtte/opdatere/slette noder | Kan indsรฆtte/opdatere/slette noder |
| Hukommelseseffektivitet | God hukommelseseffektivitet | Varierer |
| Speed | Langsommere end DOM Parser | Hurtigere end SAX Parser |
| Egnet til | Smรฅ filer | Store filer |
XML-databinding
XML-databinding er reprรฆsentationen af โโdata i et XML-dokument som et forretningsobjekt i en computers hukommelse.
Der er tre tilgange til XML-databinding.
- XML-skemabaseret databinding: Tilsvarende XML-klasser oprettes baseret pรฅ skemaet.
- Klassebaseret databinding: Et tilsvarende XML-skema oprettes baseret pรฅ klasser.
- Kortlรฆgningsbaseret databinding: Den beskriver, hvordan et eksisterende XML-skema knyttes til et sรฆt klasser (og omvendt).
Der er ogsรฅ XML-databindingsrammer.
eksempler:
XML-databinding er let med rammer. Databindingsrammen genererer en stor mรฆngde kode til dig. Du skal indlรฆse et DTD- eller XML-skema.
XML-skemaer
XML skema (ogsรฅ kendt som XML skema definition or XSD) bruges til at beskrive XML-dokumentstrukturen. Det er et alternativ til DTD.
Hvorfor skema er vigtigt?
DTD er ikke kraftfuldt som skema, da det ikke kan udvides og fleksibelt nok. Sรฅ det er muligvis ikke egnet til nogle situationer. I en sรฅdan situation er skema vigtigt. Hovedformรฅlet med at bruge XML-skema er at definere elementer og attributter for et XML-dokument.
Hvordan er XML-skema forskelligt fra DTD?
Den fรธlgende sammenligning viser, hvordan XSD (XML Schema) er forskellig fra DTD.
| DTD | XSD | |
|---|---|---|
| Stรฅr for | Definition af dokumenttype | Definition af XML-skema |
| udvidelsesmuligheder | Kan ikke udvides | Extensible |
| Kontrol pรฅ XML-struktur | Less kontrol | Mere kontrol |
| Datatyper af support | Ikke understรธttet | Understรธttet |
| Namespace Support | Ikke understรธttet | Understรธttet |
Fรธlgende kodesegment viser et eksempel pรฅ XML-skema.
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>
Fordele ved XML
Her er fordele/fordele ved XML:
- Det gjorde det nemt at transportere og dele data.
- XML forbedrer udvekslingen af โโdata mellem forskellige platforme.
- Det er et opmรฆrkningssprog, som er et sรฆt af tegn eller/og symboler placeret i et tekstdokument.
- XML angiver, hvordan XML-dokumentet skal se ud, efter det er vist.
- Det forenkler platformsรฆndringsprocessen.
- Det forbedrer datatilgรฆngeligheden.
- Det understรธtter flersprogede dokumenter og Unicode.
- Giv relativt let at lรฆre og kode.
- Det er et opmรฆrkningssprog, som er et sรฆt af tegn eller/og symboler placeret i et tekstdokument.
- Det udfรธrer validering ved hjรฆlp af DTD og Schema.
- Gรธr dokumenter transportable pรฅ tvรฆrs af systemer og applikationer. Ved hjรฆlp af XML kan du hurtigt udveksle data mellem forskellige platforme.
- XML adskiller data fra HTML.
Ulemper ved XML
Her er ulemperne/ulemperne ved at bruge XML:
- XML krรฆver en behandlingsapplikation.
- XML-syntaksen ligner andre alternative 'tekstbaserede' datatransmissionsformater, hvilket nogle gange er forvirrende.
- Ingen iboende datatypeunderstรธttelse
- XML-syntaksen er overflรธdig.
- Tillader ikke brugeren at oprette sine tags.
Resumรฉ
- XML stรฅr for eXtensible Markup Language. XML er et sprog (ikke et programmeringssprog), der bruger markup og kan udvide.
- Hovedmรฅlet er at transportere data, ikke at vise data.
- XML 1.1 er den seneste version. Alligevel er XML 1.0 den mest brugte version.
- Mรฆrker fungerer som par undtagen erklรฆringer.
- ร bningstag + indhold + afsluttende tag = et element
- Entiteter er en mรฅde at reprรฆsentere specialtegn pรฅ.
- DTD stรฅr for Document Type Definition. Det definerer strukturen af โโet XML-dokument ved hjรฆlp af nogle juridiske elementer. XML DTD er valgfrit.
- DOM stรฅr for Document Object Model. Den definerer en standard mรฅde at fรฅ adgang til og manipulere XML-dokumenter pรฅ.
- Velformede XML-dokumenter er XML-dokumenter med korrekt syntaks.
- Gyldige XML-dokumenter er veludformet og overholder ogsรฅ DTD-reglerne.
- Navneomrรฅder hjรฆlper med at undgรฅ elementnavnekonflikter.
