Pregunta

Dada una aplicación o módulo flexible, puede especificar un espacio de nombres xml personalizado de la siguiente manera:

<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:custom="custom.namespace.*">

Podemos referirnos a los componentes mxml en el directorio custom / namespace / usando la etiqueta personalizada. Por ejemplo, si tengo los componentes Custom1 y Custom2 en el directorio custom / namespace, puedo referirme a ellos de la siguiente manera:

<custom:Custom1/>
<custom:Custom2/>

¿Hay alguna manera de asignar múltiples directorios en la misma etiqueta? Es decir, si tengo componentes en un subdirectorio de custom / namespace, como custom / namespace / sub con el componente SubCustom1, ¿hay alguna forma de modificar el documento flexible para que la etiqueta personalizada pueda referirse a SubCustom1?

Tenga en cuenta que una solución alternativa que encontré fue agregar una nueva etiqueta para cada directorio (por ejemplo, xmlns: custom.sub = " custom.namespace.sub. * " ;, y luego:

<custom.sub:SubCustom1>

Sin embargo, esta solución parece un error.

¿Fue útil?

Solución

Para crear un espacio de nombres personalizado en flex necesita

1) Cree un archivo de manifiesto personalizado: por ejemplo,

<?xml version="1.0" encoding="utf-8" ?>
<componentPackage>

    <component id="Accordion" class="mx.containers.Accordion"/>
    ....

2) Agregue algo similar a lo siguiente a su archivo flex-compiler.xml:

<compiler>
    ...
      <namespaces>
         <!-- Specify a URI to associate with a manifest of components for use as MXML -->
         <!-- elements.                                                                -->
         <namespace>
            <uri>http://mycustomnamespace.com</uri>
            <manifest>custom-manifest.xml</manifest>
         </namespace>
      </namespaces>
</compiler>

Puede leer una explicación más detallada aquí .

Esta pregunta también fue respondida aquí .

Otros consejos

La denominación se sigue directamente de la especificación XML para espacios de nombres. Si desea cambiar personalizado para hacer referencia al subdirectorio, cambie la declaración del espacio de nombres:

xmlns:custom="custom.namespace.*"

a

xmlns:custom="custom.namespace.sub.*"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top