Lea este artículo para ver cómo especificar las entidades de caracteres no presentes para sustituir caracteres especiales para XSLT en Dreamweaver.

Nota:

la interfaz de usuario se ha simplificado en Dreamweaver CC y versiones posteriores. Como resultado, es posible que no encuentre algunas de las opciones que se describen en este artículo en Dreamweaver CC y versiones posteriores. Para obtener más información, consulte este artículo.

Especificación de una entidad de caracteres no presente

En XSLT, algunos caracteres no están permitidos en determinados contextos. Por ejemplo, no es posible utilizar el signo menor que (<) y el carácter ampersand (&) en el texto entre etiquetas o en un valor de atributo. El motor de transformación XSLT generará un error si se utilizan estos caracteres de forma incorrecta. Para solucionar el problema, puede especificar entidades de caracteres para reemplazar los caracteres especiales.

Una entidad de caracteres es una cadena de caracteres que representa a otros caracteres. Las entidades de caracteres están identificadas por un nombre o por un número. Una entidad con nombre comienza con un carácter ampersand (&) seguido del nombre o los caracteres, y termina con un punto y coma (;). Por ejemplo, &lt; representa el carácter de paréntesis angular de apertura (<). Las entidades con números también comienzan y terminan del mismo modo, con la excepción de un símbolo de almohadilla (#) y un número que especifican el carácter.

XSLT tiene las siguientes 5 entidades predefinidas:

Carácter

Código de entidad

< (menor que)

&lt;

& (ampersand)

&amp;

> (mayor que)

&gt;

" (comillas)

&quot;

‘ (apóstrofo)

&apos;

Si utiliza otras entidades de caracteres en un archivo XSL, deberá definirlas en la sección DTD del archivo XSL. Dreamweaver proporciona varias definiciones de entidades predeterminadas visibles en la parte superior de un archivo XSL creado con Dreamweaver. Estas entidades predeterminadas cubren una amplia selección de los caracteres utilizados con mayor frecuencia.

Al obtener una vista previa del archivo XSL en un navegador, Dreamweaver comprueba si hay entidades no definidas en el archivo XSL y, si las encuentra, se lo notifica.

Si se obtiene una vista previa de un archivo XML adjunto a un archivo XSLT, o si se obtiene una vista previa de una página en el lado del servidor con una transformación XSLT, el servidor o el navegador (y no Dreamweaver) será el que notifique de las posibles entidades no definidas. A continuación se muestra un ejemplo del mensaje que se obtiene en Internet Explorer al solicitar un archivo XML transformado por un archivo XSL con una definición de entidad no presente:Referencia a la entidad sin definir 'auml'. Error al procesar el recurso 'http://localhost/testthis/list.xsl'. Línea 28, posición 20 <p class=''test''>&auml;</p> -------------------^

Para corregir el error en la página, debe añadir la definición de la entidad manualmente.

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

Especificación de una definición de entidad no presente

  1. Busque el carácter no presente en la página de referencia de entidades de caracteres en el sitio web de W3C en www.w3.org/TR/REC-html40/sgml/entities.html.

    Esta página Web contiene las 252 entidades permitidas en HTML 4 y XHTML 1.0.

    Por ejemplo, si la entidad de caracteres Egrave no está presente, busque “Egrave” en la página Web del W3C. Encontrará la siguiente entrada:

    <!ENTITY Egrave CDATA "&#200;" -- latin capital letter E with grave, U+00C8 ISOlat1 -->
  2. Anote el nombre y el código de la entidad de la entrada.

    En este ejemplo, Egrave es el nombre de la entidad y &#200 representa el código.

  3. Con esta información, cambie a la vista de Código e introduzca la siguiente etiqueta de entidad en la parte superior del archivo XSL (después de la declaración Doctype y con el resto de etiquetas de entidades):
    <!ENTITY entityname "entitycode;">

    Para el ejemplo, debería introducir la siguiente etiqueta de entidad:<!ENTITY Egrave "&#200;">

    <!ENTITY Egrave "&#200;">
  4. Guarde el archivo.

    Si utiliza muchas veces las mismas entidades de caracteres, tal vez quiera añadir sus definiciones de forma permanente a los archivos XSL que Dreamweaver crea de forma predeterminada mediante el comando Archivo > Nuevo.

Adición de definiciones de entidades a los archivos XSL que Dreamweaver crea de forma predeterminada

  1. Localice el siguiente archivo de configuración en la carpeta de aplicaciones de Dreamweaver y ábralo en cualquier editor de texto:

    Configuration/DocumentTypes/MMDocumentTypeDeclarations.xml

  2. Localice la declaración denominada mm_xslt_1:
    <documenttypedeclaration id="mm_xslt_1">
  3. Introduzca la nueva etiqueta (o etiquetas) en la lista de etiquetas de entidades, tal como se indica a continuación:
    <!ENTITY entityname "entitycode;">
  4. Guarde el archivo y reinicie Dreamweaver.

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea