Esiste una teoria ben fondata sulla compatibilità a ritroso e avanzato di formati, lingue, grammatiche e vocabolari?

6

Ho un amico che ha il problema specifico di costruire un caso contro l'uso di un HTML personalizzato < wrapper > tag in markup di alcuni siti. Ora, intuitivamente, possiamo rispondere che l'uso di tale tag è rischioso, poiché le future specifiche HTML potrebbero definire un tag wrapper con semantica che è in conflitto con il suo utilizzo sul sito. Possiamo anche fare appello a una particolare sezione della specifica HTML5 che raccomanda anche contro l'uso di tag personalizzati per questo motivo.

E mentre sono d'accordo con la conclusione, trovo questi argomenti un po 'deboli, da soli. C'è una teoria ben fondata e collaudata in informatica da cui possiamo trarre questa conclusione? I teorici del linguaggio di programmazione hanno creato prove sulle proprietà del controllo delle versioni del vocabolario o su qualcosa del genere?

    
posta Breton 12.12.2012 - 07:50
fonte

1 risposta

4

C'è un meccanismo in XML che consente il tipo di estensione che stai facendo ed evita il conflitto allocando tag in spazi dei nomi specifici. Per utilizzare questo, è necessario utilizzare la codifica della sintassi XHTML del vocabolario HTML5. (Vedi HTML rispetto a XHTML .)

Ciò che ti permette di fare è dichiarare uno spazio dei nomi (che sembra un URL) e un token (ad esempio "mx" per "la mia estensione"). È necessario in alto una dichiarazione dello spazio dei nomi che associ lo spazio dei nomi al token. (Vedi Dichiarare i namespace .)

 <html ...  xmlns:mx="http://mycompany/myextension" ... >

Quindi, invece di definire un tag <wrapper> , definisci un tag <mx:wrapper>

A causa del token e dei due punti, non puoi mai entrare in conflitto con un tag HTML ufficiale, perché questi tag si trovano in uno spazio dei nomi differente. (Vedi Namespaces of HTML5 .)

E i conflitti sul token? Ricorda che "mx" è solo un identificatore locale associato all'URL del namespace più lungo e globalmente unico. In un altro documento il token "yob" potrebbe essere associato allo spazio dei nomi e il tag sarebbe <yob:wrapper> nel corpo del documento.

Non so se questa è la risposta che volevi, ma il meccanismo dello spazio dei nomi è un modo ben collaudato (se ingombrante) per mescolare insieme di tag di diversi enti standard che necessariamente lavorano in modo indipendente, ma devono mescolare i loro risultati insieme in un unico documento.

Richiede che tu usi XHTML, invece della sintassi HTML, che funziona effettivamente nella maggior parte dei browser con cui ho esperienza, infatti io generi esclusivamente la sintassi XHTML e non ho avuto problemi, ma dovrai investigare se quello è adatto nel tuo ambiente

    
risposta data 08.01.2013 - 02:37
fonte