3.2 Nosaukumu konvencija

Ieteikuma numurs

NK-01

Ieteikuma būtība

Komplekso (xs:complexType) datu tipu nosaukumiem jābeidzas ar teksta rindu Structure. Vienkāršu (xs:simpleType) datu tipu nosaukumiem jābeidzas ar teksta rindu Type. Šī ieteikuma dēļ, kur vien iespējams, jāizvairās no tādiem nobeigumiem elementu nosaukumos.

Obligātums

Obligāta

Paskaidrojums

Tas nodrošina iespēju saskaņot visus nosaukumus, jo pieļauj vienkāršas atšķirības starp vienkāršo datu tipu nosaukumiem, komplekso datu tipu nosaukumiem un elementu nosaukumiem..

Piemēri

<xs:simpleType name="PersonCodeType">

 …

 </xs:annotation>

<xs:simpleType name="ForeignPersonCodeType">

 …

 </xs:annotation>

 

<xs:complexType name="PagedSearchInfoStructure" abstract="true">

</xs:complexType>

 

<xs:complexType name="DatePagedSearchInfoStructure" abstract="true">

</xs:complexType>


Ieteikuma numurs

NK-02

Ieteikuma būtība

Nav ieteicams lietot abreviatūras. No pārāk gariem nosaukumiem jāizvairās, izmantojot īsus un informatīvus nosaukumus. Izmantot iespējams vienīgi labi zināmas abreviatūras, kurās iekļauti tikai sākumburti. Tomēr, vienai sabiedrībai labi pazīstamas abreviatūras var būt nezināmas citām sabiedrībām, kurām jālieto tāds pats ziņojums. Tādās situācijās abreviatūras jāatšifrē elementa dokumentācijā.

Obligātums

Obligāta

Paskaidrojums

Ir iecerēts nosaukumus veidot tā, lai tie būtu saprotami visām ieinteresētajām pusēm, jo tas palīdzētu labāk saprast shēmu.

Piemēri

<xs:simpleType name="URNType"

 <xs:annotation>

  <xs:documentation xml:lang="lv">IVIS URN identifikators</xs:documentation>

 </xs:annotation>

 <xs:restriction base="xs:string">

  <xs:pattern value="URN:IVIS:[0-9]{6}:[A-Za-z0-9_()+,-.=@;$!*]{0,133}"/>

 </xs:restriction>

</xs:simpleType>

 

<xs:simpleType name="UUIDType">

 <xs:annotation>

  <xs:documentation xml:lang="lv">Universālais unikālais identifikators</xs:documentation>

 </xs:annotation>

  <xs:restriction base="xs:string">

   <xs:pattern value="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"/>

 </xs:restriction>

</xs:simpleType>


Ieteikuma numurs

NK-03

Ieteikuma būtība

Ikvienam nosaukumam (izņemot NK-04 un Vārdtelpas sadaļā aprakstītajos gadījumos, t. i., uzskaitījuma vērtībās un vārdtelpas prefiksos) jāsākas ar lielo sākumburtu un ikvienam vārdam nosaukumā jāsākas ar lielo burtu (PascalCase). Ja nosaukumā ir abreviatūra, kurā visi ir lielie burti (piemēram, PMLP) vai cipars, nākamajam vārdam arī jāsākas ar lielo burtu.

Obligātums

Obligāta

Paskaidrojums

Tā ir viena no daudzām iespējamām nosaukumu veidošanas metodēm, bet tās pieņemšana nodrošina nepretrunīgumu. Tas palīdz, kad norāda uz nosaukumiem, kad ir zināma burtu pārveidošana no mazajiem par lielajiem („kapitalizācija”), un, līdz ar to, nav nepieciešams par to atgādināt.

Piemēri

<xs:complexType name="DatePagedSearchInfoStructure" abstract="true">

 <xs:annotation>

  <xs:documentation xml:lang="lv">Pēc lappusem datu meklēšanas struktūra ar datumiem</xs:documentation>

</xs:annotation>

 <xs:complexContent>

  <xs:extension base="PagedSearchInfoStructure">

   <xs:sequence>

    <xs:element type="xs:dateTime" name="StartTime" minOccurs="0"/>

    <xs:element type="xs:dateTime" name="EndTime" minOccurs="0"/>

   </xs:sequence>

  </xs:extension>

 </xs:complexContent>

</xs:complexType>


Ieteikuma numurs

NK-04

Ieteikuma būtība

Uzskaitījuma (saraksta) vērtībām visur jālieto mazie burti. Ja vērtība ir īsts nosaukums, abreviatūra vai akronīms, jālieto nepieciešamā „kapitalizācija”. Ja saraksta vērtība sastāv no vairākiem vārdiem, tad pirmais tiek rakstīts ar mazo burtu, bet citi ar lielo (camelCase).

Obligātums

Obligāta

Paskaidrojums

Uzskaites vērtību galvenā nozīme ir nepretrunīgums lietošanā. Tāpēc visur jālieto mazie burti, ja vien tie nav nosaukumi, kuri parasti sākas ar lielo burtu.

Piemēri

<xs:simpleType name="AnswerTypeType">

 <xs:restriction base="xs:string">

   <xs:enumeration value="email"/>

   <xs:enumeration value="letter"/>

 </xs:restriction>

</xs:simpleType>

Ieteikuma numurs

NK-05

Ieteikuma būtība

Visiem XML shēmas elementiem jābūt nosauktiem angļu valodā. Pastāv iespēja lietot abreviatūras latviešu valodā.
Atsevišķos gadījumos ir pieļaujams shēmu elementus nosaukt latviski (rakstot elementu nosaukumu bez garumzīmēm), bet nav pieļaujams valodu sajaukums vienas XML shēmas vai hierarhijas ietvaros, izņemot citu hierarhiju lietošanas gadījumā.

Obligātums

Obligāta

Paskaidrojums

Angļu nosaukumi un abreviatūras ir plaši lietoti un labāk saprotami vairākumam cilvēku. Abreviatūrām latviešu valodā jābūt paskaidrotām (piemēram, anotācijas sekcijā).

Piemēri

Elementa nosaukums angļu valodā:

<xsd:scheme . . .>

  . . .

  <Metadata>

  <Audience>visiem</Audience>

  <Contributor Href="http://viss.gov.lv" CodeListCodeValue="100001">Valsts informācijas sistēmu savietotājs</Contributor>

</Metadata>

  . . .

</xsd:scheme>


Ieteikuma numurs

NK-06

Ieteikuma būtība

Izlaisti shēmas dokumenti (XSD faili) jāapzīmē ar anglisko nosaukumu, kas definē tā satura būtību vienskaitlī. Veidojot nosaukumu, jālieto esošā nosaukumu konvencija. Atšķirībā no W3C rekomendācijas VISS XML shēmas versija tiek definēta XML shēmas vārdtelpā.

Obligātums

Obligāta

Paskaidrojums

Šīs vadlīnijas garantē lietojuma integritāti, ja kāds shēmas dokuments atsaucas uz citu shēmas dokumentu, izmantojot include vai import. Tādā veidā izmantotus shēmas dokumentus nebūs iespējams izmainīt, nemainot shēmas versiju.

Piemēri

Personas vārda un uzvārda XML shēmas nosaukums:

FullName.xsd

Personas koda XML shēmas nosaukums:

PersonCode.xsd

Ieteikuma numurs

NK-07

Ieteikuma būtība

Datu tipu un elementu, kas satur citus elementus (sarakstu), nosaukumiem jābeidzas ar teksta rindu List.

Obligātums

Obligāta

Paskaidrojums

Tas nodrošina iespēju pēc nosaukuma saprast, ka elements ir citu elementu masīvs un tam nepieciešama konkrēta apstrāde.

Piemēri

<xs:element name="PersonCodeValidityList" type="PersonCodeValidityListStructure"/>

  <xs:complexType name="PersonCodeValidityListStructure">

    <xs:sequence minOccurs="0" maxOccurs="unbounded">

      <xs:element name="PersonCodeValidity" type="pr:PersonCodeValidityStructure" />

    </xs:sequence>

  </xs:complexType>