[XAML] 엘리먼트 어트리뷰트(Element & Attribute)
주성돈기자
2023.09.03 14:05
XAML(Extensible Application Markup Language)
닷넷 API에서만 사용하는 XML 기반의 마크업 언어.
사용자 인터페이스 Element, 데이터 바인딩, 이벤트 등의 기능을 정의할 때 사용한다.
Element의 기능
- 포함된 데이터에 대해 설명한다.
- 다른 요소를 포함한다.
element는 다음과 같이 element 이름, 데이터 형식으로 구성된다.
"fruit"이라는 이름의 Element를 정의하는 방법
<xs:element name = "fruit"type = "xs:string">
이렇게 element가 정의된 경우라면 다음과 같이 element를 만들 수 있다.
<fruit> apple </fruit><fruit> strawberry </fruit>
주의사항
- XML은 대/소문자를 구별한다.
- 요소의 이름은 숫자나 밑줄 또는 "XML"이라는 문자로 시작될 수 없다.
- 요소의 이름에는 공백이 포함될 수 없다.
Attribute의 기능
- 요소(Element)의 부가 정보를 나타낸다.
- 기본 값을 할당할 수 있고 순서에 상관 없이 선언될 수 있다.
-
''
또는""
로 묶여져서 나타낸다.
<xs:elementname="fruits"><xs:complexType><xs:sequence><xs:elementname="fruitNumber"type="positiveInteger"/><xs:elementname="fruitName"type="xs:string"/><xs:elementname="price"type="xs:number/"></xs:sequence><xs:attributename="fruitType"type="xs:string"/></xs:complexType></xs:element>
이렇게 정의할 수 있고 XML 문서에는 다음과 같이 사용할 수 있다.
<?xml version="1.0">
<fruitsfruitType = "GeneralFruits"><fruitNumber>1</fruitNumber><fruitName>apple</fruitName><price>5000</price></fruits>
XAML에는 .NET의 네임스페이스, 데이터 타입, 프로퍼티, 이벤트 등을 XML 네임스페이스, 엘리먼트, 어트리뷰트와 매핑해주는 규칙이 정의되어있다.
엘리먼트 종류
- 오브젝트 엘리먼트(Object element)
기본 생성자(Defalut constructor)를 사용해서 상응하는 닷넷 객체를 생성하는 것 - 프로퍼티 엘리먼트
복잡한 프로퍼티를 설정할 수 있는 대안. 표현이 길어질 수 있다.
프로퍼티 엘리먼트는 단순한 프로퍼티(ex : Background Property)로 사용할 수 있으며, 이때 프로퍼티 엘리먼트는 생략된다.
어트리뷰트 종류
- 프로퍼티 어트리뷰트(프로퍼티로 매핑)
생성된 닷넷 객체에 동일한 프로퍼티를 설정하는 것과 동일하다. - 이벤트 어트리뷰트(이벤트로 매핑)
객체의 이벤트 처리기와 연결된다.