Turinys

Svetainės turinys ir puslapių hierarchija laikomi XML faile (failo vieta/pavadinimas nurodomi nustatymų faile). Kadangi vartotojui draugiškas turinio redaktorius vis dar ruošiamas, XML dokumentą tenka redaguoti savo rankomis (arba, žinoma, galite pasirašyti savo redaktorių ;-)). Žemiau pateikiamas turinio/puslapių failo struktūros aprašymas. Taip atrodo minimalus turinio failas (parsisiuntę tvs, rasite šios svetainės turinio failą):

<?xml version="1.0" encoding="UTF-8"?>
<anticms version="0.1">

  <info>
    <item type="language" code="en" />
    <item type="language" code="lt" />
    <item type="expires" enabled="true" days="1" hours="0" minutes="0" seconds="0" />
    <item type="default" name="language" value="en" />
    <item type="default" name="page" value="index" />
  </info>

  <pages>
    <page name="index">
      <attribute name="title">
        <text lang="en">Home</text>
        <text lang="lt">Pradinis</text>
      </attribute>
    </page>
    <page name="other">
      <attribute name="title">
        <text lang="en">Another page</text>
        <text lang="lt">Kitas puslapis</text>    
      </attribute>
    </page>
  </pages>

  <content>
    <item type="string" container="MAIN_TITLE">
      <text lang="en">Welcome!</text>
      <text lang="lt">Sveiki atvykę!</text>      
    </item>

    <item type="list" container="ARTICLES">
      <item type="struct">
        <page name="index" subpages="false" />
        <item type="string" name="title">
          <text lang="en">First post!</text>
          <text lang="lt">Pirmas pranešimas!</text>
        </item>
        <item type="string" name="body">
          <file lang="en" name="article_en.html" />
          <file lang="lt" name="article_lt.html" />
        </item>
      </item>
    </item>
  </content>

</anticms>

anticms elementas

Viršutinis dokumento elementas anticms gaubia tris elementus: info, pages ir content. Viršutinis elementas turi vienintelę savybę version, kuri nurodo dokumento formato versiją.

info elementas

Šis elementas savybių neturi, bet gaubia item elementų rinkinį, kuriuose įrašyta bendra svetainės informacija.

item elementas

Kiekvienas item elementas turi savybę type ir keletą kitų savybių, priklausančių nuo type reikšmės, kuri gali būti viena iš šių:

language
Šio tipo elementais išvardyjamos visos svetainės kalbos, savybėje code įrašant kalbos kodą (pvz. 'lt', 'en', ...).
expires
Šio tipo elementas nurodo ar ir už kiek laiko puslapiai išnyksta t.y. kiek laiko turi būti laikomi naršyklės krepšyje. Savybės:
  • enabled – ar išnyksta ('true' arba 'false').
  • days – už kiek dienų nuo parodymo.
  • hours – už kiek valandų nuo parodymo.
  • minutes – už kiek minučių nuo parodymo.
  • seconds – už kiek sekundžių nuo parodymo.
Norint, kad puslapiai nebūtų saugomi naršyklės krepšyje ir kiekvieno parodymo metu pakraunami iš naujo, reikia nurodyti enabled='true', o visoms kitoms savybėms priskirti '0'.
default
Šio tipo elementai nurodo reikšmes pagal nutylėjimą. Savybės: name – reikšmės pavadinimas, value – reikšmė. Galimi reikšmių pavadinimai:
  • language – kalba pagal nutylėjimą.
  • page – pradinis puslapis.

pages elementas

Šis elementas savybių neturi, bet gaubia page elementus, kurie aprašo svetainės puslapius. Tiesioginiai šio elemento palikuonys yra šakniniai puslapiai; visi kiti – jų subpuslapiai.

page elementas

Šis elementas turi savybę name, nurodančią puslapio pavadinimą ir gaubia attribute, bei subpages elementus.

content elementas

Šis elementas savybių neturi, bet gaubia item elementus (kurie skiriasi nuo info dalyje esančių item elementų), aprašančius svetainės turinį.

item elementas

Kiekvienas item elementas turi savybę type, nuo kurios reikšmės priklauso kokius elementus jis gaubia. Galimos type reikšmės:

string
Šio tipo elementai gaubia duomenų elementus.
list
Šio tipo elementai gaubia item elementus ir apjungia juos į indeksuotą (sutvarkytą) sąrašą.
struct
Šio tipo elementai gaubia item elementus ir apjungia juos į struktūrą t. y. sąrašą, kurio kiekvienas elementas turi pavadinimą. Šio elemento gaubiami elementai turi savybę name, kuri ir nurodo jų pavadinimą struktūroje.

Kiekvienas item elementas gali gaubti keletą page elementų, nurodančių, kuriuose puslapiuose talpinamas elemento turinys; jeigu page elementų nėra, turinys talpinamas visuose puslapiuose. page elementų savybės:

Šakniniai item elementai turi savybę container, nurodančią kokiam šablono kintamajam bus priskirti duomenys.

Duomenų elementai

Yra du duomenis saugantys elementai:

text
Šis elementas gaubia tekstą, įrašytą pačiame duomenų faile – patogus trumpiems tekstams.
file
Šis elementas negaubia nieko, bet turi savybę name, kurioje įrašytas failo vardas, kuriame įdėtas tekstas. Failas turi būti kataloge, nurodytame nustatymuose.

Abu elementai turi savybę lang, kuri nurodo kokia kalba juose parašytas tekstas. Jeigu puslapio generavimo metu nerandama norima kalba, tekstas imamas iš pirmo pasitaikiusio elemento.

Prieš talpinant tekstą puslapyje, jis apdorojamas kaip šablonas.