Как заставить FlashBuilder использовать собственный префикс пространства имен

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

<?xml version="1.0"?>
<componentPackage>
    <component id="AutoComplete" class="be.edge.components.AutoComplete" />
    <!-- more components left out for brevity -->
</componentPackage>

Я компилирую библиотеку через FlashBuilder со следующими настройками компилятора:

FlashBuilder library compiler namespace inputs

Когда я использую скомпилированную библиотеку в других проектах FlashBuilder, все работает, как ожидалось. Я получаю завершение кода, и когда я выбираю предложение из завершения кода, к компоненту автоматически добавляется атрибут пространства имен, например:

<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        xmlns:ns="library://ns.edge.be" >

    <ns:AutoComplete />

</s:Skin>

Но: FlashBuilder автоматически создает префикс «ns». Я хотел бы изменить его, например, на «e». Как заставить FlashBuilder использовать этот настраиваемый префикс по умолчанию?

У меня есть две причины для этого. это:

  1. 'ns' ничего не говорит: он просто говорит Было использовано пространство имен , а не какое пространство имен.
  2. когда я использую другие библиотеки, которые также начинаются с URL-адреса, такого как 'library : // нс. ' FlashBuilder, вероятно, начнет нумеровать префиксы для разрешения конфликта (ns, ns1, ns2 и т. Д.), Что будет еще более запутанным.

РЕДАКТИРОВАТЬ:

Я также передаю config.xml компилятору, у которого есть следующие объявления, относящиеся к пространствам имен:

<compiler>
    <namespaces>
        <namespace>
            <uri>library://ns.edge.be</uri>
            <manifest>manifest.xml</manifest>
        </namespace>
    </namespaces>
</compiler>

<include-namespaces>
    <uri>library://ns.edge.be</uri>
</include-namespaces>
5
задан RIAstar 23 June 2011 в 15:33
поделиться