2008-03-12

Flex 的 namespace

关键字: flex 命名空间 namespace
理解namespace
<Application xmlns="http://www.adobe.com/2006/mxml">


http://www.adobe.com/2006/mxml为 URI,在编译时期加入的。这样的话,我们就可以用http://www.adobe.com/2006/mxml中定义的class和component了。比如说
<Button />

一般来讲,我们都会给namespace一个名字,你比如说mx-- xmlns:mx="http://www.adobe.com/2006/mxml,这样类似于上面的调用button就应该改为
<mx:Button />


当然,如果要实现在mxml里可以使用这些tag(Button..)就需要类文件或mxml组建映射为tag,而这些是通过manifest文件和 namespaces做到的。

一个manifest文件:
<?xml version="1.0"?>
<componentPackage>
    <component id="Button" class="mx.controls.Button"/>
    <component id="ButtonBar" class="mx.controls.ButtonBar"/>
    <component id="Canvas" class="mx.containers.Canvas"/>
    <component id="CheckBox" class="mx.controls.CheckBox"/>
</componentPackage>

这样就能在mxml利用通过<namespace_name:Button...调用mx.controls.Button了.
而URI(http://www.adobe.com/2006/mxml)又是通过编译库文件时的配置文件指定的
compc -load-config+=configuration.xml

configuration.xml如下:
      <namespaces>
      <!-- Specify a URI to associate with a manifest of components for use as MXML -->
      <!-- elements.                                                                -->
         <namespace>
            <uri>http://www.adobe.com/2006/mxml</uri>
            <manifest>mxml-manifest.xml</manifest>
         </namespace>
      </namespaces>
评论
发表评论

您还没有登录,请登录后发表评论

yimogod
搜索本博客
最近加入圈子
存档
最新评论