Настройка интерфейса Dreamweaver > Настройка интерпретации тегов сторонних разработчиков

 

Страницу подготовил Андрей Сумцов, www.web-tower.hotbox.ru

Настройка интерпретации тегов сторонних разработчиков

Технологии обработки информации на сервере, например, ASP, PHP, ColdFusion и JSP используют в файлах HTML специальный не-HTML код. Серверы создают и обслуживают содержимое HTML на основании этого кода. Когда Dreamweaver сталкивается с тегами, не относящимися к HTML, он сравнивает их с информацией в его собственных файлах сторонних тегов, которые определяют, как Dreamweaver читает и отображает подобные теги.

Например, файлы ASP (Active Server Pages, активные серверные страницы) содержат код, предназначенный для интерпретации сервером. Этот код выделен парой разделителей: он начинается с сочетания символов <% и заканчивается сочетанием символов %>. Папка Configuration\ThirdPartyTags в Dreamweaver содержит файл asp.xml, который описывает формат кода ASP и определяет, как Dreamweaver отображает этот код. Поскольку код ASP определяется в файле asp.xml, то Dreamweaver не пытается интерпретировать что-либо между разделителями начала и окончания. Вместо этого в визуальном режиме окна Document (Документ) просто появляется значок, указывающий на присутствие кода ASP.

Вы можете задать свои собственные теги и создавать файлы базы данных тега, чтобы определить, как Dreamweaver будет читать и показывать их. Создание файлов базы данных тега особенно полезно, если вы используете на сервере систему разметки иную, чем ASP, ColdFusion или PHP. Создайте новый файл базы данных тегов для каждой такой системы разметки, чтобы сообщить Dreamweaver, как показывать подобные теги. Не существует отдельного файла базы данных для тегов JSP. Код JSP применяет те же самые разделители, что и код ASP. Поэтому Dreamweaver использует файл базы данных тегов ASP для JSP.

Замечание
В этом разделе объясняется, как определить появление некоторого тега в Dreamweaver, но не как редактировать его содержимое или свойства. Информацию о том, как создать инспектор свойств, чтобы просматривать и изменять свойства подобного тега, см. в документации по Dreamweaver 4. Каждый файл базы данных тега определяет имя, тип, модель содержимого и изображение для одного или нескольких тегов. Вы можете создавать любое количество файлов базы данных тега, но, чтобы его мог читать и обрабатывать Dreamweaver, каждый из них должен находиться в папке Configuration\ThirdPartyTags. Файлы базы данных тега имеют расширение xml.

Если вы одновременно работаете на нескольких несвязанных между собой сайтах (например, как внештатный разработчик), поместите все спецификации тега для отдельного сайта в одном файле. Затем просто передайте этот файл базы данных тега со специальным значком и инспектором свойств тем людям, которые поддерживают сайт. Спецификацию тега вы определяете с помощью XML-тега <TAGSPEC>. Например, следующий код описывает спецификацию тега <HAPPY>:

<tagspec tag_name="happy" tag_type="nonempty" render_contents="false" 
content_model="marker_model" icon="happy.gif" icon_width="18" icon_height="18"></tagspec>

Имеются два различных вида определения тегов, использующих <TAGSPEC>: с помощью нормальных тегов стиля HTML и с помощью строчно-разделенных тегов, которые начинаются на одной строке, а заканчиваются на другой строке. Строчно-разделенные теги подобны пустым тегам HTML (например, <IMG>), которые не окружают никакое содержимое и не имеют закрывающих тегов. Тег <HAPPY>, показанный выше - нормальный тег стиля HTML, который начинается с открывающего тега <HAPPY>, окружает содержимое и заканчивается закрывающим тегом </HAPPY>. Тег <ASP>, который начинается с сочетания символов <% и заканчивается сочетанием символов %> - строчный тег.

Ниже представлен перечень атрибутов и возможных значений тега <TAGSPEC>. Атрибуты, отмеченные звездочкой (*) игнорируются строчным тегами.
 
<tagspec>

tag_name, tag_type, render_contents, content_model, start_string, end_string, detect_in_attribute, parse_attributes, icon, icon_width, icon_height

tag_name - имя специфического тега. Для строчных тегов, атрибут tag_name используется только для того, чтобы определить, может ли для этого тега использоваться инспектор Property (Свойства). Если первая строка инспектора Property (Свойства) содержит имя тега, обрамленное звездочками с каждой стороны, то инспектор может использоваться для тегов этого типа. Примером может служить атрибут TAG_NAME для кода ASP - ASP. Инспекторы свойств, поддерживающие код ASP, должны в первой строке содержать *ASP*.

tag_type - определяет, имеет ли тег содержимое (как тег <IMG>) или окружает содержимое (как тег <CODE>). Атрибут является необходимым для нормального тега и игнорируется для строчных тегов. Возможные значения атрибута: empty и nonempty.

render_contents - определяет, должно ли содержимое тега появляться в визуальном режиме окна Document (Документ), или вместо него отображается значок. Необходимый атрибут для непустых тегов. (Пустые теги не имеют никакого содержимого.) Возможные значения атрибута: true и false.

content_model - описывает, какое содержимое может иметь тег и куда он может быть вложен. Необходимый атрибут.

Значение block_model определяет, что тег может содержать элементы уровня блока, такие как <DIV> и <P>, а также появляться только в разделе <BODY> или внутри других тегов раздела <BODY> типа <DIV>, <LAYER> или <TD>.
Значение head_model определяет, что тег может иметь текстовое содержимое и находиться только в разделе <HEAD>.
Значение marker_model определяет, что тег может содержать любой допустимый код HTML и находиться в любом месте. (Поскольку добавление текста вне допустимого элемента <HEAD> создает недопустимый код HTML, вы должны использовать head_model вместо marker_model, если хотите разместить специфический тег, содержащий текст в разделе <HEAD>.)
Используйте значение marker_model для тегов, которые должны быть встроены внутрь элемента уровня блока типа <P> или <DIV> вместо разрыва строки.
Значение script_model позволяет вставлять тег в любом месте между открывающим и закрывающим HTML-тегами документа. Обрабатывая тег в этой модели, Dreamweaver игнорирует содержимое всего тега. Используется для разметки сторонних тегов (подобно некоторым тегам ColdFusion), которые Dreamweaver не обрабатывает.

start_string - определяет разделитель, который отмечает начало строчного тега. Строчные теги могут находиться в любом месте документа, где может быть комментарий. Dreamweaver не обрабатывает теги и URL, находящиеся между start_string и end_string. Необходимый атрибут, если end_string определен.

end_string - определяет разделитель, отмечающий конец строчного тега. Необходимый атрибут, если определен start_string.

detect_in_attribute указывает, игнорировать ли все содержимое, находящееся между start_string и end_string (или между открывающим и закрывающим тегами, если тег не определен, как строчный). Вообще необходимо присвоить этому атрибуту значение true для строчных тегов; по умолчанию атрибут имеет значение false. Например, теги ASP иногда появляются внутри значения атрибута и содержат кавычки ("); поскольку спецификация тега ASP задает значение detect_in_attribute как true, то Dreamweaver игнорирует теги ASP и в том числе кавычки, когда они появляются внутри значения атрибута.

parse_attributes - определяет, обрабатывать ли атрибуты данного тега. Если атрибут имеет значение true (по умолчанию), Dreamweaver обрабатывает все атрибуты; если установлено значение false, то Dreamweaver игнорирует все атрибуты до ближайшей угловой скобки, (закрывающая скобка не должна быть заключена в кавычки; в противном случае Dreamweaver не считает ее закрывающей). Например, этот атрибут должен иметь значение false для тега <CFIF> (поскольку Dreamweaver не знаком с тегом <CFIF> и не может его обработать).

icon - определяет путь и имя файла значка, связанного с тегом. Атрибут требуется для пустых тегов, а также для тех непустых тегов, содержимое которых не отображается в визуальном режиме окна Document (Документ).

icon_width - ширина значка в пикселах.

icon_height - высота значка в пикселах.

Пример:

<tagspec tag_name="happy" tag_type="nonempty" render_contents="false" 
content_model="marker_model" icon="happy.gif" icon_width="18" icon_height="18">
</tagspec>