Tengo una biblioteca de componentes. Tiene un archivo de manifiesto que tiene este aspecto:¿Cómo puedo hacer que FlashBuilder use un prefijo de espacio de nombre personalizado?
<?xml version="1.0"?>
<componentPackage>
<component id="AutoComplete" class="be.edge.components.AutoComplete" />
<!-- more components left out for brevity -->
</componentPackage>
puedo compilar la biblioteca a través FlashBuilder con estos ajustes del compilador:
Cuando uso la biblioteca compilada en otra FlashBuilder proyectos todo funciona como esperado. Consigo la finalización de código y cuando selecciono una sugerencia de la finalización de código un atributo de espacio de nombres se añade automáticamente al componente, como este:
<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>
Pero: FlashBuilder crea automáticamente el prefijo '' ns. Me gustaría personalizar esto a 'e' por ejemplo. ¿Cómo puedo hacer que FlashBuilder use este prefijo personalizado de forma predeterminada?
Tengo dos razones para esto:
- 'ns' no dice nada: sólo dice Un espacio de nombres se ha utilizado, no lo espacio de nombres.
- cuando utilizo otras bibliotecas que también comienzan con una url como 'library: // ns.' FlashBuilder probablemente comenzará a numerar los prefijos para resolver el conflicto (ns, ns1, ns2, etc.), lo que sería aún más confuso.
EDIT:
También me paso un config.xml para el compilador que tiene las siguientes declaraciones en relación con los espacios de nombres:
<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>
Lo intenté, con la esperanza de que funcionara mágicamente en mi sistema. Pero no es así ¿No deberías hacer referencia a ese design.xml en algún lugar? De lo contrario, el compilador no podría saberlo. (Añadiré más información del compilador a mi pregunta.) – RIAstar
También traté de agregar 'prefix =" e "' a la etiqueta 'namespace' en mi config.xml, sin éxito (no recibo ningún error)) – RIAstar
Aha! Acabo de encontrar la parte faltante: debe incluir el archivo design.xml en el swc marcando su casilla en la pestaña 'Activos' en 'Ruta de compilación de la biblioteca Flex'. Me tienes allí, así que aceptaré tu respuesta. – RIAstar