I selettori di classe e ID in XML

Venerdì 17 Luglio 2009 - 10:47

di Gabriele Romanato

CSSXML/RSS

Chi prova per la prima volta ad assegnare degli stili ad un documento XML spesso rimane frustrato dal fatto che i selettori di classe e ID sembrano non funzionare in nessun browser. La realtà è che dato che XML non possiede alcuna DTD predefinita, gli attributi class e id non possiedono alcun significato speciale per un browser. Anche se si specifica una DTD per il documento in questione usando un elemento ATTLIST per ciascun elemento del documento la situazione non sembra cambiare.

Questo si verifica per il fatto che i browser non usano un parser validante, e quindi verificano solo la “well-formedness” di un documento XML, ma non la sua validità. La soluzione consiste nell’usare i selettori di attributo invece che quelli di classe e ID. Quindi invece che #b1 scriverememo book[id="b1"], oppure price[class="special"] invece che .special.

Si tenga presente, comunque, che i selettori di attributo hanno una specificità inferiore rispetto a quelli di classe e ID. Quindi per ottenere l’effetto desiderato nella cascata dovremo in alcuni casi rinforzare le nostre dichiarazioni con la direttiva !important:

book[id="b1"] {
  color: green !important;
}

Tags:

Categoria: CSS, XML/RSS | Permalink

Non ci sono ancora commenti a questo post

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento