Verschil tussen XML-schema en DTD

XML Schema versus DTD

XML staat voor EXtensible Markup Language. Het wordt gedefinieerd in de XML 1.0-specificatie, die is ontwikkeld door het W3C (World Wide Web Consortium). XML biedt een standaardmanier, die ook eenvoudig is, om gegevens en tekst zodanig te coderen dat de inhoud kan worden uitgewisseld over driverhardware, besturingssystemen en applicaties met weinig menselijke tussenkomst. XML Schema beschrijft de structuur van een XML-document. XML-schema legt beperkingen op aan de structuur en de inhoud van een XML-document in aanvulling op de syntactische regels die in XML moeten worden gevolgd. XML-schema is een aanbeveling van World Wide Web Consortium (W3C) en het werd een aanbeveling in mei 2001. DTD (Document Type Definition) definieert ook hoe de elementen van het document worden geordend en genest, welke elementen zijn opgenomen in het document en de kenmerken van de opgenomen elementen. DTD definieert de structuur van documenten in SGML-familie opmaaktalen.

Wat is XML Schema?

XML-schema beschrijft de structuur van een XML-document. Het definieert de elementen die in een XML-document kunnen voorkomen en hun kenmerken, zoals of een element leeg is of dat het tekst kan bevatten. Het definieert ook welke elementen kindelementen en de volgorde van de onderliggende elementen zouden zijn. Verder definieert XML-schema gegevenstypen die worden gebruikt in elementen en hun attributen. XML-schema's worden veel gebruikt in webtoepassingen, omdat het uitbreidbaar is en ondersteuning biedt voor gegevenstypen en naamruimten. De grootste sterkte met het XML-schema is ondersteuning voor gegevenstypen. Het biedt eenvoudige methoden om de toegestane inhoud in een document te definiëren en methoden om de juistheid van gegevens te waarborgen. Verder heeft het XML-schema voorzieningen om met gegevens in databases te werken en conversie tussen gegevenstypen mogelijk te maken.

Wat is DTD?

DTD definieert de structuur van documenten in SGML-familie-opmaaktalen zoals SGML, XML en HTML. Het definieert hoe de elementen van documenten worden geordend en genest, welke elementen zijn opgenomen in de documenten en de kenmerken van de opgenomen elementen. In een XML-document wordt DTD gedeclareerd in een DOCTYPE-verklaring, die zich onder de XML-verklaring bevindt. De hoofdtekst van de DTD bevat de definities voor de elementen in het document en hun kenmerken en kan worden gedefinieerd als een inline-definitie of een externe definitie. Het hebben van een externe DTD is erg handig wanneer u het XML-protocol gebruikt om te communiceren tussen afzonderlijke systemen, omdat het de overhead van het opnieuw verzenden van de DTD telkens vermindert, zoals bij inline-definitie. De externe DTD kan op een plaats worden geplaatst zoals een webserver die toegankelijk is voor beide systemen.

Wat is het verschil tussen XML Schema en DTD?

DTD is de voorloper van XML-schema. Hoewel DTD de basisstructuur / grammatica biedt voor het definiëren van een XML-document, biedt het XML-schema naast methoden beperkingen voor de gegevens in het document. Daarom wordt het XML-schema als rijker en krachtiger dan DTD beschouwd. XML-schema biedt ook een objectgerichte aanpak voor het definiëren van de structuur van een XML-document. Maar omdat XML-schema een nieuwe technologie is, ondersteunen sommige XML-parsers dit nog niet. Bovendien zijn de meeste van de rijke en complexe definities van legacy-systemen gedefinieerd met DTD. Dus het herschrijven van hen zou geen gemakkelijke taak zijn.