This page was saved using jaction on 2006-09-04 8:33:59.
Address: http://flexdocs.kr/docs/flex2/langref/QName.html
Title: QName (Flex™ 2 레퍼런스 가이드)  •  Size: 32321
Package톱 레벨
Classpublic final class QName
InheritanceQName Inheritance Object

QName object는, XML 엘리먼트의 완전 수식명으로 속성을 나타냅니다. 각 QName object에는, 로컬명과 namespace URI 를 붙일 수 있습니다. namespace URI 의 값이 null 의 경우, QName object는 모든 namespace에 일치합니다. QName constructor    은, 다른 QName object의 복사인 새로운 QName object를 작성하거나 Namespace object의 uri 와 QName object의 localName 를 가지는 새로운 QName object를 작성하는 경우에 사용합니다.

E4X 고유의 Methods에서는, QName object와 string를 똑같이 사용할 수가 있습니다. E4X Methods는, QName, Namespace, XML, 및 XMLList 의 각 클래스에 있습니다. 이러한 E4X Methods는, string를 받음과 동시에, QName object를 받을 수도 있습니다. 이 호환성에 의해, namespace의 지원(support)와 XML.child() 등의 Methods의 제휴를 합니다.

XML, XMLList, Namespace 등의 클래스와 같이, QName 클래스에는 ECMAScript for XML (E4X) 사양 (ECMA-357 Edition 2)으로 정의되고 있는 강력한 XML 처리 규격이 Implements되고 있습니다.

완전 수식 식별자는 QName object로서 평가됩니다. namespace를 특정하지 않고 XML 엘리먼트의 QName object를 지정했을 경우, 관련지을 수 있고 있는 QName object의 uri property는, 글로벌인 디폴트의 namespace으로 설정됩니다. namespace를 특정하지 않고 XML 속성의 QName object를 지정했을 경우,uri property는 empty의 string로 설정됩니다.

View the examples

See also

XML
XMLList
Namespace
ECMAScript for XML (E4X) specification (ECMA-357 edition 2)


Public property
 property정의
 Inheritedconstructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor    함수에의 참조입니다.
Object
  localName : String
[read-only] QName object의 로컬명입니다.
QName
 Inheritedprototype : Object
[static] 클래스 또는 함수 object의 prototype object에의 참조입니다.
Object
  uri : String
[read-only] QName object의 URI 입니다.
QName
Public Methods
 Methods정의
  QName (qname:QName )
다른 QName object의 복사인 QName object를 작성합니다.
QName
  QName (uri:Namespace , localName:QName )
Namespace object의 URI object와 QName object의 localName 를 가지는 QName object를 작성합니다.
QName
 InheritedhasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
Object
 InheritedisPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
Object
 InheritedpropertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
Object
 InheritedsetPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
Object
  toString ():String
URI 와 QName object의 로컬명을 "::" 로 단락지은 string를 돌려줍니다.
QName
  valueOf ():QName
QName object를 돌려줍니다.
QName
property의 상세
localNameproperty
localName:String   [read-only]

QName object의 로컬명입니다.

Implements
    public function get localName():String
uriproperty 
uri:String   [read-only]

QName object의 URI 입니다.

Implements
    public function get uri():String
constructor    의 상세
QName()constructor   
public 함수 QName(qname:QName )

다른 QName object의 복사인 QName object를 작성합니다. constructor    에게 건네진 Parameters가 QName object인 경우, QName object의 복사가 작성됩니다. Parameters가 QName object가 아닌 경우, Parameters는 string에 변환되어 새로운 QName 인스턴스의 localName property에 할당할 수 있습니다. Parameters가 undefined 일까 미지정의 경우,localName property가 empty의 string로 설정된 새로운 QName object가 작성됩니다.

메모:이 클래스는, 2 개의 constructor    항목을 나타내고 있습니다. 각각의 형식이 다른 Parameters를 받아들이기 (위해)때문에입니다. constructor    의 동작은, 각 항목으로 상세를 나타내도록(듯이), 건네받는 Parameters의 형태와 수에 따라서 다릅니다. ActionScript 3.0 은 Methods 또는 constructor    의 overload를 지원(support)하고 있습니다.

Parameters
qname:QName — 복사하는 QName object입니다. 다른 타입의 object는 string에 변환되어 새로운 QName object의 localName property에 할당할 수 있습니다.
QName()constructor    
public 함수 QName(uri:Namespace , localName:QName )

Namespace object의 URI object와 QName object의 localName 를 가지는 QName object를 작성합니다. 몇개의 Parameters가 목적의 데이터형이 아닌 경우, Parameters는 string에 변환되어 새로운 QName object의 해당의 property에 할당할 수 있습니다. 예를 들어, 양쪽 모두의 Parameters가 string의 경우,uri property가 최초의 Parameters로 설정되어localName property가 2 번째의 Parameters로 설정된 새로운 QName object가 돌려주어집니다. 즉, 다른 많은 순열과 같이, 다음의 순열이 콘트라크타로 유효한 형식이 됩니다.

QName (uri:Namespace, localName:String);
QName (uri:String, localName:QName);
QName (uri:String, localName:String);

uri Parameters에 null 를 건네주면, 새로운 QName object의 uri property는 null 로 설정됩니다.

메모:이 클래스는, 2 개의 constructor    항목을 나타내고 있습니다. 각각의 형식이 다른 Parameters를 받아들이기 (위해)때문에입니다. constructor    의 동작은, 각 항목으로 상세를 나타내도록(듯이), 건네받는 Parameters의 형태와 수에 따라서 다릅니다. ActionScript 3.0 은 Methods 또는 constructor    의 overload를 지원(support)하고 있습니다.

Parameters
uri:Namespace uri 값의 복사원의 Namespace object입니다. 다른 타입의 Parameters는 string에 변환됩니다.
 
localName:QName localName 값의 복사원의 QName object입니다. 다른 타입의 Parameters는 string에 변환됩니다.
Methods의 상세
toString()Methods
AS3 function toString():String

URI 와 QName object의 로컬명을 "::" 로 단락지은 string를 돌려줍니다.

형식은 QName object의 uri property에 의해 정해집니다.
uri == "" 의 경우,
  toStringlocalName 를 돌려줍니다.
uri == null 의 경우,
  toString 는 *::localName 를 돌려줍니다.
그 이외의 경우,  toStringuri::localName 를 돌려줍니다.

반환값
String — string로서의 완전 수식명입니다.
valueOf()Methods 
AS3 function valueOf():QName

QName object를 돌려줍니다.

반환값
QName — QName 인스턴스의 원시적치입니다.
Examples

다음의 예는, QName 인스턴스를 작성해, 그것을 사용해 XML 엘리먼트를 선택하는 방법을 나타내고 있습니다. QName 를 작성하는 2 개의 방법을 나타냅니다.
  1. Namespace 인스턴스를 작성해, 그것을 QName constructor    에의 입력으로서 사용한다. 이 방법은,Namespace.prefix property를 다음에 다른 목적을 위해서(때문에) 사용하고 싶은 경우에 최적입니다.
  2. QName constructor    내의 uri Parameters에 대해서 단순한 string치를 사용해 QName 인스턴스를 작성한다.

이 코드는 다음 일을 실시합니다.

  1. rssXML 라는 이름의 XML 변수를 정의합니다.
  2. 접두사 dc 를 사용해 새로운 Namespace object를 작성합니다.
  3. 그 Namespace object와 로컬명 creator 를 사용해, 새로운 QName object를 작성합니다.
  4. showDescendants() Methods를 호출합니다. 이 Methods는 XML.descendants() Methods를 사용해, 지정된 QName 인스턴스에 일치하는 수식명을 가지는 모든 자손 엘리먼트를 포함한 XMLList 인스턴스를 취득합니다.
  5. for each 루프를 사용해, 리스트내의 각 엘리먼트의 수식명과 텍스트치를 표시합니다.
  6. uri Parameters와 로컬명 date 의 string치를 사용해, 다른 QName object를 작성합니다.
  7. showDescendants() Methods를 다시 호출해, 자손 엘리먼트의 이름과 텍스트치를 표시합니다.
package
{
    import flash.display.Sprite;
    
    public class QNameExample extends Sprite
    {
        public function QNameExample()
        {
            var rssXML:XML =  <rdf:RDF
              xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
              xmlns="http://purl.org/rss/1. 0/"
              xmlns:dc="http://purl.org/dc/elements/1. 1/">
              <channel rdf:about="http://www.xml.com/cs/xml/query/q/19">
                <title>Test RSS</title>
                <link>http://www.adobe.com/</link>
                <description>This is a test RSS document. </description>
                <language>en-us</language>
                <items>
                  <rdf:Seq>
                <rdf:li rdf:resource="http://www.adobe.com/devnet/flash/"/>
                <rdf:li rdf:resource="http://www.adobe.com/devnet/flex/"/>
                  </rdf:Seq>
                </items>
              </channel>
              <item rdf:about="http://www.adobe.com/devnet/flash/">
                <title>Flash Developer Center</title>
                <link>http://www.adobe.com/devnet/flash/</link>
                <description>Welcome to the Flash Developer Center</description>
                <dc:creator>Adobe</dc:creator>
                <dc:date>2005-08-08</dc:date>    
              </item>
              <item rdf:about="http://www.adobe.com/devnet/flex/">
                <title>Flex Developer Center</title>
                <link>http://www.adobe.com/devnet/flex/</link>
                <description>Welcome to the Flex Developer Center</description>
                <dc:creator>Adobe</dc:creator>
                <dc:date>2005-10-16</dc:date>    
              </item>
            </rdf:RDF>;
            
            var dcNamespace:Namespace = new Namespace("dc", "http://purl.org/dc/elements/1. 1/");
            var creatorQName:QName = new QName(dcNamespace, "creator");
            trace(creatorQName.uri); // http://purl.org/dc/elements/1. 1/
            trace(creatorQName.localName); // creator
            
            showDescendants(rssXML, creatorQName);
            
            var dateQName:QName = new QName("http://purl.org/dc/elements/1. 1/", "date");
            trace(dateQName.uri); // http://purl.org/dc/elements/1. 1/
            trace(dateQName.localName); // date
            
            showDescendants(rssXML, dateQName);
        }
        
        public function showDescendants(xmlData:XML, qualifiedName:QName) :void
        {
            var decendantList:XMLList = xmlData.descendants(qualifiedName);
            
            for each (var element:XML in decendantList)
            {
                trace(element.name()); // the fully qualified name, 
                                       // like "http://purl.org/dc/elements/1. 1/::creator"
                trace(element); // the simple text value of each element, like "Adobe"
            }                
        }
    }
}






 

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

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