Näissä artikkeleissa on ajoittain viitattu mahdollisuuteen, että tyylitiedostoissa määritetään sääntöjä elementeille, joihin on käytetty tiettyjä tageja. Yleensä ottaen emme suosittele tällaisten sääntöjen käyttämistä. Tässä artikkelissa kuitenkin käydään läpi joitakin tapoja, joilla tagikohtaiset säännöt tyylitiedostoissa voivat tuoda julkaisuihin lisäarvoa.
Käyn ensin läpi yleisiä periaatteita, joiden perusteella tagikohtaiset säännöt tyylitiedostossa voivat tarjota lisäarvoa. Seuraavaksi keskustelen niiden toteuttamiseen liittyvistä haasteista. Lopuksi käyn vielä läpi yksittäisiä esimerkkejä tagikohtaisten sääntöjen toteutuksista DoX CMS:ssä.
Hyödyt
Tyylien liittäminen tageihin vastaa erityistarpeisiin. Emme edelleenkään suosittele näitä toimenpiteitä kaikkien käyttöön. Alla kerron, milloin tageihin kytketyillä tyyleillä saadaan lisäarvoa, joka oikeuttaa sen toteutuksen vaatiman vaivan.
Kategoriakohtainen erotettavuus
Tagien käyttöpaikat vastaavat luonnostaan niiden roolia varsinkin suodatuksen vaatiman kategoriakohtaisen erottelun osalta. Tästä syystä niihin liitetyt tyylit antavat lisätä myös näkyviä erotteluita näiden osioiden korostamiseen ja toisistaan erottamiseen.
Eriyttämätön toimitus
Tagikohtaiset tyylit antavat näyttää, mitkä osiot ovat opaskohtaisia myös silloin, kun muut vaihtoehdot on suodatettu pois julkaisuvaiheessa. Suurin hyöty tällä tavoin saavutetaan kuitenkin, kun eri malleihin tai muutoin eri tarkoituksiin liittyvät sisällöt ovat osa yhtä, eriyttämätöntä opasta. Kenties tällainen opas voi olla hyödyllinen esimerkiksi merkkihuollosta vastaaville toimijoille, joilla on tällä tavoin pääsy kaikkia malleja koskeviin sisältöihin yhdessä paikassa. Tyylien tuoma erottelu tekee tällöin oikeiden osioiden tilannekohtaisesta löytämisestä helpompaa.
Laajennusmahdollisuudet
Yksi eriyttämättömän oppaan alatyyppi ovat oppaat, joissa näytetään erikseen, mitä saatavilla olevia ominaisuuksia senhetkinen toimitus ei vielä sisällä. Kyse voi olla laitteen lisäosista tai esimerkiksi ohjelmistolisenssin tasosta. Tällä tavoin toimitetut tiedot voivat motivoida lisähankintoja, koska tieto koskien saavutettavissa olevia etuja on vaivattomasti asiakkaiden saavutettavissa. Tyylien avulla varmistetaan, että nämä tiedot erottuvat selvästi toimituksen jo sisältämiä ominaisuuksia koskevista tiedoista.
Koska nämä tyylit tulevat kaikille kyseessä olevilla tageilla merkityille sisällöille ja koska tyylejä ei voi suodattaa julkaisukohtaisesti, suosittelemme, että kyseiset erot tyylissä jäävät näkyviin myös silloin, kun kyseiset osuudet jo löytyvät asiakkailta.
Yksi keino eriyttää toimitukset siten, että erityistyylit näkyvät vain tageilla, joihin liittyvät osuudet kyseisiltä asiakkailta puuttuvat, kuitenkin löytyy. Se vaatii erillisiä tyylejä erilaisille toimituskokonaisuuksille. Käyn läpi tämän ratkaisun yksityiskohdat alempana.
Käyttäjäkohtaisen hallinnoinnin tukeminen
Yksi käytettävissä oleva eriyttämättömien toimitusten muoto ovat digitaaliset toimitukset, joiden sisältö on käyttäjien itsensä hallinnoitavissa heidän tarpeitaan vastaavalla tavalla. Tällöin sisältöä ei suodateta tagien perusteella etukäteen, vaan käyttäjät voivat itse valita, mitä sisältöjä heille kulloinkin näytetään. Tyylien avulla käyttäjät voivat nähdä eri osioiden rajat. Yksi mahdollinen asetus on, näytetäänkö näitä rajoja vai ei. Niiden avulla käyttäjät esimerkiksi saavat selvemmän käsityksen siitä, mihin osuuksiin heidän mahdollisuutensa hallinnoida sisällön näkyvyyttä vaikuttavat. Lisätietoja aiheesta löytyy täältä.
Katselmoinnin tukeminen
Tagien ensisijainen käyttötarkoitus on sisällön eriyttäminen sen toimituskohtaista suodattamista varten. Tageja voi kuitenkin käyttää myös muilla tavoin. Yksi näistä tavoista liittyy työnkiertoon ja näkymien suodattamiseen. Tällöin eri sisältöihin merkitään, mitä keskeneräisiä tehtäviä niihin liittyy. Lisätietoja aiheesta löytyy täältä.
Rinnakkainen esittäminen
Jos yksittäisen julkaisun sijaan halutaan katsemoida kaikkiin eri vaihtoehtoihin liittyviä sisältöjä rinnakkain, tagikohtaiset tyylit näille elementeille lisäämällä ne saadaan erottumaan sekä muusta sisällöstä että toisistaan. Tällöin näitä tyylejä ei välttämättä käytetä asiakkaille toimitettaviin eriyttämättömiin oppaisiin, vaan tällaiset eriyttämättömät oppaat ovat vain osa katselmoinnin työnkiertoa. Samoin tagikohtaiset tyylit voidaan tällöin jättää kokonaan pois asiakkaille toimitettavista oppaista, jos ne eivät tuo lisäarvoa heille.
Keskeneräisyyden merkitseminen
Jos käytätte tageja myös keskeneräisten sisältöjen merkitsemiseen niiden paikantamiseksi myöhemmin, voi myös tyylitiedostoon lisätä keinoja näiden osioiden näyttämiseksi julkaisuvaiheessa. Tällä tavoin epähuomiossa täydentämättä tai korjaamatta jääneet osiot tunnistaa helpommin, kun julkaisua katselmoidaan ennen sen toimittamista. Tällainen lisäys tekee katselmoimisesta sekä helpompaa että luotettavampaa tältä osin.
Haasteet
Koska tageja on tarkoitus käyttää sisällön suodattamiseen eikä tyylien perustana, liittyy jälkimmäiseen sovellukseen rajoituksia ja haasteita. Alla käydään läpi ilmeisimmät näistä haasteista.
Ennakointi
Tageja käytetään sisällön suodattamiseen ja tyylitiedostot eivät anna päättää tilannekohtaisesti, milloin niiden säännöt ovat voimassa. Käyttäjien täytyy siis ymmärtää etukäteen, kuinka nämä järjestelmät vuorovaikuttavat ja kuinka tageja on tarkoitus käyttää, kun niihin on liitetty myös tyylejä.
Tagien käyttötavat
Tagien käyttämisen kannalta on tärkeää huomioida sekä mitä tageja käytetään (yhdessä) että mihin elementteihin niitä käytetään. Koska samoja tageja voidaan käyttää moniin erilaisiin elementteihin ja koska erilaiset elementit vaativat usein niiden asetteluun tarkoitettuja sääntöjä, on tyylittelyn sääntöihin sidottujen tagien oikean sijoittelun tietäminen erityisen tärkeää.
Esimerkiksi huomioelementtien (note) osalta tavanomaisesti suosittelemme itse pääelementin ehdollistamista. Niiden sisään on kuitenkin mahdollista lisätä useampi tekstikappale (p), ja itse huomioelementin sijaan on mahdollista myös ehdollistaa nämä kappaleet eri tavoin. Tyylien osalta on tärkeää päättää, miten ne halutaan kohdistaa ja tällöin myös tyylitiedoston sääntöihin liittyviä tageja täytyy käyttää tämän mukaisesti. Esimerkeissä alempana näytetään yksi toteutustapa, jossa säännöt on kytketty huomioelementtien sisällä oleviin ehdollistettuihin tekstikappaleisiin.
Tärkeintä on varmistaa yhdenmukainen tagien käyttötapa, joka soveltuu yhteen tyyleillä saavutettavan lisäarvon kanssa. Eri tageja saattaa tällöin olla syytä käyttää eri tavoin. Tällaiset yksityiskohdat on syytä kirjata sisäiseen dokumentaatioonne DoX CMS:n käyttötapojen osalta.
Tagikategoriat
Tagikategoria määrittää attribuutin, jota kyseisen kategorian tagit käyttävät. Tämä tarkoittaa, että käytetty kategoria on osa tyylitiedostossa käytettyä kohdistajaa, kun kyseisiin tageihin liittyy asettelua koskevia sääntöjä. Tästä syystä saman tagin kategorian vaihtaminen tarkoittaa, että kaikki siihen liittyvät säännöt tyylitiedostoissa täytyy muuttaa vastaamaan sen uutta kategoriaa.
Toisin sanoen tagikategorioihin liittyvät muutokset aiheuttavat huomattavan määrän lisätyötä, kun niiden tageihin viitataan tyylitiedostoissa. Jos tageja on tarkoitus käyttää tällä tavoin, kannattaa siis varmistaa, että niiden kategoriat ovat soveltuvia pitkäaikaiskäyttöön ja että päivityksille tältä osin ei ole ennakoitavissa muutoksia.
Yhdistelmät
Koska tyylitiedostoissa käytetyt kohdistajat täytyy määrittää tarkkarajaisesti, täytyy niiden osalta huomioida myös mahdolliset tagien yhdistelmät sekä saman kategorian sisällä että kategorioiden välillä. Vastaavasti tagien yhdessä käytön osalta täytyy huomioida tyylitiedoston rajoitteet.
Ongelmatilanteet liittyvät voimaan jääviin sääntöihin, kun eri tageihin liittyy omat sääntönsä, ja yhdistelmäkohtaisten valitsijoiden muotoilemiseen.
Samojen sääntöjen kuten elementin reunuksien osalta voimaan jäävät alempana tyylitiedostossa kirjatut säännöt, kun käytössä ovat saman prioriteetin valitsijat. Tällöin täytyy olla varovainen useamman eri kategorian tagin, jolle on määritetty sääntöjä tyylitiedostossa, käyttämisen samoihin elementteihin osalta. Jos tageja täytyy käyttää ristiin tällä tavoin, yksi ratkaisu on kunkin tagikategorian ensisijaisten tyylien kytkeminen eri seikkoihin. Esimerkiksi yksi kategoria voi määrittää tekstin tai taustan värin, kun taas toinen kategoria määrittää kehyksien värin.
Tagien yhdistelmät vaativat lähinnä erillisten valitsijoiden muotoilemista kaikille suunnitelluille yhdistelmille. Tämä määrä kasvaa helposti käyttökelvottomaksi, mistä syystä sallitut yhdistelmät on syytä määrittää etukäteen. Jos yhdistelmien tapauksessa kategorioiden välillä käytetään eri sääntöjä ja kategorioiden sisällä on olemassa hierarkia sille, mitkä säännöt jäävät voimaan, yhdistelmiin liittyy vähemmän haasteita. Tagien ja tyylien yhdistäminen tuo kuitenkin enemmän lisäarvoa, kun yhdistelmät ovat myös selvästi erotettavissa. Muussa tapauksessa osa tageista hautautuu näissä tilanteissa ja useimmiten on olennaista tietää merkittyjen elementtien kytkeytyvän myös niihin.
Monimutkaisuus
Tageihin perustuvien tyylien tapauksessa korostuu tyylitiedostojen muokkaamisen monimutkaisuus. Syynä tälle on, kuinka tageja käytetään yleensä useamman eri tyypin elementeille, joista jokainen voi vaatia omia sääntöjään kullekin tagille. Myös silkka tagien määrä vaikuttaa tältä osin, koska järjestelmä, missä eri tageille on määritetty omat tyylinsä, vaatii tyylejä kullekin tagille eri kategorioissa, tai kullekin kategorialle.
Tästä syystä voi olla syytä määrittää tageihin liittyville tyyleille oma tyylitiedostonsa. Kun ne on eristetty muista säännöistä, ne eivät suotta tee päätyylin muokkaamisesta vaikeampaa tekemällä oikeiden kohtien löytämisestä työläämpää.
Lisäksi kaikki käyttäjät eivät välttämättä ole kykeneviä tekemään muutoksia tyylitiedostoihin. Varsinkin tällaiset monimutkaisemmat toteutukset vaativat perustasoa korkeampaa CSS:n tuntemusta. Myös tästä syystä on tärkeää, että toteutus tältä osin on valmisteltu eri tilanteet ennakkoon huomioivalla tavalla. Tällöin vähenee myöhempien käyttäjien tarve tutustua kyseiseen toteutukseen ja tehdä siihen muutoksia.
Sääntöjen käytön rajoitukset
CSS antaa vain yhden arvon jäädä voimaan saman säännön osalta per elementti. Koska tageilla tapahtuva erottelu tapahtuu muiden tyyliä koskevien muutoksien lisäksi, täytyy sitä varten joko eristää joukko sääntöjä kaikilta elementeiltä, joihin tageja voidaan käyttää tällä tavoin, tai tageille täytyy antaa niiden osalta yliajavat säännöt.
Tämä on erityisen ongelmallista, kun kyse on vakioratkaisuihin liittyvistä säännöistä. Esimerkiksi ::before-pseudoelementtien käyttäminen on erinomainen tapa lisätä tagikohtaisia tunnisteita erilaisille elementeille. Jokaisella elementillä voi kuitenkin olla vain yksi ::before-pseudoelementti. Niitä käytetään normaalisti esimerkiksi huomioelementtien (note) otsikoille, jotka kertovat, onko kyse varoituksesta vai vaaramerkinnästä. Tästä syystä alla esitetyssä esimerkissä ::before-pseudoelementtejä käyttäviä tageja on käytetty huomioelementin sisällä oleviin tekstikappaleisiin (p). Kullakin elementillä voi olla vain yksi ::before-pseudoelementti, mutta tämä rajoitus ei ylety sisäkkäisiin elementteihin. Kullakin niistä voi edelleen olla omansa.
Esimerkkitoteutuksia
Alla on esitetty erinäisiä ajatuksia ja esimerkkejä koskien mahdollisia keinoja käyttää tageja osana tyylitiedostoja.
Viittaukset
Kun tageihin tehdään viittauksia, käytetään siihen samaa merkintämuotoa kuin muihin HTML-attribuutteihin. Lisätietoja eri vaihtoehdoista tältä osin löytyy täältä.
Tageihin valitsijoissa tehtävien viittauksien tarkka muoto on seuraavanlainen:
[data-doxattribute-categoryID="tagID"]
Kohta ’categoryID’ korvataan kyseisen tagikategorian nimenä toimivan tagin tunnisteella.
Kohta ’tagID’ korvataan kyseisen tagin tunnisteella.
Tyylien eriyttäminen
Yllä mainittiin mahdollisuus tehdä tageille oma tyylitiedostonsa. Tämä vaihtoehto mahdollistaa muutakin kuin vain tyylitiedostojen hallinnoinnin helpottamisen. Tyylien sisältöjä ei voi ehdollistaa, joten paras tapa saavuttaa vastaava tulos perustuu erillisiin tyyleihin, joiden käyttöön on valittu eri tageihin liittyviä tyylitiedostokokonaisuuksia.
Tällä tavoin on esimerkiksi mahdollista tehdä tyylejä toimituksille, joissa vain puuttuvat osuudet on merkitty tällä tavoin niiden pois suodattamisen sijaan. Tällä tavoin käyttäjille voi näyttää mahdollisiin päivityksiin liittyvät edut. Varsinkin sähköisten toimituksien tapauksessa päivityksen yhteydessä voi tällöin myös päivittää heidän oppaansa siten, että lisätyt osuudet eivät ole enää tällä tavoin merkittyjä.
Toisin sanoen esimerkiksi saman ohjelmiston eri toimitustasoille voi tehdä omat tyylinsä, jotka koostuvat samasta pohjatyylitiedostosta ja erillisistä joukoista tagikohtaisia tyylitiedostoja. Jokaiseen tällaiseen toimitukseen tulevat mukaan kaikki sisällöt ilman suodatusta. Sen sijaan perustason toimituksessa kaikki puuttuvat lisäosuudet on merkitty tagien perusteella siten, että ne kertovat, mitkä toimitustasot sisältävät ne. Korkeampien toimitustasojen tyylit sisältävät vähemmän näitä tageihin liittyviä tyylitiedostoja, kunnes korkein toimitustaso tavanomaisesti ei sisällä mitään niistä.
Puuttuvat kuvat

Kun kuvakehyksen (fig) merkitsee tagilla, joka kertoo sen kuvan puuttuvan, nämä säännöt näyttävät kyseessä olevan puuttuvan kuvan. Tällainen tilanne voi syntyä, kun kuva täytyy valmistella, mutta se ei ole saatavilla kirjoitushetkellä. Jos kyseinen kuva unohtuu sijoittaa asianmukaisesti, se paljastuu tällä tavoin katselmointivaiheessa. On paljon helpompaa huomata maininta puuttuvasta kuvasta kuin kuvan puuttuminen.
Tämä ratkaisu ei tarkkaan ottaen edes vaadi tageja. Tagit kuitenkin antavat tehdä sen hallinnoimisesta helpompaa, koska kyseessä on iso muutos näkymään. Jos käyttäjät lisäävät epähuomiossa kuvakehyksen (fig) sisään useamman tekstikappaleen (p) ja eivät käytä niistä ensimmäistä kuvalle, lisäisi tagiin sitomaton versio merkinnän puuttuvasta kuvasta.
Tarkkaan ottaen kohdistaja tarkistaa tällä tavoin merkityn kuvakehyksen (fig) ensimmäisen tekstikappaleen (p) ja onko se tyhjä. Jos kyseisessä tekstikappaleessa ei ole lainkaan sisältöä, näytetään kuvan puuttuvan. Tällöin siis täytyy jättää kyseinen ensimmäisen tekstikappale tyhjäksi myös silloin, kun kuvakehyksen sisällä on muuta sisältöä kuten taulukko tai lista.
.dita-fig[data-doxattribute-remainingwork="MissingImages"] p:first-of-type:empty {
display: block !important;
background-image: url("https://cdn-icons-png.flaticon.com/512/59/59836.png");
background-size: auto 100%;
background-repeat: no-repeat;
height: 50mm;
}
Huomioiden erottelu

Tämä esimerkki näyttää, kuinka saman huomioelementin (note) sisään on lisätty erilliset osuudet kosketusnäytöille ja näppäimistöille. Koska tähän käytetään ::before-pseudoelementtiä, on tagit kohdistettu tekstikappaleisiin (p) sen sisällä. Itse huomioelementti vaatii ::before-pseudoelementtiä otsikkoaan varten.
Samalla näytetään, kuinka sääntöjä voi kytkeä suoraan tagikategorihin. Tällä tavoin voi välttää turhaa samojen sääntöjen toistamista jokaiselle tagille. Kuten esimerkissä nähdään, kullekin niistä on tarvinnut määrittää vain poikkeavat osuudet eli tässä tapauksessa ::before-pseudoelementin sisältö.
.dita-note p[data-doxattribute-options] {padding-left: 10mm;}
.dita-note p[data-doxattribute-options="Touchscreen"]::before {content: "👇";}
.dita-note p[data-doxattribute-options="Keyboard"]::before {content: "⌨";}
.dita-note p[data-doxattribute-options]::before {
position: absolute;
left: 20mm;
}
Mallikohtaiset merkinnät

Tämä on esimerkki mallikohtaisista merkinnöistä, missä kyseinen malli ilmoitetaan siihen liittyvään sisältöön varatuilla värillisillä kehyksillä sekä mallin (W75) kertovalla pystysuuntaisella tekstillä. Näin ilmaistaan selvästi, missä kyseisen sisällön rajat kulkevat ja mihin malliin ne liittyvät. Ominaisväri myös helpottaa välitöntä tunnistusta, kun käyttäjä selaa opasta, koska hänen ei tarvitse käsitellä tekstiä oikeiden sijaintien paikantamiseksi.
Tämä merkintätapa on määritetty nimenomaan tekstikappaleille (p). Muunlaisille elementeille voisi olla syytä löytää erilliset toteutuksensa.
p[data-doxattribute-device="W75"] {
border: 1mm solid lime;
border-radius: 3mm;
min-height: 4em;
}
p[data-doxattribute-device="W75"]::before {
content: "W75";
color: lime;
font-weight: bold;
font-size: 1.1em;
float: left;
writing-mode: vertical-rl;
text-orientation: upright;
margin: 0 4.5mm;
}
Useampi tagi
Vastaava ratkaisu on mahdollista tehdä myös sisällöille, joilla on useampi tagi. Tällä tavoin voi näyttää kaikki mallit, joihin kyseinen sisältö liittyy (olematta yleisluontoista). Tämä on esimerkki siitä, kuinka eri yhdistelmien määrä lisää huomattavasti vaaditun työn määrää.
Koska jokaisen mallin nimeäminen pystysuunnassa vaatisi liikaa tilaa, on nimien sijaan käytetty niiden ominaisvärien mukaisia palloja. Nämä pallot ovat yksi kuvatiedosto. Lisäksi tässä tapauksessa molempien mallien ominaisvärit on saatu mukaan käyttämällä reunuksien lisäksi joka suuntaan meneviä tarkkarajaisia varjoja. Tämä ratkaisu kuitenkin toimii vain kahden mallin tapauksessa. Jos on mahdollista, että sama sisältö on merkitty kahta useammalla tällä tavoin käytetyllä tagilla, täytyy käyttää muita ratkaisuja kuten väriliukumaa käyttävää reunakuvaa.
p[data-doxattribute-device="W66 W75"] {
border: 1mm solid lime;
border-radius: 3mm;
box-shadow: 0 0 0 1mm magenta;
min-height: 3em;
}
p[data-doxattribute-device="W66 W75"]::before {
content: "W66 W75";
content: "\00a0";
height: 10mm;
width: auto;
background-image: url("/Content/Images/twodots.svg");
background-size: auto 100%;
background-repeat: no-repeat;
color: lime;
font-weight: bold;
font-size: 1.1em;
float: left;
writing-mode: vertical-rl;
text-orientation: upright;
margin: 1mm 4.5mm;
}
Yhteenveto
Tageihin liitettävillä tyyleillä saa luontaisesti erotettua toimituskohtaiset osuudet oppaissa ja muissa dokumenteissa. Tällä tavoin käyttäjille saa näytettyä myös muun sisällön, mikäli se halutaan pitää heidän saatavillaan esimerkiksi päivitysten motivoimiseksi. Lisäksi se antaa käyttäjien tunnistaa nämä osuudet ensisilmäyksellä. Tällä tavoin ne erottuvat muusta sisällöstä välittömästi myös pintapuolisen selauksen yhteydessä.
Lisäksi tageihin liitetyt tyylit edesauttavat sisällön katselmointia. Ne antavat katselmoijan saada kokonaiskuvan sisällöistä suodattamattomassa dokumentissa siten, että suodatettavat osuudet on eriytetty tyyliensa osalta. Jos tageja käytetään myös keskeneräisten osuuksien merkitsemiseen, voi myös niille määrittää tyylit niiden tunnistamiseksi katselmointivaiheessa. Tällä tavoin on helpompaa tunnistaa mahdolliset unohtuneet osiot tai osiot, joiden tiedetään muutenkin vaativan lisätyötä.
Tageja ei kuitenkaan ole tarkoitettu käytettävän yhdessä tyylitiedostojen kanssa. Tästä syystä tällaisiin toteutuksiin liittyy omat haasteensa. Suurin tällainen haaste on lisääntynyt ennakoinnin tarve. Asianmukainen toteutus vaatii, että ennalta tiedetään, mihin elementteihin tyyleihin kytkettyjä tageja käytetään, ja mitä niistä saa käyttää samoihin elementteihin. Koska tagien kategorioiden vaihtaminen vaihtaa niiden tyylitiedostoissa käytettyjä tunnisteita, on myös tärkeää varmistaa, että tälle ei synny tarvetta tulevaisuudessa. Muutoin kaikki kyseisiin tageihin liittyvät tyylit täytyy päivittää joka kerta, kun niiden kategoriat vaihtuvat.
Muut haasteet koskevat toteutuksien monimutkaisuutta sekä käytettävissä olevien sääntöjen rajallisuutta. Kutakin tagia käytetään usein useammanlaisille eri elementeille, joille voi olla tarpeen määrittää omat sääntönsä jokaisen tagin osalta. Koska tämä vaatii pitkää sääntölistaa, on järkevintä erottaa tagien tyylejä koskevat osuudet omaksi tyylitiedostokseen. Tämä tekee myös erilaisten tyylien kasaamisen niiden kanssa tai ilman niitä helpommaksi. Sääntöjen rajallisuus puolestaan liittyy siihen, kuinka samalle säännölle voi antaa vain yhden arvon per elementti. Täten tagien kanssa ei voi käyttää sääntöjä, joita vaaditaan merkittävien elementtien perusmuotoilun toteutukseen.