Seção 3: Autores

Q 3.15: Como o XML vai afetar os meus links de documentos?

Links XML são muito mais poderosos, mas ainda não implementados em navegadores

As habilidades de ligação dos sistemas XML são potencialmente muito mais poderosas do que as de HTML, então você poderá fazer muito mais com elas. Os links de estilo href -existentes continuarão a ser utilizados, mas a nova tecnologia de ligação baseia-se nas lições aprendidas no desenvolvimento de outros padrões envolvendo hipertexto, como TEI e HyTime , que permitem administrar links bidirecionais e multi-caminho, bem como links Para todo um elemento ou extensão de texto (dentro de seus próprios ou outros documentos) em vez de um único ponto. Esses recursos estão disponíveis para usuários do SGML há muitos anos, portanto, há uma experiência e experiência consideráveis ​​disponíveis para usá-los. Atualmente, apenas o Mozilla Firefox implementa o XLink.

Os documentos XML Linking Specifications (XLink) e XML Extended Pointer Specification (XPointer) contêm os detalhes. Um XLink pode ser um URI ou um ponteiro estendido estilo TEI ( XPointer ), ou ambos. Um URI por conta própria é assumido como um recurso; Se um XPointer o segue, é suposto ser um sub-recurso desse URI; É assumido que um XPointer por conta própria aplica-se ao documento atual (tudo exatamente como com o HTML).

Um XLink pode usar um de # , ? , ou | . O # e ? Significa o mesmo que em aplicações HTML; O | Significa que o sub-recurso pode ser encontrado aplicando o link ao recurso, mas o método de fazer isso é deixado para o aplicativo. Um XPointer só pode seguir um # .

O TEI Extended Pointer Notation (EPN) é muito mais poderoso do que o endereço do fragmento no final de alguns URIs, pois permite especificar a localização de um link usando a estrutura do documento, bem como (ou além de) Pontos conhecidos, fixos, como IDs. Por exemplo, a segunda ocorrência em link da palavra 'XPointer' dois parágrafos atrás pode ser referida com o URI (mostrado aqui com linhas e espaços para maior clareza: na prática, é claro que será uma corda longa):

    http://xml.silmaril.ie/faq.xml#ID(hypertext)
    .child(1,#element,'answer')
    .child(2,#element,'para')
    .child(1,#element,'link')
    

Isso significa o primeiro elemento do link dentro do segundo parágrafo dentro da resposta no elemento cuja ID é "hipertexto" (esta questão). Contar os objetos desde o início desta questão (que tem o ID "hipertexto" ) na fonte XML :

  1. O primeiro objeto secundário é o elemento que contém a pergunta ( quandaentry );

  2. O segundo objeto secundário é a resposta o elemento de resposta)

  3. Dentro deste elemento, vá para o segundo parágrafo;

  4. Encontre o primeiro elemento do link

Eve Maler explicou a relação de XLink e XPointer da seguinte maneira:

XLink governa como você inseriu links em seu documento XML, onde o link pode apontar para qualquer coisa (por exemplo, um arquivo GIF); O XPointer governa o identificador de fragmento que pode ir em um URL quando você está vinculando um documento XML, de qualquer lugar (por exemplo, de um arquivo HTML).

[Ou, de fato, de um arquivo XML, um URI em uma mensagem de correio, etc…Ed.]

David Megginson produziu uma função xpointer para Emacs / psgml que irá deduzir um XPointer para qualquer local em um documento XML. XML Spy tem uma função semelhante.