Guia do Usuário Cancelar

Adicionar entidades de caracteres para XSLT no Dreamweaver

 

 

Leia este artigo para ver como especificar entidades de caractere ausentes a fim de substituir caracteres especiais para XSLT no Dreamweaver.

Observação:

a interface de usuário foi simplificada no Dreamweaver CC e posterior. Como resultado, você talvez não consiga localizar algumas das opções descritas neste artigo no Dreamweaver CC e posterior. Para obter mais informações, consulte este artigo (em inglês).

Especificar uma entidade de caractere ausente

Em XSLT, alguns caracteres não são permitidos em determinados contextos. Por exemplo, você não pode usar o sinal de menor que (<) e o E comercial (&) no texto entre tags ou em um valor de atributo. O mecanismo de transformação XSLT gerará um erro se esses caracteres forem usados de modo incorreto. Para solucionar o problema, você pode especificar entidades de caractere para substituir os caracteres especiais.

Uma entidade de caractere é uma sequência de caracteres que representa outros caracteres. As entidades de caractere são nomeadas ou numeradas. Uma entidade nomeada começa com um E comercial (&) seguido pelo nome ou por caracteres, e termina com ponto-e-vírgula (;). Por exemplo, &lt; representa o sinal menor que (<). As entidades numeradas também começam e terminam da mesma maneira, exceto pela presença de uma cerquilha (#) e de um número que especifica o caractere.

O XSLT tem as cinco entidades predefinidas a seguir:

Caractere

Código da entidade

< (menor que)

&lt;

& (E comercial)

&amp;

> (maior que)

&gt;

" (aspas)

&quot;

‘ (apóstrofe)

&apos;

Se você usar outras entidades de caractere em um arquivo XSL, precisará defini-las na seção DTD do arquivo XSL. O Dreamweaver fornece várias definições de entidade padrão que podem ser observadas na parte superior de um arquivo XSL criado no próprio aplicativo. Essas entidades padrão abrangem uma ampla seleção dos caracteres usados com mais frequência.

Ao visualizar o arquivo XSL em um navegador, o Dreamweaver verifica o arquivo XSL para observar se há entidades não definidas e notifica caso alguma seja encontrada.

Se você visualizar um arquivo XML anexado a um arquivo XSLT ou visualizar uma página do servidor com uma transformação XSLT, o servidor ou o navegador (em vez do Dreamweaver) enviará uma notificação sobre uma entidade não definida. O exemplo a seguir mostra uma mensagem que pode ser exibida no Internet Explorer quando você solicita um arquivo XML transformado por um arquivo XSL com uma definição de entidade ausente:Reference to undefined entity 'auml'. Error processing resource 'http://localhost/testthis/list.xsl'. Line 28, Position 20 <p class=''test''>&auml;</p> -------------------^

Para corrigir o erro da página, adicione a definição de entidade manualmente à página.

Reference to undefined entity 'auml'. Error processing resource 'http://localhost/testthis/list.xsl'. Line 28, Position 20
<p class=''test''>&auml;</p>
-------------------^
Reference to undefined entity 'auml'. Error processing resource 'http://localhost/testthis/list.xsl'. Line 28, Position 20 <p class=''test''>&auml;</p> -------------------^
Reference to undefined entity 'auml'. Error processing resource 'http://localhost/testthis/list.xsl'. Line 28, Position 20 
<p class=''test''>&auml;</p> 
-------------------^

Especificar uma definição de entidade ausente

  1. Procure o caractere ausente na página de referência de entidades de caractere no site da W3C em www.w3.org/TR/REC-html40/sgml/entities.html.

    Essa página da Web contém as 252 entidades permitidas no HTML 4 e no XHTML 1.0.

    Por exemplo, se a entidade de caractere Egrave estiver ausente, procure “Egrave” no site da W3C. A seguinte entrada estará disponível:

    <!ENTITY Egrave CDATA "&#200;" -- latin capital letter E with grave, U+00C8 ISOlat1 -->
    <!ENTITY Egrave CDATA "&#200;" -- latin capital letter E with grave, U+00C8 ISOlat1 -->
    <!ENTITY Egrave CDATA "&#200;" -- latin capital letter E with grave, U+00C8 ISOlat1 -->
  2. Anote o nome e o código da entidade na entrada.

    No exemplo, Egrave é o nome da entidade e &#200 é o código da entidade.

  3. Com essas informações, passe para a Visualização de código e insira a seguinte tag de entidade na parte superior do arquivo XSL (depois da declaração TipoDoc e com as outras tags de entidade):
    <!ENTITY entityname "entitycode;">
    <!ENTITY entityname "entitycode;">
    <!ENTITY entityname "entitycode;">

    No exemplo, você inseriria a seguinte tag de entidade:<!ENTITY Egrave "&#200;">

    <!ENTITY Egrave "&#200;">
    <!ENTITY Egrave "&#200;">
    <!ENTITY Egrave "&#200;">
  4. Salve o arquivo.

    Se você usar várias vezes as mesmas entidades de caractere, poderá adicionar permanentemente suas definições aos arquivos XSL criados pelo Dreamweaver por padrão quando o comando Arquivo > Novo é usado.

Adicionar definições de entidade aos arquivos XSL criados pelo Dreamweaver por padrão

  1. Localize o seguinte arquivo de configuração na pasta do aplicativo Dreamweaver e abra-o em qualquer editor de texto:

    Configuration/DocumentTypes/MMDocumentTypeDeclarations.xml

  2. Localize a declaração mm_xslt_1:
    <documenttypedeclaration id="mm_xslt_1">
    <documenttypedeclaration id="mm_xslt_1">
    <documenttypedeclaration id="mm_xslt_1">
  3. Insira as novas tags de entidade na lista de tags de entidade da seguinte maneira:
    <!ENTITY entityname "entitycode;">
    <!ENTITY entityname "entitycode;">
    <!ENTITY entityname "entitycode;">
  4. Salve o arquivo e reinicie o Dreamweaver.

Receba ajuda com mais rapidez e facilidade

Novo usuário?