2009-03-04 4 views
2

eine Flex-Anwendung oder ein Modul gegeben, können Sie einen benutzerdefinierten XML-Namespace wie folgt angeben:Gibt es eine Möglichkeit, ein Tag im Flex zu Komponenten in mehreren Verzeichnissen zuzuordnen?

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

Wir können dann auf MXML-Komponenten im Verzeichnis custom/Namensraum/mit dem benutzerdefinierten Tag beziehen. Zum Beispiel, wenn ich die Komponenten Custom1 und Custom2 im custom/Namespace-Verzeichnis haben, kann ich auf sie verweisen wie so:

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

Gibt es eine Möglichkeit, mehrere Verzeichnisse auf dem gleichen Tag abzubilden? Das heißt, wenn ich Komponenten in einem Unterverzeichnis von custom/namespace habe, wie custom/namespace/sub mit der Komponente SubCustom1, gibt es eine Möglichkeit, das Flex-Dokument zu ändern, so dass das benutzerdefinierte Tag auf SubCustom1 verweisen kann?

Beachten Sie, dass eine Abhilfe, die ich fand, war einen neuen Tag für jedes Verzeichnis hinzuzufügen (zB xmlns: "custom.namespace.sub *" custom.sub = und dann:

<custom.sub:SubCustom1> 

Diese Lösung scheint . obwohl wie eine Flickschusterei,

Antwort

2

Um einen benutzerdefinierten Namespace in flex Sie

1) eine benutzerdefinierte Manifest-Datei erstellen müssen erstellen: z

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

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

2) In etwas ähnlich der folgenden auf Ihre Flex-compiler.xml Datei:

<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> 

Sie können here eine ausführlichere Erklärung lesen.

Diese Frage wurde ebenfalls beantwortet here.

0

die Namensgebung folgt direkt aus der XML-Spezifikation für Namespaces Wenn Sie custom ändern, um das Unterverzeichnis zu verweisen die Namespace-Deklaration ändern:.

xmlns:custom="custom.namespace.*" 

zu

xmlns:custom="custom.namespace.sub.*" 
+0

Vielen Dank für Ihre Antwort, aber ich frage, ob es eine Möglichkeit gibt, Komponenten aus beiden Verzeichnissen oder zwei verschiedenen Verzeichnissen (nicht unbedingt verschachtelt) zuzuordnen, nicht, wenn es eine Möglichkeit gibt, von einem zum anderen zu wechseln. – mweiss

Verwandte Themen