Flex Config. Описание синтаксиса конфигурационного файла

от автора

Вольный перевод документа из Adobe Live Docs — Configuration file syntax

В данном документе описывается синтаксис конфигурационного файла (flex-config.xml)

В конфигурационном файле значения хранятся в виде XML блоков, которые следуют определенному синтаксису. В основном теги повторяют параметры командной строки.

Корневой тег

По умолчанию корневой тег конф. файла flex-config.xml это <flex-config>. Если вы создает свой конфигурационный файл он также должен иметь корневой тег.

Все конфигурационные файлы должны иметь объявляющий XML тег <flex-config> и закрывающий тег </flex-config>, как показано в следующем примере:

<?xml version="1.0"?> <flex-config xmlns="http://www.adobe.com/2006/flex-config"> </flex-config> 

Вы обязательно должны закрывать тег <flex-config> так же как и любой другой xml тег.

Второй тег в конф. файле это тег . Этот тег служит оберткой для опций компилятора. Однако не все опции компилятора можно указать в данном блоке конфигурационного файла.

Теги которые вы должны использовать в блоке compiler, имеют префикс compiler (на пример, compiler.services). Если не используется точечная нотация (например, include-file) то такие теги указываются в корневом теге конф. файла. И записываются следующим образом:

<compiler> ... </compiler> <include-file>     <name>logo.gif</name>     <path>c:/images/logo/logo1.gif</path> </include-file> 

В некоторых случаях, параметры имеют множество вложенных тегов, такие как параметры fonts, compiler.fonts.managers и compiler.fonts.languages.language. Другие параметры, которые так же требуют наличие родительских тегов при добавлении в файл конфигурации, это параметр frames.frame и параметры metadata.

Далее будут описаны методы определения синтаксиса.

Получение списка тегов для конфигурационного файла

Используйте параметр help командной строки компилятора, чтобы узнать ситнаксис параметров компилятора для конф. файла; Например:

mxmlc -help list advanced

image

Ниже приводится запись для параметра source-path:

-compiler.source-path [path-element][...]

Это означает что в конфигурационном файле, вы можете использовать один и более элементов <path-element> как дочерние теги <source-path> и что <source-path> является дочерним тегом Далее показан пример как это должно выглядеть в файле конфигурации:

<compiler>     <source-path>         <path-element>.</path-element>         <path-element>c:/myclasses/</path-element>     </source-path> </compiler> 

Определение конечных узлов

Команда help использует точечную нотацию для отделения дочерних тегов от родительских, самая крайняя правая запись соответсвует конечному узлу. Например: -tag1.tag2 значит что дочерний тег .

Угловые скобки (< >) или квадратные скобки ([ ]), вокруг параметра указывают на то, является ли параметр конечным узлом или нет.

Квадратные скобки указывают, что может быть список из одного и более значений для данного параметра.
Если же уникальный конечный узел тега заключен в угловые скобки, то в конф. файле не нужно указывать родительские теги.

Например, если help выводит следующее:

compiler.fonts.managers [manager-class][...]

Тогда, вы можете указать в конфигурационном файле, значение для параметра, как показано ниже:

 <compiler>      <fonts>          <managers>             <manager-class>flash.fonts.JREFontManager</manager-class>         </managers>     </fonts> </compiler>  

Однако узел <manager-class> уникальный, так что вы можете установить его значение без определения родительских тегов и , как это показано в следующем примере:

<compiler>     <manager-class>flash.fonts.JREFontManager</manager-class> </compiler> 

Если help выводит несколько параметров в угловых скобках, то вы устанавливаете значения для этих параметров на одном уровне, относительно друг друга, а не как дочерние. Например для default-size (default-size ) размер приложения по умолчанию в конф. файле устанавливается так:

 <default-size>     <height>height_value</height>     <width>width_value</width> </default-size>  

Использование маркеров (tokens)

Вы можете передать маркер (token) значения в компилятор, используя следующий синтаксис:

+token_name=value

В конфигурационном файле, вы ссылаетесь на значение используя следующий синтаксис:

${token_name}

Вы также можете использовать маркер Context в ваших конф. файлах, для получения корневого контекста вашего приложения. Вы так же можете использовать маркер ${flexlib} для получения директории frameworks (директория фреймворка). Это так же может быть полезно если вы создаете вашу собственную конфигурацию и не используете library-path настройки по умолчанию.

По умолчанию значение маркера ${flexlib} это application_home\frameworks

Добавочные значения

В конф. файле вы можете указать атрибут append для любого тега который принимает список аргументов. Установите этот атрибут true чтобы указать что значения должны быть добавлены а не заменяют уже существующие. По умолчанию установлено значение false.

Установка атрибута append как true позволяет соединять значения параметров, сразу нескольких конфигурационных файлов.
( т.е вы указываете несколько конфигурационных файлов и их значения для параметров не заменяются, добавляются )

В следующем примере добавляются два значения для параметра library-path:

<library-path append=«true»>
<path-element>/mylibs</path-element>
<path-element>/myotherlibs</path-element>
</library-path>

ссылка на оригинал статьи http://habrahabr.ru/post/155207/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *