• 使用URIStyle Namespace编译Flex Library


    我们都知道每当新建一个flex(flex3)工程,就会自动加入一个命名空间  xmlns:mx="http://www.adobe.com/2006/mxml"。有了它,我们可方便多了,直接用一个mx就可以把很多包里的组件定义出来。可是当我们自己定义类库时,我们不得不针对每个包添加一个命名空间。下面就有一种可以一劳永逸的方法。让我们也来定义一个类似http://www.adobe.com/2006/mxml的命名空间来把类库的所有组件包括进去。
    步骤:
    1,新建一个flex library project,取名为uriTest_lib,单击next,在里面的main source folder中写入src,finish。
    2,在上面建立类库工程里的src文件里添加两个包pak1和pak2。在pak1包里用mxml建立一个组件,取名为:Try.mxml。在pak2包里也建立一个组件,取名为:Btb.as。上面两个一个是mxml组建,一个as组件,这样写是为了有更广泛点的说明性。至于组件的内容,自己看着写吧!
    3,现在,新建一个xml文件,取名为:manifest.xml。这个文件叫做清单文件,清单文件用于描述Namespace URI与Classes之间的映射关系。里面的内容可以这样写:
    1 <?xml version="1.0"?>
    2 <componentPackage>
    3 <component id="MyCpB" class="pak2.Btb"/>                                                                                  //<component id="组件名称,如Button" class="对应的类文件,可以是as后缀也可以使mxml后缀">
    4 <component id="Try" class="pak1.Try"/>
    5 </componentPackage>

    4,右击你建立的libary project,选择properties,打开属性面板,如下图:

    设置就像上面那个图啦,ok。注意那个Namespace URL和Manifest file。
    5,新建一个flex project,取名为uriTest_pro,点击下一步,再下一步,然后就会出现下面这个图:

    点击add SWF Folder,把刚才建立的uriTest_lib类库导进去,可以finish了。
    6,在uriTest_pro.mxml文件的application里加入一个命名空间,xmlns:cp="http"//www.orchid.com"。这样,你就可以用cp这个命名空间来定义类库里的任意组件了。如:
    <cp:Try x="10" y="10">

    有兴趣的话还可以再看看flex的sdk,我一直很好奇这个http://www.adobe.com/2006/mxml到底是哪里来的,其实它的定义就在一个flex-config.xml文件里。打开flex sdk(我这个是3.x版本),打开里面的frameworks文件夹,就可以看到里面有一个flex-config.xml文件,仔细寻找,就会找到这样一段:
    <namespace>
        
    <uri>http://www.adobe.com/2006/mxml</uri>
        
    <manifest>mxml-manifest.xml</manifest>
        
    </namespace>
    </namespaces>
    这就是定义命名空间与清单文件的地方,那个mxml-manifest.xml文件同样在这个文件夹里。可以想象flex4里这个地方的配置肯定是多个命名空间与清单文件。






  • 相关阅读:
    IfcControlExtension (控件扩展)
    IfcKernel (内核)
    IFC4x0核心层
    IfcSharedMgmtElements (共享管理元素)
    IfcSharedFacilitiesElements (共享设施元素)
    IfcSharedComponentElements (共享组件元素)
    IfcSharedBldgServiceElements (共享建筑服务要素)
    IfcSharedBldgElements (共享建筑元素)
    IFC4x0共享层
    IfcStructuralElementsDomain (结构元素领域)
  • 原文地址:https://www.cnblogs.com/orchid/p/1555139.html
Copyright © 2020-2023  润新知