Konverti XML-dosieron esti Bone Formita

Lernu Kiel Skribi Bone Formita kaj Valida XML

Kelkfoje estas pli facile kompreni kiel skribi bone formitan XML per ekzemplo. La bulteno de la TTT-verkisto estas skribita per formo de XML - Mi nomiĝas ĝin AML aŭ Pri Markmark Language (iru figuron!). Dum ĉi tiu estas labora dokumento, ĝi ne estas fakte bone formita aŭ valida XML-dokumento.

Bone Formita

Ekzistas iuj specifaj reguloj por krei bone formitan XML-dokumenton:

Ekzistas nur du problemoj kun la dokumento, kiu ne faras ĝin bone formita:

La unua afero, kiun la dokumento de AML bezonas, estas deklara deklaro de XML.

La alia problemo estas, ke ne ekzistas unu elemento, kiu tute kunigas ĉiujn aliajn elementojn. Por ripari tion, mi aldonos eksterajn ujon:

Farante tiujn du simplajn ŝanĝojn (kaj certigante, ke ĉiuj elementoj enhavas nur CDATA) turnos la ne bone formitan dokumenton en bone formitan dokumenton.

Valida XML-dokumento estas validigita kontraŭ Dokumento-Difino (DTD) aŭ XML-Schema. Ĉi tiuj estas aro de reguloj kreitaj de la programisto aŭ norma organizo, kiu difinas la semantikon de la XML-dokumento. Ĉi tiuj rakontas al la komputilo kion fari kun la marko.

En la kazo de la Pri Markmark Language, ĉar ĉi tio ne estas norma XML-lingvo, kiel XHTML aŭ SMIL, la DTD estus kreita de la programisto. Tiu DTD plej verŝajne estus en la sama servilo kiel la XML-dokumento, kaj referencita ĉe la supro de la dokumento.

Antaŭ ol vi komencas evoluigi DTD aŭ Schema por viaj dokumentoj, vi devas rimarki, ke simple per formado, XML-dokumento mem-priskribas, kaj tiel ne bezonas DTD.

Ekzemple, per nia bone formita AML-dokumento, jen la jenaj etikedoj:

Se vi estas konata kun la informilo de la TTT-verkisto, vi povas rekoni la malsamajn sekciojn de la informilo. Ĉi tio faciligas krei novajn XML-dokumentojn per la sama norma formato. Mi scias, ke mi ĉiam metus la plenan longan titolon en la etikedo, kaj la unua sekcio URL en la etikedo.

DTDs

Se vi devas skribi validan XML-dokumenton, ĉu por uzi la datumon aŭ procesi ĝin, vi inkluzivus ĝin en via dokumento kun la etikedo. En ĉi tiu etikedo, vi difinas la bazon XML-etikedon en la dokumento, kaj la lokon de la DTD (kutime retejo URI). Ekzemple:

Unu afabla afero pri DTD-deklaroj estas, ke vi povas deklari, ke DTD estas loka al la sistemo, kie la XML-dokumento estas kun la "SISTEMO". Vi povas ankaŭ noti publikan DTD, kiel ekzemple kun HTML-4.0 dokumento:

Kiam vi uzas ambaŭ, vi diras la dokumenton uzi specifan DTD (la publika identigilo) kaj kie trovi ĝin (la sistemo-identigilo).

Fine, vi povas inkluzivi internan DTD rekte en la dokumento, ene de la etikedo de DOCTYPE. Ekzemple (ĉi tio ne estas kompleta DTD por la AML-dokumento):

< ! ENTITY meta_keywords (#PCDATA)> ]>

XML-skemo

Por krei valida XML-dokumento, vi ankaŭ povas uzi XML-Schema-dokumenton por difini vian XML. XML-Skemo estas XML-dokumento, kiu priskribas XML-dokumentojn. Lernu kiel skribi skemon.

Noto

Nur montri DTD aŭ XML-Schema ne sufiĉas. La XML, kiu estas en la dokumento, devas sekvi la regulojn en la DTD aŭ Schema. Uzanta validiga analizilo estas simpla maniero kontroli, ke via XML sekvas la regulojn de DTD. Vi povas trovi multajn tiajn analizojn enrete.