Trosi Ffeil XML i'w Ffurfio'n Fyw

Dysgu sut i ysgrifennu XML wedi'i Ffurfio'n dda ac yn ddilys

Weithiau mae'n haws deall sut i ysgrifennu XML wedi'i ffurfio'n dda trwy weld enghraifft. Ysgrifennir cylchlythyr y We Writer gan ddefnyddio ffurflen o XML - Rwy'n ei alw'n AML neu About Language Markup (ewch i ffigur!). Er bod hwn yn ddogfen waith, nid yw mewn gwirionedd yn ddogfen XML wedi'i ffurfio'n dda neu'n ddilys.

Wedi'i Ffurfio'n dda

Mae rhai rheolau penodol i greu dogfen XML wedi'i ffurfio'n dda:

Dim ond dau broblem sydd gyda'r ddogfen sy'n ei gwneud hi heb ei ffurfio'n dda:

Y peth cyntaf sydd ei hangen ar ddogfen AML yw datganiad datganiad XML.

Y broblem arall yw nad oes unrhyw un elfen sy'n cwmpasu'r holl elfennau eraill yn llwyr. I wneud hyn, byddaf yn ychwanegu elfen cynhwysydd allanol:

Bydd gwneud y ddau newid syml hynny (a sicrhau bod yr holl elfennau yn cynnwys CDATA yn unig) yn troi'r ddogfen sydd heb ei ffurfio'n dda mewn dogfen wedi'i ffurfio'n dda.

Dilysir dogfen XML ddilys yn erbyn Diffiniad Math o Ddogfen (DTD) neu Schema XML. Mae'r rhain yn set o reolau a grëwyd gan y datblygwr neu sefydliad safonau sy'n diffinio semanteg y ddogfen XML. Mae'r rhain yn dweud wrth y cyfrifiadur beth i'w wneud gyda'r marciad.

Yn achos yr Iaith About Markup, gan nad yw hyn yn iaith XML safonol, fel XHTML neu SMIL, byddai'r DTD yn cael ei greu gan y datblygwr. Byddai'r DTD yn fwyaf tebygol o fod ar yr un gweinydd â'r ddogfen XML, a'i gyfeirio ar frig y ddogfen.

Cyn i chi ddechrau datblygu DTD neu Schema ar gyfer eich dogfennau, dylech sylweddoli mai dim ond drwy gael ei ffurfio'n dda, mae dogfen XML yn hunan-ddisgrifio, ac felly nid oes angen DTD arnoch.

Er enghraifft, gyda'n dogfen AML wedi'i ffurfio'n dda, mae'r tagiau canlynol:

Os ydych chi'n gyfarwydd â chylchlythyr yr Awdur Gwe, efallai y byddwch yn adnabod gwahanol adrannau'r cylchlythyr. Mae hyn yn ei gwneud hi'n hawdd iawn creu dogfennau XML newydd gan ddefnyddio'r fformat un safonol. Gwn y byddwn bob amser yn rhoi'r teitl hir lawn yn y tag, a'r URL cyntaf yn y tag.

DTDs

Os oes gofyn i chi ysgrifennu dogfen XML ddilys, naill ai i ddefnyddio'r data neu ei brosesu, byddech chi'n ei gynnwys yn eich dogfen gyda'r tag. Yn y tag hwn, rydych chi'n diffinio'r tag XML sylfaen yn y ddogfen, a lleoliad y DTD (URI fel arfer). Er enghraifft:

Un peth neis am ddatganiadau DTD yw y gallwch ddatgan bod DTD yn lleol i'r system lle mae'r ddogfen XML gyda'r "SYSTEM". Gallwch hefyd bwyntio at DTD cyhoeddus, fel gyda dogfen HTML 4.0:

Pan fyddwch chi'n defnyddio'r ddau, rydych chi'n dweud wrth y ddogfen ddefnyddio DTD penodol (y dynodwr cyhoeddus) a ble i ddod o hyd iddo (dynodwr y system).

Yn olaf, gallwch gynnwys DTD mewnol yn uniongyrchol yn y ddogfen, o fewn y tag DOCTYPE. Er enghraifft (nid yw hwn yn DTD cyflawn ar gyfer y ddogfen AML):

< ENTITY meta_keywords (#PCDATA)> ]>

Schema XML

Er mwyn creu dogfen XML ddilys, gallwch hefyd ddefnyddio dogfen Schema XML i ddiffinio'ch XML. Mae XML Schema yn ddogfen XML sy'n disgrifio dogfennau XML. Dysgwch sut i ysgrifennu sgema.

Nodyn

Nid yw'n unig cyfeirio at DTD neu Schema XML yn ddigon. Rhaid i'r XML sydd yn y ddogfen ddilyn y rheolau yn y DTD neu'r Schema. Mae defnyddio parser dilysu yn ffordd syml o wirio bod eich XML yn dilyn y rheolau DTD. Gallwch ddod o hyd i sawl parsers o'r fath ar-lein.