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