Konvertearje in XML-bestân om goed te foarmjen

Learje hoe't jo goed genôch en validearre XML skriuwe

Somtiden is it makliker om te begripen hoe goed te foarmjen XML skriuwt troch in foarbyld te sjen. De nijsbrief fan 'e Webwriter is skreaun mei in foarm fan XML - ik neam it AML of Oer Markup Language (gean figuer!). Wyls dit in wurkende dokumint is, is it eins net in goed foarmearre of jildich XML dokumint.

Well-Formed

Der binne wat spesifike regels om in goed foarmearre XML dokumint te meitsjen:

Der binne mar twa problemen mei it dokumint dat it net makket:

It earste ding dat it AML-dokumint nedich is is in deklaraasje fan XML-deklaraasje.

It oare probleem is dat der gjin ien elemint is dat alle oare eleminten folslein ynklokt. Om dit te beheinen sil ik in eksterne kontener elemint taheakje:

It meitsjen fan dizze twa ienfâldige wizigingen (en soargje dat alle eleminten allinich CDATA befetsje) sil it net goed formulearre dokumint yn in goed formulearre dokumint meitsje.

In jildich XML dokumint is validearre tsjin in Document Type Definition (DTD) of XML-skema. Dit binne in set regels dy't makke binne troch de ûntwikkelders of in standertorganisaasje dy't de semantika fan it XML dokumint definiearret. Dizze sizze de kompjûter wat te dwaan mei de markearring.

Yn it gefal fan 'e About Markup Language, omdat dit net in standert XML-taal is, lykas XHTML of SMIL, sil de DTD troch de ûntwikkelders makke wurde. Dat DTD soe it meast wierskynlik wêze op deselde server as it XML dokumint, en oanbean oan 'e top fan it dokumint.

Foardat jo begjinne mei it ûntwikkeljen fan in DTD of skema foar jo dokuminten, moatte jo realisearje dat jo gewoan troch in goed foarme wurde, in XML dokumint is sels beskriuwend, en hat dus gjin DTD nedich.

Bygelyks, mei ús goed formearre AML-dokumint, binne de folgjende tags:

As jo ​​bekend binne mei de nijsbrief fan it Webwriter, kinne jo de ferskillende ôfdielingen fan 'e nijsbrief erkennen. Dit makket it maklik om nije XML-dokuminten te meitsjen mei deselde standertformaat. Ik wit dat ik altyd de folsleine lange titel yn 'e tag sette, en de earste seksje yn it tag.

DTD's

As jo ​​nedich binne om in jildige XML dokumint te skriuwen, te brûken om de gegevens te brûken of it ferwurkjen te brûken, jo soene jo yn jo dokumint mei de tag ha. Yn dizze tag definieare jo de basis XML-tag yn it dokumint en de lokaasje fan de DTD (meastal in web-URI). Bygelyks:

Ien aardige ding oer DTD-ferklearrings is dat jo kinne ferklearje dat in DTD lokaal is foar it systeem dêr't de XML-dokumint mei it "SYSTEM" is. Jo kinne ek fine op in iepenbiere DTD, lykas mei in HTML 4.0 dokumint:

As jo ​​beide brûke, fertelle jo it dokumint om in spesifike DTD te brûken (de publike identifier) ​​en wêr't it fine (de sykkenning).

Uteinlik kinne jo in ynterne DTD direkt yn it dokumint ynstelle, binnen it DOCTYPE-tag. Bygelyks (dit is gjin kompleet DTD foar it AML-dokumint):

< ! ENTITY meta_keywords (#PCDATA)> ]>

XML-skema

Om in jildich XML dokumint te meitsjen kinne jo in XML-skema-dokumint brûke om jo XML te definiearjen. XML-skema is in XML-dokumint dat beskriuwt XML-dokuminten. Learje hoe't jo in skema skriuwe.

Noat

Just point to a DTD or XML schema is net genôch. It XML dat yn it dokumint is moat de regels folgje yn 'e DTD of Schema. It brûken fan in jildige parser is in ienfâldige manier om te kontrolearjen dat jo XML folget de regels fan DTD. Jo kinne in protte sokke parsers online fine.