擴張 應用 프로그램 마크업 言語
(Extensible Application Markup Language), 곧
XAML
([zæ:m?l])로 發音)은
마이크로소프트
社가 構造값과 客體를 初期化하는 데 使用하려고 만든 宣言型
XML
基盤 言語이다. 마이크로소프트사의
Open Specification Promise
를 통해 使用할 수 있다.
[3]
XAML은 元來
윈도우 프레젠테이션 파운데이션
의 코드 이름이기도 했던 Avalon에서 따와서 "eXtension Avalon Markup Language"를 代表하는 말이었다.
[4]
槪要
[
編輯
]
XAML은
닷넷 프레임워크 3.0
技術에, 特히
윈도우 프레젠테이션 파운데이션
(WPF),
윈도 워크플로 파운데이션
(WF)에 널리 쓰인다. WPF에서 XAML은
使用者 인터페이스 마크업 言語
로 쓰이면서 使用者 인터페이스의 要素, 데이터 바인딩, 이벤트 等의 機能을 定義한다. 윈도 워크플로 파운데이션에서
워크플로
는 XAML을 使用하여 定義할 수 있다.
XAML 要素는
共通 言語 런타임
客體 인터페이스에 直接 매핑할 수 있지만 XAML은 共通 言語 런타임 屬性과 이벤트를 該當 客體로 매핑하는 데 使用한다. XAML 파일은
마이크로소프트 익스프레션 블렌드
,
마이크로소프트 비주얼 스튜디오
, 호스팅 可能한
윈도 워크플로 파운데이션
비주얼 디자이너와 같은 視角 디자인 道具로 만들고 編輯할 수 있다. 標準
文書 編輯機
,
XAMLPad
와 같은 코드 編輯機,
Vectropy
와 같은 그래픽 編輯機로 만들어 編輯할 수도 있다.
XAML을 追加하거나 그것으로 만든 어떠한 것이든
C#
,
비주얼 베이직 닷넷
과 같은 旣存에 쓰여왔던 닷넷 言語를 使用하여 表現할 수 있다. 그러나 이 技術의 주된 側面은
XML
基盤이기에 XAML을 處理하는 道具에 必要한 複雜性을 줄이는 것이다.
[5]
그 結果 다양한 製品이 XAML 基盤의 應用 프로그램을 만들 수 있는(특히
윈도우 프레젠테이션 파운데이션
) 空間에서 登場하고 있다. XAML은 單純히 XML 基盤이므로 開發者들과 디자이너들은 컴파일을 하지 않아도 두 마크업 言語 사이에서 콘텐츠를 자유로이 共有하고 編輯할 수 있다.
예
[
編輯
]
이 윈도우 프레젠테이션 파운데이션의 例는 캔버스(Canvas)라 불리는 最上位 XAML 컨테이너에 "Hello, world!"를 標示한다.
<Canvas
xmlns=
"http://schemas.microsoft.com/client/2007"
xmlns:x=
"http://schemas.microsoft.com/winfx/2006/xaml"
>
<TextBlock>
Hello,
world!
</TextBlock>
</Canvas>
스키마(xmlns="
https://web.archive.org/web/20170705010515/http://schemas.microsoft.com/
..." 部分)는 컴퓨터에서 動作할 수 있게 變更할 必要가 있다.
마이크로소프트가 勸奬하는 스키마를 使用한 例示는 다음과 같을 수도 있다.
[6]
<Canvas
xmlns=
"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
>
<TextBlock>
Hello,
world!
</TextBlock>
</Canvas>
이것은 브라우저 內에 호스팅되는 샌드박스 環境에서 實行되는 컴파일된 應用 프로그램인
XBAP
를 使用하여 WPF를 設置하는 境遇
웹 페이지
로 統合할 수 있다. 다른 方法으로는
실버라이트 플러그인
을 使用하는 것이다. 닷넷 3.0 以後가 設置되어 있다면 느슨한(loose) XAML 파일도 실버라이트 플러그인 없이 닷넷 프레임워크 3.0과 結合하여 互換
웹 브라우저
(
인터넷 익스플로러
와
파이어폭스
包含) 直接 確認이 可能하다.
[7]
코드는
HTML
페이지에 直接 追加할 수 없다. 代身
자바스크립트
를 통해 페이지로 로드되어야 한다. 느슨한 XAML 파일들은 렌더링할 視覺的인 內容을 定義하는 것으로 制限되는 마크업 專用 파일이다. 이들은 應用 프로그램과 컴파일되지 않는다.
<html
xmlns=
"http://www.w3.org/1999/xhtml"
>
<head>
<title>
XAML
Example
</title>
<script
type=
"text/javascript"
src=
"MySilverlight.js"
/>
<script
type=
"text/javascript"
src=
"Silver.js"
/>
</head>
<body>
<div
id=
"MySilverlight"
>
</div>
<script
type=
"text/javascript"
>
createMySilverlight();
</script>
</body>
</html>
MySilverlight.js
파일은
MySilverlight
要素 밑에 上記의 XAML 코드(XML 파일로)를 로드하는 코드를 包含해야 한다.
같이 보기
[
編輯
]
各州
[
編輯
]
外部 링크
[
編輯
]
|
---|
開發
環境
| |
---|
言語 및
컴파일러
| |
---|
主要
API
및
프레임워크
| |
---|
데이터베이스 道具
및 言語
| |
---|
소스 制御
| |
---|
드라이버 開發
| |
---|