O Mozilla tem amplo suporte ao XML. Várias Recomendações World Wide Web Consortium (W3C) e esboços de especificações da família XML são suportados, assim como outras tecnologias relacionadas.
Esta página está desatualizada. Por favor ajude atualizando-a com informações atuais.
Recomendações suportadas pelo núcleo XML W3C
O núcleo do suporte XML inclui analizar o XML sem a validação (nós utilizamos o Expat parser), indicando o XML com CSS, manipulando documentos XML com scripts via DOM, associando estilos com documentos XML, e namespaces em XML. O núcleo de suporte é muito bom para poucos bugs.
DTDs e outras Entidades Externas
O Mozilla não carrega entidades externas da web.
Ele pode carregar as entidades externas cujo o identificador do sistema usa o protocolo chrome
. Esta característica é principalmente usada para localizar diferentes idiomas (as strings da interface de usuário são armazenadas em arquivos DTD externos). Uma outra exceção é uma entidade cujo o identificador do sistema seja um path relativo, e a declaração do XML indica que o documento não é autônomo(padrão), em cada caso, o Mozilla tentará procurar a entidade sob o diretório <tt><bin>/res/dtd</tt>.
O Mozilla pode também gerar uma exceção com documentos XHTML, veja abaixo.
Ele tentará ler um subconjunto DTD interno, ou externo como explicado acima, e tentará usar essa informação para reconhecer o ID do tipo do atributo, valores dos atributos padrão e entidades gerais.
Outras Notas
Muito do Document Object Model (DOM, W3C) aplica-se para XML. Do mesmo modo, a folhas de estilos (CSS) (CSS, W3C) podem ser usado para documentos XML.
O código para a maioria do núcleo XML pode ser encontrado nos seguintes diretórios no servidor Mozilla CVS: content/xml/, parser/expat/ e parser/htmlparser.
O grupo de notícias para discução de XML no Mozilla depende um pouco, da natureza da pergunta. Por exemplo, questões relacionadas a DOM pode ser discutida provavelmente em mozilla.dev.tech.dom newsgroup, enquanto os estilo devem ser discutidos em mozilla.dev.tech.css e assim por diante. Para ter todas os grupos de notícias em XML é mozilla.dev.tech.xml.
Especificações ou tecnologia | Status e/ou informãções adicionais |
XML | W3C Recommendation |
Namespaces em XML | W3C Recommendation |
Associando Estilos Com Documentos XML | W3C Recommendation |
Estilizando documentos XML com CSS | |
Manipulação de Documentos XML com scripts atrávez de DOM |
Otras Recomendações Suportadadas pela W3C para XML
Especificações ou Tecnologia | Documentação |
XHTML | W3C |
XML Base (somente links, não use para :visited etc. propriedades CSS)
| W3C |
XLink (somentes simples XLinks) | W3C |
FIXptr | W3C "proposal" |
XPointer Framework | W3C |
XPointer element()
| W3C |
XPointer xmlns()
| W3C |
XPointer fixptr()
| Somente um envoltório FIXptr |
XPointer xpath1()
| Internet-Draft |
document.load() , document.async
| Part do DOM Level 3 Load & Save módulo, um esboço W3C |
XHTML
Nós temos um suporte XHTML razoável, muitas coisas devem ser trabalhadas. Tratamos os arquivos XHTML diferentemente, dependendo do mime type (ou o sufixo do arquivo, caso ele tenha sido carregado localmente). Arquivos que são do caminho do código HTML não são checados para ver se estão bem formatados. Você verá também que nem todas as características do XHTML são suportadas quando você exercita o caminho do código HTML.
MIME Type | Extensão do Arquivo | Caminho do Código |
text/xml application/xml application/xhtml+xml | xml xht xhtml | XML |
text/html | html htm | HTML |
O documento inteiro não precisa ser um XHTML. Você pode usar elementos XHTML dentro de um documento XML arbitrário por usar namespace XHTML. Veja a sessão Testing and QA por exemplo. O namespace XHTML correto é https://www.w3.org/1999/xhtml
Note que as entidades XHTML, como ä
, Trabalham somente em conformidade com documentos XHTML que tenham um Formal Public Identifier (ou em outras palavras, uma sessão DOCTYPE com um identificador PUBLIC). Entidades XHTML não trabalham com documentos XML arbitrátios, mesmo se o namespace XHTML está sendo usado. Os identificadores públicos que são reconhecidos são:
-//W3C//DTD XHTML 1.0 Transitional//EN -//W3C//DTD XHTML 1.1//EN -//W3C//DTD XHTML 1.0 Strict//EN -//W3C//DTD XHTML 1.0 Frameset//EN -//W3C//DTD XHTML Basic 1.0//EN -//W3C//DTD XHTML 1.1 plus MathML 2.0//EN -//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN -//W3C//DTD SVG 20001102//EN -//WAPFORUM//DTD XHTML Mobile 1.0//EN
XML Linking e Pointing
O suporte a XML Linking inclui XML Base (usado somente quando você move o cursor sobre um link ou clica em um link) e simples XLinks. Você pode colocar qualquer elemento XML em um XLink usando o XLink namespace https://www.w3.org/1999/xlink
. Você pode também usar os elementos de linking do XHTML namespace. Veja a sessão Testing and QA para amostras.
Para pointing em recursos nos documentos XML, Mozilla também suporta FIXptr, uma versão simplificada e não-compatível do XPointer. Em adição ao uso do FIXptr em links, é possível usá-lo a partir de scripts. Veja a interface proprietária dom/public/idl/core/nsIDOMXMLDocument.idl
. Há um caso de exemplo para FIXptr links e um exemplo de scripting.
Desde 1.4 alpha, Mozilla também suporta XPointer Framework, esquema XPointer element()
, esquema XPointer xmlns()
, esquema XPointer fixptr()
e esquema XPointer xpath1()
. O processador XPointer é extensível e é fácil de implementar suporte para outros esquemas - dê uma olhada em API. O esquema xpath1()
foi implementado usando este mecanismo extensível. Há também uma API proprietária de <i>scripts</i> para o processador XPointer. Há um caso de exemplo para XPointers que você também pode estudar.
Por último, há uma preferência que você talvez queira testar (especialmente útil com FIXptr) que selecionará a área de alvo do link quando você atravessá-la. Não ná interface de usuário para configurar esta preferência ainda, então você precisará editar o arquivo de preferências manualmente. Adicione esta linha:
pref("layout.selectanchor", true);
Métodos de carregamento e salvamento do DOM
document.load()
é uma parte de uma antiga versão do DOM Level 3 Load & Save module do W3C. O Mozilla atualmente implementa somente o método load()
e a propriedade async
. Desde 1.4 alpha é possível carregar documentos sincronicamente, antes só era possível de maneira assíncrona. Veja a amostra de carregamento no diretório de textes XML. (Carregando o arquivo load.html da página LXR gerada não trabalhará, pois o LXR converterá o arquivo test.xml em HTML e servirá como HTML. Para testar esta funcionalidade, crie os arquivos no seu disco local ou em um servidor web.)
Recomendações XML externas ao suporte W3C
Roadmap
As próximas grandes tarefas incluem o suporte para o esquema XPointer xpointer()
(bug 32832), XInclude (bug 201754), XML Catalogs (bug 98413), XForms (bug 97806; o trabalho está sendo feito na implementação desde como extensão), análise de validação (bug 196355),Esquemas XML, e incremento da disposição do documento XML (bug 18333).
Para a completa implementação do XLink, nós precisamos de um gerenciador de links. Veja alguns documentos de design iniciais.
Testes e Garantia de Qualidade
Nós temos muitos casos de teste linkados à página de garantia de qualidade dae conformidade de padrões de navegador.
A maioria dos principais documentos de teste XML no servidor CVS estão localizados em content/xml/tests
. Nós temos também um par online: os livros demonstrações e a tabela de conteúdos de demonstração de IRS. Ambos demonstram XML, Associação de folhas de estilo ao XML, exibição de XML com CSS, Namespaces em XML, XLinks simples e manipulação do XML com scripts via DOM.
Há um componente XML em Bugzilla.
Nós também temos a palavra-chave "xhtml" para erros XHTML (estes tendem a ser dispersados através de componentes).
Como eu posso ajudar?
Se você pode programar, procure a palavra-chave helpwanted em erros XML. Nós não usamos isto sempre, então se você deseja evitar fazer trabalho duplicado você pode começar trabalhando em erros que tem futuros milestones, ou outro milestone que esteja definido bem para o futuro.
Você pode sempre testar nosso suporte XML. Nós realmente gostaríamos de pegar testes que podem rodar automaticamente (isto pode requerer conhecimento em desenvolvimento web; document.load()
e/ou Extras XML poderão ser necessários), mas provavelmente a maioria dos erros que tenhamos acabado de encontrar são por pessoas normais tentando fazer alguma coisa que funcione em alguns navegadores e não funciona no Mozilla.
Categorias
Interwiki Language Links