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.
- xml1.0
- 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.
- UTF-8: UTF-8 gebruikt 8 bits om de karakters weer te geven.
- UTF-16
Voorbeeld:
<?xml version="1.0" encoding="UTF-8"?>
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 & 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-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.