Konvèti yon dosye XML yo dwe byen fòme

Aprann kijan pou ekri XML byen fòme ak valab

Pafwa li pi fasil yo konprann ki jan yo ekri ki byen fòme XML pa wè yon egzanp. Se bilten an Writer entènèt ki ekri lè l sèvi avèk yon fòm XML - Mwen rele li AML oswa sou markeup lang (ale figi!). Pandan ke sa a se yon dokiman k ap travay, li pa aktyèlman yon dokiman ki byen fòme oswa valab XML.

Oke-Fòme

Gen kèk règleman espesifik pou kreye yon dokiman XML byen fòme:

Gen de pwoblèm sèlman ak dokiman ki fè li pa byen fòme:

Premye bagay dokiman AML la bezwen se yon deklarasyon XML deklarasyon.

Pwoblèm nan lòt se ke pa gen okenn eleman yon sèl ki konplètman fèmen tout lòt eleman yo. Pou ranje sa a, mwen pral ajoute yon eleman veso ekstèn:

Fè de chanjman sa yo senp (ak asire ke tout eleman yo gen ladan sèlman CDATA) ap vire dokiman an ki byen fòme nan yon dokiman byen fòme.

Yon valid dokiman XML valide kont yon Definisyon Kalite Dokiman (DTD) oswa XML Schema. Sa yo se yon seri règ ki te kreye pa pwomotè a oswa yon òganizasyon estanda ki defini semantik yo nan dokiman an XML. Sa yo di òdinatè a ki sa fè ak markup la.

Nan ka a sou Lang la markup sou, depi sa a se pa yon lang estanda XML, tankou XHTML oswa SMIL, DTD a ta dwe kreye pa pwomotè a. Sa DTD ta gen plis chans yo dwe sou sèvè a menm jan dokiman an XML, ak referans nan tèt la nan dokiman an.

Anvan ou kòmanse devlope yon DTD oswa Schema pou dokiman ou, ou ta dwe reyalize ke tou senpleman nan yo te byen fòme, yon dokiman XML se pwòp tèt ou-dekri, e konsa pa bezwen yon DTD.

Pou egzanp, ak dokiman ki byen fòme AML nou an, gen tags sa yo:

Si ou abitye avèk bilten entènèt Writer la, ou ka rekonèt seksyon diferan nan bilten an. Sa fè li trè fasil pou kreye nouvo XML dokiman ki itilize menm fòma estanda a. Mwen konnen ke mwen ta toujou mete tout tit la long nan tag la, ak premye seksyon URL la nan tag la.

DTD

Si ou oblije ekri yon dokiman XML valab, swa yo sèvi ak done yo oswa nan pwosesis li, ou ta genyen ladan l 'nan dokiman ou a ak tag la. Nan sa a tag, ou defini tag la XML baz nan dokiman an, ak ki kote DTD a (anjeneral yon URI entènèt). Pa egzanp:

Yon bèl bagay sou deklarasyon DTD se ke ou ka deklare ke yon DTD se lokal nan sistèm lan kote dokiman an XML se ak "SYSTEM la". Ou ka montre tou yon DTD piblik, tankou avèk yon dokiman HTML 4.0:

Lè ou itilize tou de, ou ap di dokiman an pou itilize yon DTD espesifik (idantifyan piblik la) ak ki kote pou jwenn li (idantifyan sistèm lan).

Finalman, ou ka gen ladan yon DTD entèn dirèkteman nan dokiman an, nan tag DOCTYPE la. Pou egzanp (sa a se pa yon DTD konplè pou dokiman AML la):

< ! ENTITE meta_keywords (#PCDATA)> ]>

XML Schema

Yo nan lòd yo kreye yon dokiman XML valab, ou ka tou itilize yon XML Schema dokiman defini XML ou. XML Schema se yon dokiman XML ki dekri dokiman XML yo. Aprann kijan pou ekri yon plan.

Remak

Jis montre nan yon Schema DTD oswa XML se pa ase. XML ki nan dokiman an dwe swiv règleman yo nan DTD oswa Schema. Sèvi ak yon parser validation se yon fason ki senp yo tcheke ke XML ou a swiv règ yo DTD. Ou ka jwenn anpil parsers sa yo sou entènèt.