Metadata


컴파일러로 Implements되는 <mx:Metadata> 태그


<mx:Metadata> 태그는, MXML 파일에 메타데이타타그를 삽입하기 위해서 사용합니다. 메타데이타타그는, Flex 어플리케이션내에서 MXML 컴퍼넌트를 어떻게 사용할까에 임해서, Flex 컴파일러에 정보를 제공합니다. 메타데이타타그는 실행 가능한 코드에는 컴파일 되지 않고, 코드내의 각 부분을 컴파일 하는 방법을 제어하는 정보를 제공합니다.

<mx:Metadata> 블록에 삽입할 수 있는 것은 메타데이타타그만으로, MXML 나 ActionScript 코드는 삽입할 수 없습니다.

예를 들어, 새로운 이벤트를 정의하는 MXML 컴퍼넌트를 작성한다고 합니다. Flex 컴파일러에 이벤트를 인식시켜 MXML 내에서 참조할 수 있도록(듯이) 하려면 , 다음의 예로 가리키도록(듯이), 컴퍼넌트에 [Event] 메타데이타타그를 삽입합니다.

<mx:Metadata>
[Event("darken")]
</mx:Metadata>

이 예에서는, 메타데이타를 사용해, MXML 컴파일러로 darken 이벤트를 참조할 수 있도록(듯이) 하고 있습니다. 메타데이타타그에는,[Event],[Effect],[Style],[Inspectable] 등이 있습니다. 상세한 것에 대하여는, 「Flex 컴퍼넌트의 작성과 확장」의 「메타데이타타그의 사용」의 장을 참조해 주세요.

ActionScrip 클래스 파일내에서 메타데이타타그를 사용하는 경우는, 클래스 정의에 직접 메타데이타타그를 삽입합니다. <mx:Metadata> 태그는 사용하지 않습니다.

다음의 예로 가리키도록(듯이), MXML 파일에서는 메타데이타타그를 ActionScript 코드와 함께 <mx:Script> 블록에 삽입하는지, 또는 <mx:Metadata> 블록에 삽입합니다.

<? xml version="1.0"? >
<mx:TextArea xmlns:mx="http://www.adobe.com/2006/mxml">

<mx:Metadata>
[Event("enableChange")]
</mx:Metadata>

<mx:Script>
<! [CDATA[
		
// event 클래스를 읽어들인다
import flash.events.Event;

// 클래스 property와 Methods를 정의한다
private var _enableTA:Boolean;

// 개개의 property의 전에 [Inspectable] 메타데이타타그를 추가한다
[Inspectable(defaultValue="false")]
public function set enableTA(val:Boolean) :void {
_enableTA = val;
this.enabled = val;
	
// event object를 정의해, 초기화해 dispatch한다 
var eventObj:Event = new Event("enableChange");
dispatchEvent(eventObj);
      }
    ]]>
</mx:Script>
</mx:TextArea>

MXML 문장구조법

<mx:Metadata> 태그의 문장구조법은 다음과 같습니다.

  <mx:Metadata> 
<! -- 여기에 메타데이타타그가 들어가는 -->
</mx:Metadata> 





 

코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트

현재의 페이지: http://flexdocs.kr/docs/flex2/langref/mxml/metadata.html