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.

  1. XML 1.0
  2. 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.

  1. UTF-8: UTF-8 bruker 8-biter for รฅ representere tegnene.
  2. Eksempel:

    <?xml version="1.0" encoding="UTF-8"?>
    
  3. UTF-16

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 DOM
Eksempel pรฅ XML DOM

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.

Oppsummer dette innlegget med: