XML-zelfstudie voor beginners

Wat is XML?

XML staat voor eXrekbaar MArkupe Ltaal. Het is een taal (niet> een programmeertaal) die de opmaak gebruikt en kan uitbreiden. Het is afgeleid van Standaard Ggeactiveerd MArkupe Ltaal(SGML). XML maakt ook gebruik van DTD's (Dbezetting TYpe Ddefinities) om de XML-documentstructuur te definiรซren.

XML is niet bedoeld voor het verwerken van computationele bewerkingen en algoritmen. XML is dus geen programmeertaal. Het hoofddoel is om data te transporteren, niet om informatie weer te geven. XML overbrugt de kloof tussen menselijke leesbaarheid en machineleesbaarheid. In tegenstelling tot HTML-tags zijn XML-tags zelfbeschrijvend.

XML is een open formaat. De bestandsnaamextensie van XML is .xml

Geschiedenis van XML

XML begon al in 1996 en werd voor het eerst gepubliceerd in 1998. Wereld Wide Web Consortium (W3C) is de ontwikkelaar van XML, en het werd een W3C aanbeveling in 1998.

Er zijn twee versies van XML.

  1. xml1.0
  2. xml1.1

xml1.1 is de nieuwste versie. Nog, xml1.0 is de meest gebruikte versie.

Redacteuren van XML zijn:

  • Tim Bray,
  • Jean Paoli,
  • CM Sperberg,
  • Eva Maler,
  • Franรงois Yergeau.

XML-functies

Hier zijn enkele belangrijke kenmerken van XML:

  • Het is uitbreidbaar en leesbaar voor mensen.
  • Het is platform- en taalonafhankelijk.
  • Het behoudt de witruimte.
  • Algemene eenvoud.
  • Zelfbeschrijvend karakter.
  • Het scheidt gegevens van HTML.
  • XML-tags zijn niet vooraf gedefinieerd. U moet uw aangepaste tags definiรซren.
  • XML is ontworpen om gegevens over te dragen, niet om die gegevens weer te geven.
  • Opmaakcode van XML is voor een mens gemakkelijk te begrijpen.
  • Het goed gestructureerde formaat is gemakkelijk te lezen en te schrijven vanuit programma's.
  • XML is een uitbreidbare opmaaktaal zoals HTML.

XML-codering

Codering is de conversie van Unicode-tekens naar hun binaire representatie. UTF wordt gebruikt voor XML-codering. UTF staat voor UCS (UCS staat voor UNiversal Ckarakter Senz.) Tvernieuwing Format.

Er zijn hoofdzakelijk twee soorten UTF-codering.

  1. UTF-8: UTF-8 gebruikt 8 bits om de karakters weer te geven.
  2. Voorbeeld:

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

Het gebruikt 16 bits om de karakters weer te geven.

Voorbeeld:

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

U kunt codering gebruiken in de XML-declaratie. UTF-8 is de standaardcodering in XML.

XML-syntaxis

Het onderstaande codesegment toont de basis-XML-syntaxis.

<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
    <child>
        <subchild>.....</subchild>
    </child>
</root>

XML-declaratie

XML-declaratie bestaat uit de XML-versie, tekencodering en/en stand-alone status. De aangifte is optioneel.

Syntaxis voor XML-declaratie

Het onderstaande codesegment toont de syntaxis voor XML-declaratie.

<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?> 

XML-declaratieregels

Hieronder staan โ€‹โ€‹XML-declaratieregels.

  • Als de XML-declaratie aanwezig is, moet dit het eerste zijn dat verschijnt.
  • De XML-declaratie is hoofdlettergevoelig en moet beginnen met kleine letters <?xml.
  • Het heeft geen afsluitende tag.

Voorbeeld van XML-declaratie

Het volgende codesegment toont een voorbeeld van een XML-declaratie.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>

XML-opmerkingen

Opmerkingen zijn optioneel. Het toevoegen van opmerkingen helpt de inhoud van het document te begrijpen.

Syntaxis voor XML-opmerkingen

Een opmerking begint met <!โ€“ en eindigt met ->.

Het volgende codesegment toont de syntaxis voor XML-opmerkingen.

<!-- Add your comment here -->

XML-tags en -elementen

Tags werken als paren, behalve voor declaraties. Elk tagpaar bestaat uit een openingstag (Ook bekend als begin tag) En een afsluitende tag (Ook bekend als eind-tag).

Tagnamen zijn ingesloten <>. Voor een bepaald tagpaar moeten de start- en eindtags identiek zijn, behalve de eindtag / na de <.

<name>...</name>

Alles tussen de openings- en sluitingstags wordt content.

De openingstag, de inhoudstag en de sluitingstag worden samen een element.

Opening tag + content + closing tag = an element

Opmerking: Elementen kunnen ook attributen bevatten. Je zult de attributen snel leren kennen.

Laten we het onderstaande element bekijken.

<age>20</age>

In het bovenstaande onderdeel

  • leeftijd is de naam van het element.

Let op: Tagnaam ook wel aangeduid als een element or element naam.

  • โ€“ openingstag
  • 25 - inhoud
  • โ€“ afsluitende tag.

Als er geen inhoud tussen de tags staat, zoals hieronder weergegeven, wordt dit ' lege tags.

<result></result>

XML-tag- en elementregels

De volgende lijst toont XML-tag- en elementregels.

  • Labels zijn hoofdlettergevoelig.

Voorbeeld:

Juist:

<age>20</age>

Fout:

<age>20</Age>

Opmerking: LEEFTIJD, Leeftijd, en leeftijd zijn drie verschillende namen in XML.

  • Alle XML-documenten moeten รฉรฉn enkel hoofdelement bevatten.
  • Alle elementen moeten een afsluitende tag hebben (behalve declaraties).
  • Een tagnaam moet beginnen met een letter of een onderstrepingsteken, en mag niet beginnen met de xml.
  • Een tagnaam kan letters, cijfers, koppeltekens, onderstrepingstekens en punten bevatten. Koppeltekens onderstrepen en punten zijn de enige toegestane leestekens.
  • Een tagnaam mag geen spaties bevatten.
  • Alle elementen moeten op de juiste manier worden genest.

Voorbeeld:

Juist:

<b><u>This text is bold and italic</u></b>

Fout:

<b><u>This text is bold and italic.</b></u>

XML-attributen

Attribuut voor een element wordt na de tagnaam in de starttag geplaatst. U kunt meer dan รฉรฉn attribuut toevoegen voor รฉรฉn element met verschillende attribuutnamen.

Laten we het onderstaande XML-document bekijken.

<company name="ABC Holdings" location="London">  
    <chairman>Mr. John</chairman>  
    <gm>Mr. Wood</gm>  
</company>  

Er zijn twee attributen in de afstand onderdeel, dwz naam en plaats.

Laten we de bestuderen naam attribuut,

  • naam=โ€ABC Holdingsโ€ โ€“ een attribuut
  • naam - attribuut naam
  • ABC-holdings - Attribuutwaarde

Note: An attribuut naam is ook bekend als an attribuut.

Houd er ook rekening mee dat in het bovenstaande voorbeeld de afstand is de wortel element.

XML-attribuutregels

De onderstaande lijst toont XML-attribuutregels.

  • Kenmerkwaarden moeten tussen aanhalingstekens staan.
  • Een element kan niet meerdere attributen met dezelfde naam bevatten.

Attribuut versus element

Bent u nog steeds in de war over het verschil tussen een attribuut en een element? Hier is nog een voorbeeld.

Laten we de onderstaande documenten A en B bekijken.

Document A:

<teacher subject="English">
    <name>Mr. John</name>.
    <qualification>Graduate</qualification>
</teacher>

Document B:

<teacher>
    <subject>English</subject>
    <name>Mr. John</name>
    <qualification>Graduate</qualification>
</teacher>

In document A staat de onderwerpen is een attribuut.

In document B staat de onderwerpen is een element.

XML-entiteiten

Wat zijn XML-entiteiten?

Simpel gezegd zijn entiteiten een manier om speciale tekens weer te geven. Entiteiten worden ook wel entiteit referenties.

Waarom heb je XML-entiteiten nodig?

Sommige karakters (zoals ", & <, enzovoort) zijn gereserveerd in XML. Ze worden genoemd als speciale tekens en kunnen niet rechtstreeks voor andere doeleinden worden gebruikt.

Bijvoorbeeld, de < en > symbolen waarvoor gebruikt wordt labels. U kunt niet rechtstreeks vanaf het toetsenbord typen minder dan en groter dan tekens. In plaats daarvan moet u entiteiten gebruiken.

De onderstaande tabel toont enkele populaire XML-entiteiten.

Karakter Beschrijving Entiteit Naam Gebruik
" Aanhalingsteken (dubbele aanhalingsteken) quot "
& Ampersand amp &
' Apostrof (enkel aanhalingsteken) apos '
< Less dan ondertekenen lt <
> Groter dan teken gt >

Voorbeeld:

<friend>
        <name>My friends are Alice &amp; Jane.</name>
</friend>

HTML versus XML

Overeenkomsten tussen HTML en XML

De volgende lijst toont de overeenkomsten tussen HTML en XML.

  • Beide zijn open formaten.
  • Beide zijn opmaaktalen.
  • Beide gebruiken tags en attributen om de inhoud te beschrijven.

Verschillen tussen HTML en XML

Hoewel XML op HTML lijkt, is XML geen vervanging voor HTML. Er zijn ook enkele significante verschillen tussen HTML en XML.

De volgende tabel toont een vergelijking tussen HTML en XML.

HTML XML
Staat voor Hypertext Markup Language Uitbreidbare opmaaktaal
Type taal Een vooraf gedefinieerde opmaaktaal. Een raamwerk voor het specificeren van opmaaktalen.
Structurele details Niet voorzien. Mits.
Doel Wordt gebruikt om gegevens weer te geven. Wordt gebruikt om gegevens te transporteren
Gedreven door Formaat gedreven. Inhoudsgedreven.
NATUUR Heeft een statisch karakter. Heeft een dynamisch karakter.
Tagtype Vooraf gedefinieerde tags. Door de gebruiker gedefinieerde tags.
Taglimiet Er is een beperkt aantal tags beschikbaar. Tags zijn uitbreidbaar.
Labels sluiten Het is niet nodig om sluittags te gebruiken (maar het wordt wel aanbevolen om sluittags te gebruiken). Sluittags zijn verplicht.
Ondersteuning voor naamruimte Niet ondersteund. Ondersteund.
Hoofdlettergevoeligheid Tags zijn niet hoofdlettergevoelig. Tags zijn hoofdlettergevoelig.
witte ruimte Witte ruimte kan niet behouden blijven (kan witte ruimte negeren). Witte ruimte blijft behouden (kan witte ruimte niet negeren).
Parseren JavaScript Geen extra applicatie nodig. DOM-implementatie nodig.
Code-nesten Niet noodzakelijkerwijs nodig. Nodig zijn.
fouten Kan kleine fouten negeren. Fouten zijn niet toegestaan.
Bestandsnaam Extensie . Html or . Htm . Xml
Maat: Relatief groot. Relatief klein.
Zitate Aanhalingstekens zijn niet vereist voor attribuutwaarden. Vereist voor XML-attribuutwaarden.
Objectondersteuning Biedt native objectondersteuning. Objecten moeten worden uitgedrukt door conventies.
Geen ondersteuning Herkent van nature de nulwaarde. Moet xsi:nil gebruiken op elementen.
Opmaak van beslissingen Biedt directe mapping voor applicatiegegevens. Vergen een grotere inspanning.
Leercurve Less steile leercurve vergeleken met XML. Steile leercurve.
Website https://html.spec.whatwg.org/ https://www.w3.org/TR/xml11/

Basis HTML-syntaxis

<!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>

Basis XML-syntaxis

<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
    <child>
        <subchild>.....</subchild>
    </child>
</root>

Hetzelfde voorbeeld met HTML en XML

Met 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>

Met 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

Overeenkomsten tussen JSON en XML

De onderstaande lijst toont de overeenkomsten tussen JSON en XML.

  • Beide zijn open formaten.
  • Beide beschrijven zichzelf.
  • Beide hebben een hiรซrarchische structuur.
  • Beide kunnen door verschillende programmeertalen worden geparseerd en gebruikt.

Verschillen tussen JSON en XML

Er zijn ook verschillende verschillen tussen XML en JSON.

De onderstaande tabellen tonen een vergelijking tussen JSON en XML.

JSON XML
Staat voor JavaNotatie van scriptobjecten Uitbreidbare opmaaktaal
Verlengd vanaf JavaScript SGML
Gegevensopslag Gegevens opgeslagen als sleutel-waardeparen. Gegevens opgeslagen als een boomstructuur.
Namespaces Geen ondersteuning voor naamruimten. Ondersteunt naamruimten.
Heb je vragen? Stel ze hier. Het toevoegen van opmerkingen wordt niet ondersteund. Kan commentaar toevoegen.
Toegankelijkheid van gegevens Gemakkelijk toegankelijk als JSON-objecten. Gegevens moeten worden geparseerd.
Metadata Het toevoegen van metagegevens wordt niet ondersteund. Kan metagegevens schrijven.
Types JSON-typen: tekenreeks, getal, array, Boolean. Alle XML-gegevens zouden dat moeten zijn strings.
Gegevenstypen van ondersteuning steunen tekst en aantal alleen gegevenstypen. Ondersteunt veel gegevenstypen (tekst, getallen, afbeeldingen, enzovoort)
Ondersteuning van Array Meer ondersteuning voor arrays vergeleken met XML. Geen of minder ondersteuning voor arrays.
Ondersteuning van het object Native ondersteuning voor object. Het object moet door conventies worden uitgedrukt.
Ondersteuning voor AJAX-toolkits Ondersteund. Niet volledig ondersteund.
Waarden ophalen Easy. Moeilijk.
Deserialiseren/serialiseren Volledig geautomatiseerd. Ontwikkelaars moeten schrijven JavaScriptcode.
Browser ondersteuning Ondersteund door de meeste browsers. Cross-browser XML-parsing kan lastig zijn.
codering Ondersteunt alleen UTF-8-codering. Het ondersteunt verschillende codering.
Weergavemogelijkheden Geen weergavemogelijkheden. Bied weergavemogelijkheden.
Documentgrootte Kleiner dan XML. Groot dan JSON.
Bestandsnaam Extensie .json . Xml
Beveiliging Less beveiligd. Veiliger dan JSON.
Makkelijk te lezen Relatief makkelijk. Relatief moeilijk.
Leercurve Makkelijk te leren. Steile leercurve.
Website https://www.json.org/json-en.html https://www.w3.org/TR/xml11/

Basis JSON-syntaxis

{string:value, .......}

Hetzelfde voorbeeld met JSON en XML

Met 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"}
]}

Met 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

Wat is DTD?

DTD staat voor Dbezetting TYpe Ddefinitie. Het definieert de structuur van een XML-document met behulp van enkele juridische elementen. XML-DTD is optioneel.

DTD-regels

De volgende lijst toont de DTD-regels.

  • Als DTD aanwezig is, moet deze aan het begin van het document verschijnen (alleen de XML-declaratie kan boven de DTD verschijnen).
  • De elementdeclaratie moet beginnen met een ! Mark.
  • De DTD-naam en het elementtype van het rootelement moeten hetzelfde zijn.

Voorbeelden van DTD

Voorbeeld van een interne 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>

In het bovenstaande voorbeeld,

  • !DOCTYPE-student geeft het begin van de DTD-aangifte aan. En de student is het hoofdelement van het XML-document.
  • !ELEMENT-student geeft de student element moet bevatten voornaam Achternaam en school- elementen.
  • !ELEMENT voornaam geeft de voornaam element is van type #PCDATA (Pkont Ckarakter Data).
  • !ELEMENT achternaam geeft de achternaam element is van type #PCDATA.
  • !ELEMENT-school geeft de school- element is van type #PCDATA.

Voorbeeld van een externe 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>  

De inhoud van het DTD-bestand (student.dtd) is als volgt.

<!ELEMENT student (firstname,lastname,school)>  
<!ELEMENT firstname (#PCDATA)>  
<!ELEMENT lastname (#PCDATA)>  
<!ELEMENT school (#PCDATA)>

XML-DOM

Wat is DOM?

DOM staat voor Dbezetting Ovoorwerp Model. Het definieert een standaardmanier om XML-documenten te benaderen en te manipuleren. DOM heeft een (hiรซrarchische) boomstructuur.

Voorbeeld van DOM

Laten we het onderstaande XML-document bekijken.

<?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>

De boomstructuur van bovenstaand XML-bestand ziet er als volgt uit.

XML-DOM
XML DOM-voorbeeld

XML-validatie

Wat zijn welgevormde XML-documenten?

goed gevormd XML-documenten zijn XML-documenten met de juiste syntaxis.

Wat zijn geldige XML-documenten?

Geldig XML-documenten zijn goed opgemaakt en voldoen ook aan de DTD-regels.

XML-naamruimten

Waarom naamruimten?

Naamruimten helpen conflicten met elementnaam te voorkomen.

Naamruimteverklaring

Hieronder ziet u de syntaxis voor de naamruimtedeclaratie.

<element xmlns:name="URL">

In de bovenstaande verklaring

  • De xmlns trefwoord geeft het begin van de naamruimte aan.
  • De naam is het voorvoegsel van de naamruimte.
  • De URL is de naamruimte-ID.

Voorbeelden van naamruimten

Het volgende codesegment toont een voorbeeld van naamruimten.

<?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-editors

Er zijn verschillende XML-editors beschikbaar. Elke teksteditor (zoals Kladblok enzovoort) kan als XML-editor worden gebruikt.

De volgende lijst toont enkele van de populaire XML-editors in 2021.

1) XML-kladblok

XML Notepad is een opensource-editor voor XML. Het heeft een boomstructuur en XSL-uitvoer in het linkerdeelvenster en knooppunttekst aan de rechterkant. Het heeft onderaan een foutopsporingsvenster.

Belangrijkste statistieken:

  • Type โ€“ XML-editor
  • Ontwikkelaar โ€“ Microsoft
  • Ondersteund besturingssysteem โ€“ Microsoft Windows.
  • Prijs โ€“ Gratis

Link: http://microsoft.github.io/XmlNotepad/


2) Stylusstudio

Stylus Studio is een IDE waarin is geschreven C++ voor Extensible Markup Language (XML). Hiermee kan een gebruiker XML-documenten, gegevens zoals elektronische gegevensuitwisseling (EDI), CSV en relationele gegevens bewerken en transformeren.

Belangrijkste statistieken:

  • Type โ€“ Geรฏntegreerde ontwikkelomgeving (IDE) voor XML
  • Ontwikkelaar โ€“ Progress Software Corporation
  • Ondersteund besturingssysteem โ€“ Microsoft Windows.
  • Prijs โ€“ Betaald (Raadpleeg de onderstaande website voor de meest recente prijs), gratis proefversie beschikbaar.

Link: http://www.stylusstudio.com/


3) Altova XMLSpy

XMLSpy wordt voornamelijk op de markt gebracht als een JSON en XML Editor. Het heeft een ingebouwde schema designer en editor. Het bevat Visual Studio en Eclipse integratie.

Belangrijkste statistieken:

  • Type โ€“ XML-editor
  • Ontwikkelaar โ€“ Altova
  • Ondersteund besturingssysteem โ€“ Microsoft Windows.
  • Prijs โ€“ Betaald (Raadpleeg de onderstaande website voor de meest recente prijs), gratis proefversie beschikbaar.

Link:https://www.altova.com/xmlspy-xml-editor


4) Zuurstof XML-editor

Oxygen XML is een platformonafhankelijke editor ontwikkeld in JavaHet helpt bij het valideren van schema's zoals DTD, W3C XML Schema, RELAX NG, Schematron, NRL en NVDL-schema's.

Belangrijkste statistieken:

  • Type โ€“ XML-editor
  • Ontwikkelaar โ€“ SyncRO Soft Ltd
  • Ondersteund besturingssysteem โ€“ Windows, Linux en Mac OS X
  • Prijs โ€“ Betaald (Raadpleeg de onderstaande website voor de meest recente prijs

Link:https://www.oxygenxml.com/


5) Vergroot

Xmplify XML Editor biedt een volledig XML-bewuste bewerkingsomgeving met op DTD en XML Schema gebaseerde automatische, automatische documentvalidatie, enz.

Belangrijkste statistieken:

  • Type โ€“ XML-editor
  • Ontwikkelaar โ€“ MOSO Corporation
  • Ondersteund besturingssysteem: Mac OS.
  • Prijs โ€“ Betaald (Raadpleeg de onderstaande website voor de meest recente prijs

Link: http://xmplifyapp.com/

XML-parsers

Een XML-parser is een softwarebibliotheek die een interface biedt voor het werken met XML-documenten. Er wordt gecontroleerd of het formaat van het XML-document correct is. Sommige parsers kunnen de XML-documenten ook valideren. Moderne browsers worden geleverd met XML-parsers.

SAX

SAX staat voor Suitvoe API voor Xml. Het is een aOEPASSING programma iinterface (API) voor het parseren van XML-documenten. Ze gedragen zich op dezelfde manier als de gebeurtenishandlers in Java.

In tegenstelling tot DOM is SAX een voorbeeld van een op gebeurtenissen gebaseerde XML-parser.

Hier zijn enkele belangrijke verschillen tussen de SAX en DOM.

SAX ARREST
Staat voor Eenvoudige API voor XML Documentobjectmodel
Type parser Event-gebaseerde Objectgebaseerd
XML lezen en schrijven Alleen-lezen Zowel lezen als schrijven
Knooppunten invoegen/bijwerken/verwijderen Kan geen knooppunten invoegen/bijwerken/verwijderen Kan knooppunten invoegen/bijwerken/verwijderen
geheugen efficiรซntie Goede geheugenefficiรซntie Variabel
Snelheid Langzamer dan DOM-parser Sneller dan SAX-parser
Geschikt voor Kleine bestanden Grote bestanden

XML-gegevensbinding

XML-databinding is de weergave van gegevens in een XML-document als bedrijfsobject in het geheugen van een computer.

Er zijn drie benaderingen voor het binden van XML-gegevens.

  • Op XML-schema gebaseerde gegevensbinding: Overeenkomstige XML-klassen worden gemaakt op basis van het schema.
  • Op klasse gebaseerde gegevensbinding: Op basis van klassen wordt een bijbehorend XML-schema gemaakt.
  • Op kaarten gebaseerde gegevensbinding: Het beschrijft hoe een bestaand XML-schema wordt toegewezen aan een reeks klassen (en omgekeerd).

Er zijn ook XML-gegevensbindende raamwerken.

Voorbeelden:

XML-gegevensbinding is eenvoudig met frameworks. Het databindingsframework genereert een grote hoeveelheid code voor u. U moet een DTD- of XML-schema invoeren.

XML-schema's

XML schema (ook gekend als XML-schemadefinitie or XSD) gebruiken om de XML-documentstructuur te beschrijven. Het is een alternatief voor DTD.

Waarom is een schema belangrijk?

DTD is niet krachtig als schema, omdat het niet uitbreidbaar en flexibel genoeg is. Het is dus mogelijk dat het voor sommige situaties niet geschikt is. In zo'n situatie is het schema belangrijk. Het belangrijkste doel van het gebruik van een XML-schema is het definiรซren van de elementen en attributen van een XML-document.

Hoe verschilt XML-schema van DTD?

De volgende vergelijking laat zien hoe XSD (XML Schema) verschilt van DTD.

DTD XSD
Staat voor Definitie van documenttype XML-schemadefinitie
rekbaarheid Niet uitbreidbaar Uitrekbaar
Controle op XML-structuur Less onder controle te houden Meer controle
Gegevenstypen van ondersteuning Niet ondersteund ondersteunde
Ondersteuning voor naamruimte Niet ondersteund ondersteunde

Het volgende codesegment toont een voorbeeld van een XML-schema.

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>

Voordelen van XML

Hier de voor- en voordelen van XML:

  • Het maakte het gemakkelijk om gegevens te transporteren en te delen.
  • XML verbetert de uitwisseling van gegevens tussen verschillende platforms.
  • Het is een opmaaktaal, een reeks tekens en/of symbolen die in een tekstdocument worden geplaatst.
  • XML geeft aan hoe het XML-document eruit moet zien nadat het wordt weergegeven.
  • Het vereenvoudigt het platformveranderingsproces.
  • Het verbetert de beschikbaarheid van gegevens.
  • Het ondersteunt meertalige documenten en Unicode.
  • Zorg voor relatief eenvoudig te leren en te coderen.
  • Het is een opmaaktaal, een reeks tekens en/of symbolen die in een tekstdocument worden geplaatst.
  • Het voert validatie uit met behulp van DTD en Schema.
  • Maakt documenten transporteerbaar tussen systemen en applicaties. Met behulp van XML kun je snel gegevens uitwisselen tussen verschillende platforms.
  • XML scheidt de gegevens van HTML.

Nadelen van XML

Hier zijn de nadelen/nadelen van het gebruik van XML:

  • XML vereist een verwerkingstoepassing.
  • De XML-syntaxis lijkt op andere alternatieve, op tekst gebaseerde gegevensoverdrachtformaten, wat soms verwarrend kan zijn.
  • Geen intrinsieke ondersteuning voor gegevenstypen
  • De XML-syntaxis is overbodig.
  • Staat de gebruiker niet toe zijn tags aan te maken.

Samenvatting

  • XML staat voor eXtensible Markup Language. XML is een taal (geen programmeertaal) die de opmaak gebruikt en kan uitbreiden.
  • Het belangrijkste doel is om gegevens te transporteren, niet om gegevens weer te geven.
  • XML 1.1 is de nieuwste versie. Toch is XML 1.0 de meest gebruikte versie.
  • Tags werken als paren, behalve voor declaraties.
  • Openingstag + inhoud + sluitingstag = een element
  • Entiteiten zijn een manier om speciale tekens weer te geven.
  • DTD staat voor Document Type Definition. Het definieert de structuur van een XML-document met behulp van enkele juridische elementen. XML-DTD is optioneel.
  • DOM staat voor Document Object Model. Het definieert een standaardmanier voor toegang tot en manipulatie van XML-documenten.
  • Goed opgemaakte XML-documenten zijn XML-documenten met de juiste syntaxis.
  • Geldige XML-documenten zijn goed opgemaakt en voldoen ook aan de DTD-regels.
  • Naamruimten helpen conflicten met elementnaam te voorkomen.