Parte 1
Os principais modos que você pode criar sua própria linguagem de marcação:
1- Modificar uma linguagem preexistente como: HTML, SVG, XML entre outras.
2- Criar sua linguagem de marcação do zero e isso inclui: criar seu próprio analisador léxico, semântico e sintático.
3- Aplicar apenas mudanças consideráveis.
Observação: Veremos cada uma delas.
1- Modificar uma linguagem preexistente como: HTML, SVG, XML entre outras.
Nota e casos específicos:
Segundo W3C você pode:
a - Criar sua própria definição de tipo de documento.
b - Apenas criar um modelo de linguagem.
a- Como criar sua própria definião de tipo de documento?
Resposta: Defindo entidades, elementos, atributos e tags.
Exemplo prático:
<?xml version="1.0"?>
<!DOCTYPE mail [
<!ELEMENT mail (send,reap)>
<!ELEMENT send (#PCDATA)>
<!ELEMENT reap (#PCDATA)>
]>
// mail será definido como tipo de documento assim: <!DOCTYPE mail [ até os caracteres finais: ]>
<mail>
// send envia arquivo. Observação: send é uma palavra de origem inglesa e significa: - Enviar.
<send>Test</send>
// reap recebe arquivo. Observação: reap é uma palavra de origem inglesa e significa: - Colher, Receber.
<reap>test</reap>
// encerra -se a definição do tipo de documento.
</mail>
Agora abra o editor e salve o arquivo como xml. Depois, espere o navegador fazer o resto.
b - Como criar um modelo de linguagem?
Resposta: Criando apenas um modelo de linguagem.
Exemplo de código original HTML:
<html href="test.css"></html> // tag: html, atributo href
Modelo de linguagem:
Normalmente, mail é lido como se fosse a linguagem de marcação html. Observação: Navegadores e W3C não recomendam esse uso.
<mail href="test.css"></mail>
Agora abra o editor e salve o arquivo como .html
Informações Adicionais:
Segundo a W3C e "Navegadores" deve -se usar ou não:
a - Quando não:
1- Sites, plataformas ou sistemas públicos. Porque causa confusão, os aparelhos podem não se comunicar. Isto é, cada um fala de uma maneira e ninguém entende. Além disto, navegador pode e terá um enorme problema: renderizar um conteúdo que não é padrão.
b - Quando sim:
1- Sites, plataformas ou sistemas pessoais ou privados. Porque existe 4 necessidades:
a - Ambiente de teste e desenvolvimento de aplicações como banco de dados.
b - Problemas técnicos específicos.
c - Elaboração e manutenção apis, bibliotecas ou frameworks próprios.
d - Customizações, personalizações e até configurações essencias para um produto final.
Porque aprender isso?
1- Entender como as coisas funcionam e desenvolvem -se.
2- Fazer as coisas do seu jeito.
3- Criar sites, plataformas ou sistemas pessoais ou privados.
Referências:
w3schools, google, youtube, stackoverflow, github, fóruns, blogs.