3.3.8 Elementi .v. Atribūti

Ieteikuma numurs

SK-08

Ieteikuma būtība

Shēmas jāprojektē tā, lai elementi būtu galvenie informācijas satura glabātāji XML instancēs. Atribūti ir vairāk piemēroti, lai glabātu speciālus metadatus – vienkāršas vienības, kuras nodrošina vairāk informācijas par elementa saturu. Atribūtus nevar izmantot, lai kvalificētu citus atribūtus, kur tas var radīt neskaidrības.

Obligātums

Vēlams

Paskaidrojums

Atribūti, atšķirībā no elementiem, nevar glabāt strukturētus datus. Sakarā ar to elementi tiek izvēlēti par informācijas satura pamata glabātājiem. Tomēr, pieļaujot atribūtu izmantošanu elementa satura metadatu glabāšanai (piemēram, datuma formāts), instances dokumentu varētu padarīt vienkāršāku un vieglāk saprotamu.

Piemēri

Dzimšanas datums var būt izteikts XML ziņojumā šādi:

<DateOfBirth>1975-06-03</DateOfBirth>

Tomēr varētu būt nepieciešams vairāk informācijas, piemēram, kā šis dzimšanas datums ir apstiprināts. Tas var būt izteikts ar atribūta palīdzību šādā veidā:

<DateOfBirth VerifiedBy="View of Birth Certificate">

  1975-06-03

</DateOfBirth>

Zemāk esošais pieraksts nav piemērots:

<DateOfBirth

  VerifiedBy="View of Birth Certificate"

  ValueSet="ISO 8601"

  Code="2">1975-06-03</DateOfBirth>

Nav pilnīgas skaidrības, vai Code kvalificē VerifiedBy atribūtu, vai ValueSet atribūtu. Piemērotāks atveidojums varētu būt šāds:

<DateOfBirth>

  <VerifiedBy Code="2">View of Birth Certificate</VerifiedBy>

  <Value ValueSet="ISO 8601">1975-06-03</Value>

</DateOfBirth>