Pergunta

Dada uma aplicação Flex ou módulo, você pode especificar um namespace XML personalizado da seguinte forma:

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

Podemos então se referem a componentes MXML no diretório custom / namespace / usando a tag personalizada. Por exemplo, se eu tiver os componentes Custom1 e Custom2 no diretório custom / namespace, eu possa consultá-las assim:

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

Existe uma maneira de mapear vários diretórios na mesma tag? Isto é, se eu tiver componentes em um subdiretório do costume / namespace, como custom / namespace / sub com SubCustom1 componente, há uma maneira de modificar o documento flexível de modo a tag personalizada pode se referir a SubCustom1?

Note que uma solução que eu encontrei foi a de adicionar uma nova etiqueta para cada diretório (por exemplo xmlns: "custom.namespace.sub *" custom.sub =, e depois:

<custom.sub:SubCustom1>

Esta solução parece ser um truque, no entanto.

Foi útil?

Solução

Para criar um espaço para nome personalizado em flex você precisa

1) Criar um arquivo de manifesto personalizado:. Por exemplo

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

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

2) Adicionar algo semelhante ao seguinte ao seu arquivo 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>

Você pode ler uma explicação mais detalhada aqui .

Esta questão também foi respondida aqui .

Outras dicas

A nomeação segue diretamente a partir da especificação XML para namespaces. Se você quer mudar custom para se referir à mudança subdiretório a declaração de namespace:

xmlns:custom="custom.namespace.*"

para

xmlns:custom="custom.namespace.sub.*"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top