Руководство пользователя Отмена

Добавление символьных сущностей для XSLT в Dreamweaver

 

 

Ознакомьтесь с этой статьей, чтобы узнать, как указать отсутствующие символьные сущности для замены специальных символов для XSLT в Dreamweaver.

Примечание.

Пользовательский интерфейс в Dreamweaver СС и более поздних версиях стал проще. В результате этого некоторые функции, описанные в этой статье, могут отсутствовать в Dreamweaver CC и более поздних версиях. Дополнительные сведения см. в этой статье.

Указание отсутствующей символьной сущности

В XSLT в определенных контекстах запрещено использование некоторых символов. Например, нельзя использовать знак «Меньше» (<) и амперсанд (&) в тексте между тегами или в качестве значения атрибута. Если такие символы используются не по правилам, алгоритм XSLT-преобразования сообщает об ошибке. Для устранения этой проблемы можно указать символьные сущности, заменяющие определенные символы.

Символьная сущность представляет собой строку символов, представляющую другие символы. Символьные сущности либо именуются, либо нумеруются. Именованные сущности начинаются с амперсанда (&), за которым следует имя или символы, и заканчиваются точкой с запятой (;). Например, сущность &lt; представляет символ левой угловой скобки (<). Нумерованные сущности начинаются и заканчиваются так же, за исключением знака «Решетка» (#) и номера, которые указывают сам символ.

В XSLT есть 5 стандартных сущностей.

Символ

Код сущности

< (меньше)

&lt;

& (амперсанд)

&amp;

> (больше)

&gt;

" (кавычка)

&quot;

‘ (апостроф)

&apos;

Если в XSL-файле используются другие символьные сущности, их необходимо определить в разделе DTD XSL-файла. В Dreamweaver предусмотрено несколько определений сущностей по умолчанию, которые отображаются в верхней части XSL-файла, созданного в Dreamweaver. Эти сущности по умолчанию охватывают широкий набор наиболее распространенных символов.

При просмотре XSL-файла в браузере Dreamweaver проверяет XSL-файл на наличие неопределенных сущностей и сообщает о том, что такая сущность найдена.

При предварительном просмотре XML-файла, присоединенного к XSLT-файлу, или предварительном просмотре страницы на сервере с XSLT-преобразованием об этом сообщает сервер или браузер (вместо Dreamweaver). Ниже приведен пример сообщения, которое может быть получено в Internet Explorer при запросе XML-файла, преобразованного XSL-файлом с отсутствующим определением сущности. Ссылка на неопределенную сущность 'auml'. Ошибка ресурса обработки 'http://localhost/testthis/list.xsl'. Строка 28, положение 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> -------------------^
Reference to undefined entity 'auml'. Error processing resource 'http://localhost/testthis/list.xsl'. Line 28, Position 20 
<p class=''test''>&auml;</p> 
-------------------^

Указание отсутствующего определения сущности

  1. Отсутствующий символ можно найти на странице ссылок символьных сущностей на сайте WC по адресу: www.w3.org/TR/REC-html40/sgml/entities.html.

    На этой веб-странице приведены 252 сущности, разрешенные в HTML 4 и XHTML 1.0.

    Например, если отсутствует символьная сущность Egrave, выполните на веб-странице W3C поиск по слову «Egrave». Будет найдена следующая запись.

    <!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. Запишите имя сущности и ее код.

    В данном примере Egrave — это имя сущности, а &#200 — это ее код.

  3. Получив эту информацию, перейдите в представление кода и введите в верхней части XSL-файла следующий тег сущности (после декларации Doctype вместе с другими тегами сущностей):
    <!ENTITY entityname "entitycode;">
    <!ENTITY entityname "entitycode;">
    <!ENTITY entityname "entitycode;">

    В этом примере будет введен следующий тег сущности:<!ENTITY Egrave "&#200;">

    <!ENTITY Egrave "&#200;">
    <!ENTITY Egrave "&#200;">
    <!ENTITY Egrave "&#200;">
  4. Сохраните файл.

    Если постоянно использовать одни и те же символьные сущности, может понадобиться постоянно добавлять их определения в XSL-файлы, которые Dreamweaver создает по умолчанию при выборе команды «Файл» > «Создать».

Добавление определений сущностей в XSL-файлы, создаваемые приложением Dreamweaver по умолчанию

  1. Найдите следующий файл конфигурации в папке приложений Dreamweaver и откройте его в текстовом редакторе:

    Configuration/DocumentTypes/MMDocumentTypeDeclarations.xml

  2. Найдите объявление mm_xslt_1:
    <documenttypedeclaration id="mm_xslt_1">
    <documenttypedeclaration id="mm_xslt_1">
    <documenttypedeclaration id="mm_xslt_1">
  3. Введите новый тег одной или нескольких сущностей в список тегов сущностей, как показано ниже.
    <!ENTITY entityname "entitycode;">
    <!ENTITY entityname "entitycode;">
    <!ENTITY entityname "entitycode;">
  4. Сохраните файл и перезапустите Dreamweaver.

Получайте помощь быстрее и проще

Новый пользователь?