Rakenteisen dokumentoinnin määrittävä tekijä on sisällön jakaminen itsenäisesti hallinnoituihin moduuleihin. Tällainen paloitteleminen tarkoittaa, että julkaisuvaiheessa sisällöt täytyy kasata yhdeksi kokonaisuudeksi. Tämä artikkeli käy läpi seikkoja, jotka tulee huomioda julkaisun kasaamisvaiheessa.
Huomionarvoisia seikkoja liittyen julkaisujen kasaamiseen rakenteisen dokumentoinnin pohjalta on ainakin neljä. Ensinnäkin julkaisuun tulevat sisällöt tulee järjestellä siihen soveltuvaan järjestykseen ja hierarkiaan. Toisekseen julkaisutyyppiä varten tulee olla siihen soveltuva tyylitiedosto. Tyylitiedostoihin tutustutaan tarkemmin tämän sarjan viidennessä osassa. Kolmannekseen itse julkaisupohja täytyy kasata määrittämällä juuri siihen soveltuvat asetukset sisältöjen keräämiseksi ja asettelemiseksi. Neljäs tärkeä huomio puolestaan koskee kielikohtaisten erojen huomioimista julkaisun osalta. Kullekin näistä neljästä seikasta omistetaan täällä oma osionsa.
Tämä on neljäs osa sarjaa rakenteisen dokumentoinnin eroista suhteessa suoraan tekstinkäsittelyyn. Linkit aiempiin osiin löytyvät alapuolelta.
Sisällön Järjestely
Sisältömoduulit voidaan säilyttää järjesteltynä minkä vain logiikan mukaan. Mitä enemmän niitä uudelleenkäytetään, sitä järkevämpää ne on jakaa säilytettäväksi esimerkiksi aihekohtaisesti. Tästä syystä kuhunkin julkaisuun käytetyt sisällöt tulee siis ensin poimia tästä joukosta ja asettaa oikeaan järjestykseen.
Sisällön järjestely koostuu järjestyksestä ja hierarkiasta. Järjestys tarkoittaa, miten sisällöt on asetettu peräkkäin suhteessa toisiinsa. Hierarkia puolestaan tarkoittaa sisällön järjestystasoihin perustuvaa sisäkkäisyyttä. Alasisällöt asetetaan korkeammille järjestystasoille, mikä kertoo niiden olevan pala laajempaa aihepiiriä koskevaa osuutta.
Esimerkiksi julkaisun ensimmäisen pääosion numerotunniste olisi ’1’ ja sen ensimmäisen alaosion tunniste ’1.1’, kun julkaisu seuraa ISO 2145 -standardia. Alaosiot merkitään lisäämällä tässä hierarkiassa suoraan niiden yläpuolella olevan osion numerotunnisteen perään kunkin alaosion järjestysnumero sen sisällä. Täten osion ’1.1’ ensimmäisen alaosion tunniste olisi ’1.1.1’ ja toisen ’1.1.2’.
DoX CMS:n tapauksessa tällainen sisällön järjestely tapahtuu käyttämällä niin sanottuja otsikkopuita. Kaikki sisältö on kasattuna yhteen pääotsikkopuuhun ja sen osista voi kasata uusia otsikkopuita vetämällä halutut sisällöt niille haluttuihin sijainteihin siihen tarkoitetussa valikossa.
Olennaista tältä osin on, kuinka sisällön järjestely on osa sen kirjoittamista vain kunkin moduulin sisällä. Muutoin kyseessä on erillinen sisällöntuotannon vaiheensa. Näin samaa sisältöä voidaan käyttää eri julkaisuissa tai tarvittaessa jopa useampaan otteeseen saman julkaisun sisällä. Kuinka näin järjestetty sisältö asettuu riippuu käytetyssä tyylitiedostossa annetuista määreistä.
Mahdollisen poikkeauksen muodostavat julkaisuformaatin vuoksi epälineaarisesti järjestellyt sisällöt kuten erilaiset virtuaaliympäristöt. Ellei niille ole määritetty ennalta järjestykseen perustuvaa sisällön sijoittelulogiikkaa, sijoittelu tapahtuu erikseen vasta julkaisuvaiheen jälkeen. Tämä on esimerkiksi DoX VAD:n toimintaperiaate.
Tyylitiedostot
Koska rakenteisen dokumentoinnin avulla tehdyt julkaisut koostuvat julkaisuformaattiin suhteessa neutraaleista ja irrallisista osista, vaatii julkaisukohtaisen tyylin määrittäminen erillistä tyylitiedostoa.
Tyylitiedoston kautta määritetään esimerkiksi pakotetut sivunvaihdot sekä kuinka paljon sisältöä kullekin sivulle on tultava sivunvaihtojen kohdalla. Lisäksi se kertoo, kuinka sekä ylä- että alatunnisteet rakentuvat, ja molempien kansilehtien asettelun (ellei kansia ole tehty kokonaisuudessaan muualla). Jos näiltä osin on kielikohtaisia eroja, voidaan ne huomioida osana tyylitiedostoa. DoX CMS:n tapauksessa tätä kautta myös annetaan määreet elementtiluokille, joiden avulla luodaan poikkeuksia kyseisenlaisten elementtien yleisiin asettelun sääntöihin.
Mahdollisia kieliä asettelun säätämiseen ovat CSS ja XSL. Näistä jälkimmäinen antaa tarvittaessa uudelleenjärjestellä sisältöjä myös moduulien sisäisesti ja välillä kasaamalla olemassaolevan sisällön perusteella uutta sisältöä. Aiemmin sen piiriin lukeutui myös yleisempi dokumenttien tyylin määrittely (XSL-FO). Koska tämä XSL:n osuus ei ole enää aktiivisesti tuettu, keskitytään täällä CSS:ään siltä osin.
Kuinka CSS käytännössä toimii?
Jokainen sen avulla kirjoitettu komento koostuu kohdistajasta ja säännöistä. Kohdistaja kertoo, mihin osioihin kyseisiä sääntöjä sovelletaan. Säännöt kertovat, mitä näille osioille tehdään.
Yksinkertaisimmillaan kohdistaja nimeää yhden tyyppisen elementin kuten kuvaelementit (img). Se on kuitenkin mahdollista määrittää tätä tarkemmin erinäisin tavoin. Kohdistaja voi asettaa sille määritetyt säännöt käyttöön esimerkiksi kuvaan tietyllä elementtiluokalla merkityn taulukon jokaisen rivin toisen solun kuviin. Tämä ratkaisu sallisi esimerkiksi varoitustyypeistä kertovan taulukon muotoilun halutunlaiseksi.
Sääntöjen avulla määritetään käytetyn kohdistajan nimeämiin elementteihin tehtävät muutokset asetteluun ja tyyliin. Nämä säännöt voivat koskea tekstin muotoilua, käytettyjä taustoja, sivunvaihtoja, lisättyjä osuuksia ja niin edelleen.
Mitkä säännöt pätevät, kun sama osio saa sääntöjä useamman kohdistajan kautta, perustuu kolmeen tekijään. Ensinnäkin, tarkempien määreiden säännöt ohittavat yleisluontoisempien määreiden säännöt. Tämä järjestys on, yleisluontoisista tarkempiin: 1. elementtien tyypit, 2. elementtien luokat ja 3. elementtien ainutkertaiset tunnisteet. Toisekseen, alemmaksi kirjoitetut saman tarkkuustason säännöt ohittavat ylemmäksi kirjoitetut. Järjestelmä käyttää siis aina viimeisintä pätevää määritystä. Kolmas ehto luo muut ehdot yliajavan poikkeustilanteen, jonka toistuessa niitä taas sovelletaan. Tämä tapahtuu lisäämällä määreen ’!important’ säännön perään.
Alla on lyhyt pätkä CSS:ää, joka osoittaa, kuinka tämä toimisi käytännössä. Sen perusteella DoX CMS:ssä tehtyihin perustaulukoihin tulee musta tausta ja valkoinen teksti ja täysiin taulukoihin (.dita-table) valkoinen tausta ja musta teksti. Koska jälkimmäinen määre perustuu luokkaan elementin tyypin sijaan, astuu se voimaan riippumatta sääntöjen kirjoitusjärjestyksestä. Lopuksi koodiin on lisätty elementtiluokkaan perustuva ehto, jolla kumman vain saa tarvittaessa ajettua yli tekstin punaiseksi muuttamiseksi.
.dita-table {
background-color: white;
color: black;
}
table {
background-color: black;
color: white;
}
[doxelementclass="RedText"] {
color: red !important;
}
Vaikka samaan tyylitiedostoon on periaatteessa mahdollista rakentaa ehdolliset säännöt eri julkaisuformaateille, on parempi käyttää erillisiä tyylitiedostoja kunkin käytetyn formaatin tarpeisiin. Yhden formaatin säännöt, jotka ovat yhdentekeviä muissa asiayhteyksissä, eivät vaikuta muihin julkaisuformaatteihin. Esimerkiksi kuitenkin kannen asettelun voi joutua määrittelemään uudelleen sivupohjaisen ja verkkojulkaisun välillä.
Julkaisupohjan Yksityiskohdat
Kun muut julkaisun vaatimat yksityiskohdat on määritetty, tarvitsee ne enää yhdistää julkaisupohjaksi, jonka perusteella julkaisu kasataan. DoX CMS:n tapauksessa julkaisupohjan vaatii seuraavat määritykset: 1. käytetty otsikkopuu, 2. käytetty tyyli, 3. kansilehdet, 4. julkaisumuuttujien arvot, 5. käytetyt tagit ja 6. käytetyt revisiot.
Otsikkopuut ja tyylit on käsitelty yllä. Kyseessä on vain yhden valmistelluista vaihtoehdoista valitseminen. Kansilehdet ovat vain sisältömoduuleita, jotka on merkitty mahdollisiksi kansiksi. Täten tämä osio keskittyy kolmeen jälkimmäiseen tekijään: julkaisumuuttujiin, tageihin ja revisioihin.
Julkaisumuuttujat
Julkaisumuuttujat ovat DoX CMS:n käyttämä viitesisältöjen muoto. Niitä käsiteltiin lyhyesti myös tämän sarjan ensimmäisessä osassa. Kun niitä käytetään osana pohjamateriaalia, kyseisten sijaintien sisältö korvautuu julkaisuvaiheessa arvoilla, jotka on määritetty kyseiselle julkaisulle. Nämä arvot on mahdollista kirjoittaa osaksi julkaisupohjaa. Esimerkiksi tekijänoikeusmerkintään käytettävää vuosilukua on mahdollista hallinnoida tällä tavoin.
Jos käytetyssä järjestelmässä ei ole omaa vastaavaa menetelmäänsä, sama tulos on saavutettavissa ehdollistamalla pätkiä pohjamateriaalissa. Tällöin toimintatapa vastaa DoX CMS:n tagien valitsemista.
Tagit
Tagit ovat DoX CMS:n käyttämä tunniste sisällön ehdollistamiseksi. Niillä merkityt sisällöt tulevat mukaan vain julkaisuihin, joihin on valittu käyttöön vastaavat tagit. Muut järjestelmät käyttävät muunlaisia ehdollistamisen keinoja, mutta perusperiaate on sama: vain julkaisulle valitulla tavalla merkityt ehdollistetut sisällöt tulevat siihen.
Ehdollistettu sisältö koostuu elementeistä, joilla on siihen tarkoitukseen käytettyjä tunnisteita. Julkaisuvaiheessa on mahdollista hallinnoida tietyillä tunnisteilla merkittyjen elementtien näkyvyyttä eli tulevatko ne mukaan julkaisuun. Esimerkiksi tuotteen osataulukko voi sisältää erilliset rivit jokaiselle mahdolliselle osalle eri mallien välillä ja käytettävissä oleville lisäosille. Kun ne merkitään asianmukaisesti, toimitettavan tuotteen oppaaseen voi valita käyttöön kaikkien siinä käytettyjen osien rivejä vastaavat tunnisteet.
DoX CMS:n tagien tapauksessa ne on jaettu kategorioihin. Julkaisun tulee ottaa käyttöön ainakin yksi käytetty tagi jokaisesta kategoriasta, jonka tageja on käytetty ehdollistettuun elementtiin, kyseisen elementin julkaisuun sisällyttämiseksi. Jos siihen on esimerkiksi käytetty tageja liittyen sekä tuotteiden malleihin että opastyyppeihin, tulisi julkaisua varten valita ainakin yksi tagi sekä kyseisistä tuotteiden malleista että opastyypeistä.
Revisiot
Viimein, julkaisukohtaisesti täytyy valita, mitä sisällön revisioita se käyttää kunkin moduulin osalta. Tämän sarjan kolmas osa kertoo enemmän sisällön revisioinnista. Vanhempien revisioiden käyttäminen voi olla tarpeen, kun kyse on vanhemmasta julkaisun vedoksesta tai kun uusimmat revisiot ovat edelleen työn alla.
DoX CMS antaa käyttäjän joko valita kunkin sisältömoduulin osalta käytetyn revision itse tai valita kaikkien moduulien revisiot halutun periaatteen mukaisesti. Tältä osin on mahdollista lukita käyttöön esimerkiksi viimeisin hyväksytty versio. Muussa tapauksessa järjestelmä päivittää uusimpiin vedoksiin julkaisusta aina uusimmat sisältöjen revisiot.
On tärkeää aina tarkistaa, mitä revisioita julkaisu oletusarvoisesti käyttää. Jos joku on esimerkiksi lukinnut käyttöön tietyt revisiot julkaisun aiemmassa vedoksessa, nämä valinnat periytyvät myöhempiin vedoksiin. Ne tulee tällöin joko vaihtaa haluttuihin revisioihin tai asettaa automaattisesti päivittyviksi.
Kielikohtaiset Erot
Vaikka rakenteisen dokumentoinnin avulla rakennetut julkaisut kasataan automaattisesti, on tavat, joilla eri versiot asettuvat, hyvä tarkistaa. Tärkeimpiä näistä versioista ovat käännökset eri kielille.
Käännösversioiden oikolukeminen voi paljastaa muutoin näkymättömiä puutteita tyylitiedostossa. On esimerkiksi helppoa unohtaa kääntää tyylitiedoston kautta lisätyt tekstin osat kuten huomioelementtien nimet. Lisäksi erot esimerkiksi sanojen pituudessa voivat rikkoa taulukkoja, joiden sarakkeiden leveys lasketaan automaattisesti. Näiden tilanteiden huomiointiin löytyy sääntöjä, tai ongelmakohtiin voi lisätä suoraan tavutusviivoja. Joissakin tapauksissa voi olla tarpeen lisätä pakotettuja sivunvaihtoja lopullisen asettelun parantamiseksi. DoX CMS:ssä tämä tapahtuu käyttämällä elementtiluokkia, kuten täällä selitetään.
Lisäksi tulee varmistaa, että kaikki käännettäviksi tarkoitetut osiot on käännetty asianmukaisesti. DoX CMS:ssä tämä koskee erityisesti muuttujia. Sekä käännösmuuttujien että julkaisumuuttujien arvot on mahdollista sisällyttää käännösprojekteihin. Niihin lukeutuu esimerkiksi sisällysluettelon otsikko. Myös julkaisun oma nimi on tarpeen käännättää, jos sen ilmaisevaa muuttujaa käytetään esimerkiksi julkaisun kannessa.
Yhteenveto
Rakenteisen dokumentoinnin tapauksessa julkaisujen kasaaminen on oma prosessinsa. Se vaatii sisältömoduuleista irrallisten kokonaisuuksien rakentamista julkaisun käyttöön. Tärkeimmät näistä ovat otsikkopuut ja tyylitiedostot. Kun tarvittava materiaali on valmisteltu, täytyy itse julkaisupohja valmistella niiden perusteella. Kielikohtaisesti voi kuitenkin edelleen olla tarpeen huomioida eri kieliin liittyviä eroja.
Kun sisältö järjestetään otsikkopuuksi, sen moduulit asetetaan julkaisukohtaisesti haluttuun järjestykseen ja hierarkiaan. Samaa otsikkopuuta voi käyttää useammassa julkaisussa, jos sen sisältö on asianmukaisesti ehdollistettua. Otsikkopuiden ulkopuolella moduulit voivat olla järjesteltyinä minkä vain logiikan mukaisesti.
Tyylitiedostot hallinnoivat sisällön asettelua ja tyylittelyä. Niiden kirjoittamisen ensisijainen kieli on CSS, joka koostuu joukosta kohdistajia ja niille määritettyjä sääntöjä. Tyylitiedostojen avulla on mahdollista huomioida tarve esimerkiksi pakotetuille sivunvaihdoilla ja näin tehdä sisällön kasaamisesta ennakoitavampaa. Täten sisällöt voidaan myös kirjoittaa tyylitiedoston huomioivaan tapaan, jos sen (tarkoitettu) sisältö tiedetään ennalta.
Julkaisupohjien tekemiseen liittyy lähinnä joukko valintoja ennalta valmisteltujen vaihtoehtojen kesken. Erityisen tärkeää on kuitenkin valita käyttöön halutut tunnisteet ehdollistetun sisällön osalta. DoX CMS käyttää tähän tageja. Lisäksi tulee varmistaa, että käytössä ovat oikeat revisiot sisältömoduuleista.
Vaikka käännöksien sisällöt kasataan automaattisesti samojen määrityksien perusteella kuin alkuperäiset julkaisut, tulee ne oikolukea erikseen. Näin varmistetaan, että tyylitiedosto huomioi riittävästi niihin sisältyvät erot ja että kaikki vaadittu sisältö on käännetty asianmukaisesti.
Kun vaaditut valmistelut ovat tosin tyydyttävällä tasolla, on uusien julkaisujen kasaaminen ja sisällön uudelleenkäyttäminen yksinkertaista. Mitä enemmän sisältöä käytetään, sitä pienempi sen hallinnointiin käytetty vaiva on pitkällä aikavälillä. Varsinkin julkaisujen kasaaminen tällä tavoin on yksinkertaisempaa kuin sisältöjen uudelleenkirjoittaminen tai muokkaaminen julkaisukohtaisesti.