aboutsummaryrefslogtreecommitdiff
path: root/files/ko/archive/mozilla
diff options
context:
space:
mode:
Diffstat (limited to 'files/ko/archive/mozilla')
-rw-r--r--files/ko/archive/mozilla/creating_a_skin_for_seamonkey_2.x/index.html19
-rw-r--r--files/ko/archive/mozilla/drag_and_drop/index.html148
-rw-r--r--files/ko/archive/mozilla/firefox/index.html8
-rw-r--r--files/ko/archive/mozilla/firefox/using_microformats/index.html144
-rw-r--r--files/ko/archive/mozilla/index.html10
-rw-r--r--files/ko/archive/mozilla/rdf_datasource_how-to/index.html224
-rw-r--r--files/ko/archive/mozilla/xbl/index.html32
-rw-r--r--files/ko/archive/mozilla/xbl/xbl_1.0_reference/elements/index.html387
-rw-r--r--files/ko/archive/mozilla/xbl/xbl_1.0_reference/index.html118
-rw-r--r--files/ko/archive/mozilla/xulrunner/dialogs_in_xulrunner/index.html121
-rw-r--r--files/ko/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html98
-rw-r--r--files/ko/archive/mozilla/xulrunner/index.html26
-rw-r--r--files/ko/archive/mozilla/xulrunner/what_xulrunner_provides/index.html64
-rw-r--r--files/ko/archive/mozilla/xulrunner/xul_application_packaging/index.html107
-rw-r--r--files/ko/archive/mozilla/xulrunner/xulrunner_faq/index.html64
-rw-r--r--files/ko/archive/mozilla/xulrunner/xulrunner_hall_of_fame/index.html178
-rw-r--r--files/ko/archive/mozilla/xulrunner/xulrunner_tips/index.html168
17 files changed, 1916 insertions, 0 deletions
diff --git a/files/ko/archive/mozilla/creating_a_skin_for_seamonkey_2.x/index.html b/files/ko/archive/mozilla/creating_a_skin_for_seamonkey_2.x/index.html
new file mode 100644
index 0000000000..f2755cc4d3
--- /dev/null
+++ b/files/ko/archive/mozilla/creating_a_skin_for_seamonkey_2.x/index.html
@@ -0,0 +1,19 @@
+---
+title: Creating a Skin for SeaMonkey 2.x
+slug: Archive/Mozilla/Creating_a_Skin_for_SeaMonkey_2.x
+tags:
+ - NeedsTranslation
+ - SeaMonkey
+ - TopicStub
+translation_of: Archive/Mozilla/Creating_a_Skin_for_SeaMonkey_2.x
+---
+<h2 id="Introduction">Introduction</h2>
+
+
+<p>You're going to make a theme for SeaMonkey 2, but don't know how? I hope this manual will help you.</p>
+
+
+<h2 id="Contents">Contents</h2>
+<ul>
+ <li><a href="/en-US/docs/Creating_a_Skin_for_SeaMonkey_2.x/Getting_Started">Getting Started</a></li>
+</ul>
diff --git a/files/ko/archive/mozilla/drag_and_drop/index.html b/files/ko/archive/mozilla/drag_and_drop/index.html
new file mode 100644
index 0000000000..adc89768c1
--- /dev/null
+++ b/files/ko/archive/mozilla/drag_and_drop/index.html
@@ -0,0 +1,148 @@
+---
+title: Drag and Drop
+slug: Archive/Mozilla/Drag_and_drop
+tags:
+ - NeedsTranslation
+ - TopicStub
+ - XUL
+translation_of: Archive/Mozilla/Drag_and_drop
+---
+<p></p><div class="prevnext" style="text-align: right;">
+ <p><a href="/ko/docs/Drag_and_Drop_JavaScript_Wrapper">다음 »</a></p>
+</div><p></p>
+<p></p><div class="overheadIndicator deprecated deprecatedHeader">
+ <p><strong><span title="This is an obsolete API and is no longer guaranteed to work."><i class="icon-trash"> </i></span> Deprecated Gecko 1.9.1 (Firefox 3.5 / Thunderbird 3.0 / SeaMonkey 2.0)</strong><br>This feature has been removed from the Web standards. Though some browsers may still support it, it is in the process of being dropped. Avoid using it and update existing code if possible; see the <a href="#Browser_compatibility">compatibility table</a> at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.</p>
+ </div><p></p>
+<div class="warning">
+ As of Gecko 1.9.1 (Firefox 3.5), these APIs are officially deprecated <a href="/En/DragDrop/Drag_and_Drop" title="en/DragDrop/Drag and Drop">the newer, simpler, portable API</a> should be used in their place.</div>
+<p>This section describes how to implement objects that can be dragged around and dropped onto other objects.</p>
+<h3 id="The_Drag_and_Drop_Interface" name="The_Drag_and_Drop_Interface">The Drag and Drop Interface</h3>
+<p>Many user interfaces allow one to drag particular objects around within the interface. For example, dragging files to other directories, or dragging an icon to another window to open the document it refers to. Mozilla and <a href="/en/XUL" title="en/XUL">XUL</a> provide a number of events that can handle when the user attempts to drag objects around.</p>
+<p>A user can start dragging by holding down the mouse button and moving the mouse. The drag stops when the user releases the mouse. Event handlers are called when the user starts and ends dragging, and at various points in-between.</p>
+<p>Mozilla implements dragging by using a drag session. When a user requests to drag something that can be dragged, a drag session should be started. The drag session handles updating the mouse cursor and where the object should be dropped. If something cannot be dragged, it should not start a drag session. Because the user generally has only one mouse, only one drag session is in use at a time.</p>
+<p>Note that drag sessions can be created from within Mozilla itself or from other applications. Mozilla will translate the data being dragged as needed.</p>
+<p>The list below describes the event handlers that can be called, which may be placed on any element. You only need to put values for the handlers where you need to do something when the event occurs.</p>
+<dl>
+ <dt>
+ ondrag </dt>
+ <dd>
+ Called periodically throughout the drag and drop operation.</dd>
+ <dt>
+ ondraggesture </dt>
+ <dd>
+ Called when the user starts dragging the element, which normally happens when the user holds down the mouse button and moves the mouse. The script in this handler should set up a drag session.</dd>
+ <dt>
+ ondragstart  </dt>
+ <dd>
+ An alias for <code>ondraggesture</code>; this is the HTML 5 spec name for the event and may be used in HTML or XUL; however, for backward compatibility with older versions of Firefox, you may wish to continue using <code>ondraggesture</code> in XUL.</dd>
+ <dt>
+ ondragover </dt>
+ <dd>
+ This event handler is called for an element when something is being dragged over top of it. If the object can be dropped on the element, the drag session should be notified.</dd>
+ <dt>
+ ondragenter </dt>
+ <dd>
+ Called for an element when the mouse pointer first moves over the element while something is being dragged. This might be used to change the appearance of the element to indicate to the user that the object can be dropped on it.</dd>
+ <dt>
+ ondragexit </dt>
+ <dd>
+ Called for an element when the mouse pointer moves out of an element while something is being dragged. The is also called after a drop is complete so that an element has a chance to remove any highlighting or other indication.</dd>
+ <dt>
+ ondragdrop </dt>
+ <dd>
+ This event handler is called for an element when something is dropped on the element. At this point, the user has already released the mouse button. The element can simply ignore the event or can handle it some way, such as pasting the dragged object into itself.</dd>
+ <dt>
+ ondragend  </dt>
+ <dd>
+ Called when the drag operation is finished.</dd>
+</dl>
+<p>There are two ways that drag and drop events can be handled. This first involves using the drag and drop <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a> interfaces directly. The second is to use a <a href="/en/Drag_and_Drop_JavaScript_Wrapper" title="en/Drag_and_Drop_JavaScript_Wrapper">JavaScript wrapper</a> object that handles some of this for you. The code for this wrapper can be found in a file named <code><a href="https://dxr.mozilla.org/mozilla-central/source/toolkit/content/nsDragAndDrop.js nsDragAndDrop.js" rel="custom">toolkit/content/nsDragAndDrop.js nsDragAndDrop.js</a></code> which is contained in the widget-toolkit (or global) package.</p>
+<h3 id="XPCOM_Drag_and_Drop_interfaces" name="XPCOM_Drag_and_Drop_interfaces">XPCOM Drag and Drop interfaces</h3>
+<p>Two interfaces are used to support drag and drop. The first is a drag service, <a href="/en/XPCOM_Interface_Reference/nsIDragService" title="en/nsIDragService">nsIDragService</a> and the second is the drag session, <a href="/en/XPCOM_Interface_Reference/nsIDragSession" title="en/nsIDragSession">nsIDragSession</a>.</p>
+<p>The <a href="/en/XPCOM_Interface_Reference/nsIDragService" title="en/nsIDragService">nsIDragService</a> is responsible for creating drag sessions when a drag starts, and removing the drag session when the drag is complete. The function <code>invokeDragSession</code> should be called to start a drag inside an <code>ondraggesture</code> event handler. Once this function is called, a drag has started.</p>
+<p>The function invokeDragSession takes four parameters, as described below:</p>
+<pre class="eval">invokeDragSession(element,transferableArray,region,actions)
+</pre>
+<dl>
+ <dt>
+ element </dt>
+ <dd>
+ A reference to the element that is being dragged. This can be retrieved by getting the property <code>event.target</code> during the event handler.</dd>
+ <dt>
+ transferableArray </dt>
+ <dd>
+ An array of <a href="/en/NsITransferable" title="en/NsITransferable">nsITransferable</a> objects, one for each item being dragged. An array is used because you might want to drag several objects at once, such as a set of files.</dd>
+ <dt>
+ region </dt>
+ <dd>
+ A region used for feedback indication. This should usually be set to null.</dd>
+ <dt>
+ actions </dt>
+ <dd>
+ The actions that the drag uses. This should be set to one of the following constants, or several added together. The action can be changed during the drag depending on what is being dragged over.</dd>
+</dl>
+<dl>
+ <dt>
+ nsIDragService.DRAGDROP_ACTION_NONE </dt>
+ <dd>
+ <dl>
+ <dt>
+ Used to indicate that no drag is valid.</dt>
+ <dt>
+ nsIDragService.DRAGDROP_ACTION_COPY </dt>
+ <dd>
+ The item being dragged should be copied to its dropped location.</dd>
+ <dt>
+ nsIDragService.DRAGDROP_ACTION_MOVE </dt>
+ <dd>
+ The item being dragged should be moved to its dropped location.</dd>
+ <dt>
+ nsIDragService.DRAGDROP_ACTION_LINK </dt>
+ <dd>
+ A link (or shortcut or alias) to the item being dragged should be created in the dropped location.</dd>
+ </dl>
+ </dd>
+</dl>
+<p>The interface <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDragService" title="">nsIDragService</a></code> also provides the function <code>getCurrentSession</code> which can be called from within the drag event handlers to get and modify the state of the drag. The function returns an object that implements <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDragSession" title="">nsIDragSession</a></code>.</p>
+<p>The interface <a href="/en/XPCOM_Interface_Reference/nsIDragSession" title="en/nsIDragSession">nsIDragSession</a> is used to get and set properties of the drag that is currently occuring. The following properties and methods are available:</p>
+<dl>
+ <dt>
+ canDrop </dt>
+ <dd>
+ Set this property to <code>true</code> if the element the mouse is currently over can accept the object currently being dragged to be dropped on it. Set the value to <code>false</code> if it doesn't make sense to drop the object on it. This should be changed in the <code>ondragover</code> and <code>ondragenter</code> event handlers.</dd>
+ <dt>
+ dragAction </dt>
+ <dd>
+ Set to the current action to be performed, which should be one or more of the constants described earlier. This can be used to provide extra feedback to the user.</dd>
+ <dt>
+ numDropItems </dt>
+ <dd>
+ The number of items being dragged. For example, this will be set to 5 if five bookmarks are being dragged.</dd>
+ <dt>
+ getData(transfer,index) </dt>
+ <dd>
+ Get the data being dragged. The first argument should be an <a href="/en/NsITransferable" title="en/NsITransferable">nsITransferable</a> object to hold the data. The second argument, <code>index</code>, should be the index of the item to return.</dd>
+ <dt>
+ sourceDocument </dt>
+ <dd>
+ The document where the drag started.</dd>
+ <dt>
+ sourceNode </dt>
+ <dd>
+ The <a href="/en/DOM" title="en/DOM">DOM</a> node where the drag started.</dd>
+ <dt>
+ isDataFlavorSupported(flavor) </dt>
+ <dd>
+ Returns <code>true</code> if the data being dragged contains data of the specified flavor.</dd>
+</dl>
+<p></p><div class="prevnext" style="text-align: right;">
+ <p><a href="/ko/docs/Drag_and_Drop_JavaScript_Wrapper">다음 »</a></p>
+</div><p></p>
+<div class="originaldocinfo">
+ <h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
+ <ul>
+ <li>Author(s): <a class="link-mailto" href="mailto:enndeakin@sympatico.ca">Neil Deakin</a></li>
+ <li>Original Document:</li>
+ <li>Copyright Information: Copyright (C) <a class="link-mailto" href="mailto:enndeakin@sympatico.ca">Neil Deakin</a></li>
+ </ul>
+</div>
diff --git a/files/ko/archive/mozilla/firefox/index.html b/files/ko/archive/mozilla/firefox/index.html
new file mode 100644
index 0000000000..9e61c718ff
--- /dev/null
+++ b/files/ko/archive/mozilla/firefox/index.html
@@ -0,0 +1,8 @@
+---
+title: Firefox
+slug: Archive/Mozilla/Firefox
+translation_of: Archive/Mozilla/Firefox
+---
+<p>In progress. Out-of-date information about the Firefox project.</p>
+
+<p></p>
diff --git a/files/ko/archive/mozilla/firefox/using_microformats/index.html b/files/ko/archive/mozilla/firefox/using_microformats/index.html
new file mode 100644
index 0000000000..b7fcdf224f
--- /dev/null
+++ b/files/ko/archive/mozilla/firefox/using_microformats/index.html
@@ -0,0 +1,144 @@
+---
+title: Using microformats
+slug: Archive/Mozilla/Firefox/Using_microformats
+tags:
+ - Firefox 3
+ - Microformats
+translation_of: Archive/Mozilla/Firefox/Using_microformats
+---
+<p>{{ Fx_minversion_header(3) }}
+</p><p>마이크로포맷(Microformats)을 이용하면 문서 자체를 분석하는 방법을 알아야 할 필요없이 페이지의 정보에 대한 요약을 표시할 수 있도록 웹 사이트가 의미 데이터(semantic data)를 브라우저에 제공할 수 있습니다. Firefox 3는 마이크로포맷에 대한 접근을 제공하는 전역 <code>Microformats</code> 개체를 구현합니다. 이 개체와 API를 이용하면 마이크로포맷을 쉽게 찾고 읽을 수 있습니다.
+</p>
+<h2 id=".EB.A7.88.EC.9D.B4.ED.81.AC.EB.A1.9C.ED.8F.AC.EB.A7.B7_API_.EB.A1.9C.EB.93.9C.ED.95.98.EA.B8.B0" name=".EB.A7.88.EC.9D.B4.ED.81.AC.EB.A1.9C.ED.8F.AC.EB.A7.B7_API_.EB.A1.9C.EB.93.9C.ED.95.98.EA.B8.B0">마이크로포맷 API 로드하기</h2>
+<p><code>Microformats</code> 개체는 Firefox 3에 추가된 새로운 자바스크립트 로더를 이용하여 생성합니다. API를 사용하려면 먼저 개체를 로드해야 합니다:
+</p>
+<pre class="eval"><span class="nowiki">Components.utils.import("resource://gre/modules/Microformats.js");</span>
+</pre>
+<p>마이크로포맷 API를 로드하고 나면 아래에 나열한 메소드를 이용하여 마이크로포맷을 다룰 수 있습니다. 마이크로포맷을 파싱하는 방법에 대한 정보는 <a href="ko/Parsing_microformats_in_JavaScript">Parsing microformats in JavaScript</a>를 참고하십시오.
+</p>
+<h2 id=".EB.AF.B8.EB.A6.AC_.EC.A0.95.EC.9D.98.EB.90.9C_.EB.A7.88.EC.9D.B4.ED.81.AC.EB.A1.9C.ED.8F.AC.EB.A7.B7" name=".EB.AF.B8.EB.A6.AC_.EC.A0.95.EC.9D.98.EB.90.9C_.EB.A7.88.EC.9D.B4.ED.81.AC.EB.A1.9C.ED.8F.AC.EB.A7.B7">미리 정의된 마이크로포맷</h2>
+<p>Firefox 3는 몇 가지 일반적인 마이크로포맷을 구현한 정의를 제공합니다.
+</p>
+<dl><dt><code><a href="ko/The_adr_microformat">adr</a></code>
+</dt><dd>주소를 표시합니다.
+</dd><dt><code><a href="ko/The_geo_microformat">geo</a></code>
+</dt><dd>위도와 경도를 이용한 지리적 위치를 표시합니다.
+</dd><dt><code><a href="ko/The_hCard_microformat">hCard</a></code>
+</dt><dd>사람에 대한 연락 정보를 표시합니다.
+</dd><dt><code><a href="ko/The_hCalendar_microformat">hCalendar</a></code>
+</dt><dd>달력의 일정 항목을 표시합니다.
+</dd><dt><code><a href="ko/The_tag_microformat">tag</a></code>
+</dt><dd>다른 마이크로포맷에 태그를 추가하는데 사용합니다.
+</dd></dl>
+<h2 id=".EB.A9.94.EC.86.8C.EB.93.9C" name=".EB.A9.94.EC.86.8C.EB.93.9C">메소드</h2>
+<h3 id="add.28.29" name="add.28.29">add()</h3>
+<p>마이크로포맷 모듈에 새로운 마이크로포맷을 추가합니다.
+</p><p>{{ Note("지정한 이름을 가진 마이크로포맷이 이미 존재하면 새로운 것으로 바뀝니다.") }}
+</p>
+<pre class="eval">add(name, definition);
+</pre>
+<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98">매개변수</h6>
+<dl><dt>&lt;tt&gt;name&lt;/tt&gt;
+</dt><dd>마이크로포맷 모듈에 추가하려는 마이크로포맷의 이름.
+</dd><dt>&lt;tt&gt;definition&lt;/tt&gt;
+</dt><dd>마이크로포맷을 기술하는 자바스크립트 구조. 자세한 사항은 <a href="ko/Describing_microformats_in_JavaScript">Describing microformats in JavaScript</a>를 참고.
+</dd></dl>
+<h3 id="count.28.29" name="count.28.29">count()</h3>
+<p>지정한 조건을 만족하는 문서에 있는 마이크로포맷의 개수를 구합니다.
+</p>
+<pre class="eval">numMicroformats = Microformats.count(name, rootElement, recurseFrames);
+</pre>
+<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_2" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_2">매개변수</h6>
+<dl><dt>&lt;tt&gt;name&lt;/tt&gt;
+</dt><dd>검색하려는 마이크로포맷의 이름
+</dd><dt>&lt;tt&gt;rootElement&lt;/tt&gt;
+</dt><dd>검색을 시작할 DOM 요소. 전체 문서에서 검색하려면 <code>content.document</code>를 명시해야 합니다.
+</dd><dt>&lt;tt&gt;options&lt;/tt&gt;
+</dt><dd>선택사항. 아래 플래그를 포함하는 자바스크립트 개체:
+</dd></dl>
+<blockquote>
+<dl><dt>&lt;tt&gt;recurseExternalFrames&lt;/tt&gt;
+</dt><dd><code>true</code>이면 자식 프레임을 검색에 포함. 기본 값은 <code>true</code>.
+</dd><dt>&lt;tt&gt;showHidden&lt;/tt&gt;
+</dt><dd><code>true</code>이면 숨겨진 마이크로포맷을 추가하고 그렇지 않으면 생략. 기본 값은 <code>false</code>.
+</dd><dt>&lt;tt&gt;debug&lt;/tt&gt;
+</dt><dd>디버그 모드를 사용하려면 <code>true</code>로 지정하고 그렇지 않으면 <code>false</code>로 지정. 기본 값은 <code>false</code>.</dd></dl></blockquote> <h6 id=".EB.B0.98.ED.99.98_.EA.B0.92" name=".EB.B0.98.ED.99.98_.EA.B0.92">반환 값</h6>
+<p>지정한 조건을 만족하는 마이크로포맷 개수를 가리키는 정수 값.
+</p>
+<h3 id="debug.28.29" name="debug.28.29">debug()</h3>
+<p>마이크로포맷 개체를 설명하는 문자열을 반환합니다.
+</p><p>{{ Note("마이크로포맷 개체에 대해 <code>debug()</code>를 호출할 수 있습니다: 이 메소드 대신 <code>microformatObject.debug()</code>를 이용할 수도 있습니다.") }}
+</p>
+<pre class="eval">dumpString = debug(microformatObject)
+</pre>
+<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_3" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_3">매개변수</h6>
+<dl><dt>&lt;tt&gt;microformatObject&lt;/tt&gt;
+</dt><dd>정보를 표시할 마이크로포맷 개체.
+</dd></dl>
+<h6 id=".EB.B0.98.ED.99.98_.EA.B0.92_2" name=".EB.B0.98.ED.99.98_.EA.B0.92_2">반환 값</h6>
+<p>지정한 마이크로포맷 개체의 내용을 설명하는 문자열.
+</p>
+<h3 id="get.28.29" name="get.28.29">get()</h3>
+<p>지정한 조건에 따라 검색한 마이크로포맷에 해당하는 마이크로포맷 개체의 배열을 반환합니다.
+</p>
+<pre class="eval">microformatsArray = Microformats.get(name, rootElement, options, targetArray);
+</pre>
+<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_4" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_4">매개변수</h6>
+<dl><dt>&lt;tt&gt;name&lt;/tt&gt;
+</dt><dd>검색하려는 마이크로포맷의 이름
+</dd><dt>&lt;tt&gt;rootElement&lt;/tt&gt;
+</dt><dd>검색을 시작할 DOM 요소. 전체 문서에서 검색하려면 <code>content.document</code>를 명시해야 합니다.
+</dd><dt>&lt;tt&gt;options&lt;/tt&gt;
+</dt><dd>선택사항. 아래 플래그를 포함하는 자바스크립트 개체:
+</dd></dl>
+<blockquote>
+<dl><dt>&lt;tt&gt;recurseExternalFrames&lt;/tt&gt;
+</dt><dd><code>true</code>이면 자식 프레임을 검색에 포함. 기본 값은 <code>true</code>.
+</dd><dt>&lt;tt&gt;showHidden&lt;/tt&gt;
+</dt><dd><code>true</code>이면 숨겨진 마이크로포맷을 추가하고 그렇지 않으면 생략. 기본 값은 <code>false</code>.
+</dd><dt>&lt;tt&gt;debug&lt;/tt&gt;
+</dt><dd>디버그 모드를 사용하려면 <code>true</code>로 지정하고 그렇지 않으면 <code>false</code>로 지정. 기본 값은 <code>false</code>.</dd></dl></blockquote> <dl><dt>&lt;tt&gt;targetArray&lt;/tt&gt;
+</dt><dd>선택사항. 검색 결과를 추가할 마이크로포맷 개체의 배열.
+</dd></dl> <h6 id=".EB.B0.98.ED.99.98_.EA.B0.92_3" name=".EB.B0.98.ED.99.98_.EA.B0.92_3">반환 값</h6>
+<p>검색 조건을 만족하는 마이크로포맷 개체의 새로운 배열, 혹은 발견한 마이크로포맷 개체를 추가한 &lt;tt&gt;microformats&lt;/tt&gt;에서 지정한 배열.
+</p>
+<h3 id="getNamesFromNode.28.29" name="getNamesFromNode.28.29">getNamesFromNode()</h3>
+<p>지정한 마이크로포맷 노드에 해당하는 공백으로 구별되는 마이크로포맷 이름의 목록을 반환합니다.
+</p>
+<pre class="eval">nameList = Microformats.getNamesFromNode(node);
+</pre>
+<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_5" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_5">매개변수</h6>
+<dl><dt>&lt;tt&gt;node&lt;/tt&gt;
+</dt><dd>마이크로포맷 이름 목록을 구할 노드
+</dd></dl>
+<h6 id="Return_value" name="Return_value">Return value</h6>
+<p>지정한 노드가 마이크로포맷인 경우 노드에 해당하는 모든 마이크로포맷의 이름을 공백으로 구별하여 나열하는 문자열. 해당 노드가 마이크로포맷이 아닌 경우에는 아무것도 반환하지 않음.
+</p>
+<h3 id="getParent.28.29" name="getParent.28.29">getParent()</h3>
+<p>지정한 마이크로포맷이나 마이크로포맷 자식의 부모 노드를 반환합니다.
+</p>
+<pre class="eval">parentNode = Microformats.getParent(node);
+</pre>
+<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_6" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_6">매개변수</h6>
+<dl><dt>&lt;tt&gt;node&lt;/tt&gt;
+</dt><dd>부모 노드를 구할 노드
+</dd></dl>
+<h6 id=".EB.B0.98.ED.99.98_.EA.B0.92_4" name=".EB.B0.98.ED.99.98_.EA.B0.92_4">반환 값</h6>
+<p>지정한 노드의 부모. 지정한 노드가 마이크로포맷이 아니거나 마이크로포맷의 자식이 아닌 경우에는 아무것도 반환하지 않음.
+</p>
+<h3 id="isMicroformat.28.29" name="isMicroformat.28.29">isMicroformat()</h3>
+<p>지정한 DOM 노드가 마이크로포맷인지 구별합니다.
+</p>
+<pre class="eval">flag = Microformats.isMicroformat(node);
+</pre>
+<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_7" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_7">매개변수</h6>
+<dl><dt>&lt;tt&gt;node&lt;/tt&gt;
+</dt><dd>마이크로포맷 여부를 확인할 DOM 노드.
+</dd></dl>
+<h6 id=".EB.B0.98.ED.99.98_.EA.B0.92_5" name=".EB.B0.98.ED.99.98_.EA.B0.92_5">반환 값</h6>
+<p>노드가 마이크로포맷이면 <code>true</code>, 그렇지 않으면 <code>false</code>.
+</p><p>{{ Note("만약 노드가 마이크로포맷의 자식이면 이 메소드는 <code>true</code>를 반환하지 <i>않습니다</i>.") }}
+</p>
+<div class="noinclude">
+</div>
+{{ languages( { "en": "en/Using_microformats", "fr": "fr/Utilisation_de_microformats", "ja": "ja/Using_microformats", "pl": "pl/Zastosowanie_mikroformat\u00f3w" } ) }}
diff --git a/files/ko/archive/mozilla/index.html b/files/ko/archive/mozilla/index.html
new file mode 100644
index 0000000000..c6ccfa68f2
--- /dev/null
+++ b/files/ko/archive/mozilla/index.html
@@ -0,0 +1,10 @@
+---
+title: Archived Mozilla and build documentation
+slug: Archive/Mozilla
+tags:
+ - NeedsTranslation
+ - TopicStub
+translation_of: Archive/Mozilla
+---
+<p>These articles are archived, obsolete documents about Mozilla, Gecko, and the process of building Mozilla projects.</p>
+<p></p><dl><dt class="landingPageList"><a href="/ko/docs/Archive/Mozilla/Drag_and_drop">Drag and Drop</a></dt><dd class="landingPageList">This section describes how to implement objects that can be dragged around and dropped onto other objects.</dd><dt class="landingPageList"><a href="/ko/docs/XPInstall">XPInstall</a></dt><dd class="landingPageList"><span class="comment">Categories</span></dd></dl><p></p>
diff --git a/files/ko/archive/mozilla/rdf_datasource_how-to/index.html b/files/ko/archive/mozilla/rdf_datasource_how-to/index.html
new file mode 100644
index 0000000000..96509ff68a
--- /dev/null
+++ b/files/ko/archive/mozilla/rdf_datasource_how-to/index.html
@@ -0,0 +1,224 @@
+---
+title: RDF Datasource How-To
+slug: Archive/Mozilla/RDF_Datasource_How-To
+tags:
+ - RDF
+translation_of: Archive/Mozilla/RDF_Datasource_How-To
+---
+<div class="warning">
+ <p>이 문서는 최신의 정보를 포함하지 않을 수 있습니다. 가능하면 이 문서가 최신 정보로 유지될 수 있도록 도와주시기 바랍니다. <span class="comment">XPCOM 등록(registration) 부분과 "As of this writing, it is not currently possible to implement JavaScript XPCOM components" 부분이 최신 정보와 다른 것 같습니다. 전체 문서를 다 체크해 보지는 않았습니다.</span></p>
+</div>
+<p>이 문서는 Mozilla 의 <a href="ko/RDF">RDF</a> 구현과 함께 동작하는
+ <i>
+ 고유한(native), 클라이언트 측 데이터 소스</i>
+ 를 생성하는 방법을 설명하는 cookbook 문서입니다. 이 문서는 <a class="link-mailto" href="mailto:rjc@netscape.com">Robert Churchill</a> 이 작성한 <a class="external" href="http://www.mozilla.org/rdf/doc/rdfdatasources.html">원본 문서</a>를 대체하며 많은 부분은 원본 문서에서 가져온 것입니다.</p>
+<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.9E.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.9E.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F">데이터 소스란 무엇인가?</h3>
+<p>"RDF의 세계"는 인터넷
+ <i>
+ 자원</i>
+ 들을 설명하는
+ <i>
+ 문장</i>
+ (statement)으로 이루어진다. 예를 들어, "내 홈페이지의 최종 변경일은 4월 2일이다" 라던가 "이 뉴스 기사는 밥(Bob)이 보내온 것이다" 등이 있을 것이다. 가장 추상적인 단계에서 볼 때,
+ <i>
+ 데이터 소스</i>
+ 는 이러한 문장들의 모임(collection)이다.</p>
+<p>더 자세히 살펴보면, 데이터 소스는 어떤 정보를 RDF 문장의 모임으로
+ <i>
+ 변환</i>
+ 하는 역할을 한다. 예를 들어, "파일 시스템 데이터 소스"라면 파일 시스템 정보를 다음과 같은 문장들로 변환할 것이다: "/tmp 는 디렉토리이다", "/tmp/foo 는 /tmp 안에 포함되어 있다". "IMAP 데이터 소스"라면 IMAP 프로토콜을 이용하여 당신의 메일함에 있는 데이터를 다음과 같은 문장으로 변환할 것이다: "126번 메시지의 제목은 '인터넷으로 쉽게 돈벌기'이다", "126번 메시지를 보낸 사람은 <a class="link-mailto" href="mailto:'spammer128@hotmail.com'이다" rel="freelink">'spammer128@hotmail.com'이다</a>". "주소록 데이터 소스"라면 데이터베이스 파일을 다음과 같은 문장으로 변환할 것이다: "<a class="link-mailto" href="mailto:spammer128@hotmail.com의" rel="freelink">spammer128@hotmail.com의</a> 실제 이름은 'Billy Dumple'이다", "<a class="link-mailto" href="mailto:spammer128@hotmail.com은" rel="freelink">spammer128@hotmail.com은</a> '중요한 친구'이다".</p>
+<p>한 데이터 소스 내에 존재하는 문장은
+ <i>
+ composite datasource</i>
+ 를 사용해서 다른 데이터 소스에 있는 문장과 결합(combine)될 수 있다. IMAP 데이터 소스와 주소록 데이터 소스를 결합하면, 위의 예제에서 "126번 메시지"를 보낸 사람은 "중요한 친구"라는 것을 알 수 있다.</p>
+<h3 id=".EC.96.B4.ED.9C.98_.EC.84.A0.ED.83.9D.ED.95.98.EA.B8.B0" name=".EC.96.B4.ED.9C.98_.EC.84.A0.ED.83.9D.ED.95.98.EA.B8.B0">어휘 선택하기</h3>
+<p>
+ <i>
+ 어휘</i>
+ (vocabulary)는 데이터 모델 내에서 원소(자원이나 문자열)들간의 관계를 표현하기 위해 사용하는 속성들의 집합입니다. 제일 먼저 생각해야 할 것은 '기존의 어휘를 사용해야 할지? 아니면 새로운 어휘를 만들어야 할지?'에 대한 것입니다.
+ <i>
+ 반드시</i>
+ 새로운 어휘를 만들어야 필요가 있는 경우가 아니라면 당연히 기존의 어휘를 쓰는 것이 좋습니다. 그러면 당신이 만든 데이터 소스를 손쉽게 다른 데이터 소스와 통합할 수 있게 됩니다.</p>
+<p>이미 만들어진 다음과 같은 여러 종류의 어휘들이 있습니다.</p>
+<ul>
+ <li><a class="external" href="http://www.w3.org/TR/PR-rdf-schema/">RDF 스키마(Schema) 명세</a>. 이 어휘는 다른 어휘들을 설명하기 위한 "메타 어휘(meta vocabulary)"입니다.</li>
+ <li><a class="external" href="http://purl.oclc.org/dc/">더블린 코어(The Dublin Core)</a>. 이 어휘는 웹 상의 자원(electronic resouces)들을 설명하기 위해 사용되는 어휘입니다. 여기에는 작성자, 주제, 공개일(출판일) 등의 원소가 포함됩니다.</li>
+</ul>
+<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0.EB.A5.BC_.EB.85.B8.EB.93.9C.EC.99.80_.EC.95.84.ED.81.AC.28arc.29.EB.A1.9C_.EB.A7.A4.ED.95.91.ED.95.98.EA.B8.B0" name=".EB.8D.B0.EC.9D.B4.ED.84.B0.EB.A5.BC_.EB.85.B8.EB.93.9C.EC.99.80_.EC.95.84.ED.81.AC.28arc.29.EB.A1.9C_.EB.A7.A4.ED.95.91.ED.95.98.EA.B8.B0">데이터를 노드와 아크(arc)로 매핑하기</h3>
+<p><b>{{ mediawiki.external('write me!') }}</b></p>
+<h3 id="nsIRDFDataSource_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_.EA.B5.AC.ED.98.84.ED.95.98.EA.B8.B0" name="nsIRDFDataSource_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_.EA.B5.AC.ED.98.84.ED.95.98.EA.B8.B0">&lt;tt&gt;nsIRDFDataSource&lt;/tt&gt; 인터페이스 구현하기</h3>
+<p>가장 먼저 해야할 일은 &lt;tt&gt;<a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/base/idl/nsIRDFDataSource.idl">nsIRDFDataSource</a>&lt;/tt&gt; 인터페이스를 구현하는 일입니다. 이를 위한 두 가지 기본적인 방법이 있습니다:</p>
+<ol>
+ <li>
+ <p>
+ <i>
+ 내부 프록시(inner proxy)에 위임(delegate)하기</i>
+ . 예를 들면, &lt;tt&gt;nsIRDFDataSource&lt;/tt&gt; 인터페이스를 구현한 일반적인 데이터 소스인
+ <i>
+ 메모리 상의 데이터 소스(in-memory datasource)</i>
+ 에 위임할 수 있습니다.</p>
+ <p>일반적으로, 해당 저장 장치(즉, 데이터 파일)를 위한 구문 분석기(parser)를 제공해야 합니다. 구문 분석기는 데이터 파일을 메모리 상의 데이터 소스로 구성하기 위한 일련의 &lt;tt&gt;Assert()&lt;/tt&gt; 문으로 변환합니다. &lt;tt&gt;Flush()&lt;/tt&gt; 문이 호출되거나, 데이터 소스에 대한 마지막 참조가 해제되는 경우에는 메모리 상의 데이터 소스를 순환하여 그래프(데이터)를 원래의 파일 형식으로 다시 저장합니다(re-serialize). 아래의 예제를 살펴보기 바랍니다. <a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/base/src/nsRDFXMLDataSource.cpp">RDF/XML 데이터 소스</a> 혹은 <a class="external" href="http://lxr.mozilla.org/seamonkey/source/xpfe/components/bookmarks/src/nsBookmarksService.cpp">북마크 데이터 소스</a>.</p>
+ <p>기존의 데이터들을 "래핑"(wrapping)하기 위한 목적이라면 이 구현 방식을 선택하면 됩니다. 이 구현은 기존의 데이터 저장 공간이 다른 에이전트들에 의해 "동적으로"(on-the-fly) 변경되고 있다면 문제를 일으킬 수도 있습니다.</p>
+ </li>
+ <li>
+ <p>
+ <i>
+ 메모리 상의 데이터 소스를 모으기(aggregate)</i>
+ . 이 방법은 위임의 극단적인 경우로서, XPCOM
+ <i>
+ 모음</i>
+ (aggregation)을 이용하여 &lt;tt&gt;nsIRDFDataSource&lt;/tt&gt; 인터페이스를 구현하는 것입니다. 기술적인 자세한 사항은 <a href="ko/Aggregating_the_In-Memory_Datasource">메모리 상의 데이터 소스 모으기</a> 문서를 참고하기 바랍니다.</p>
+ <p>이 방법은 선택한다면, &lt;tt&gt;nsIRDFDataSource&lt;/tt&gt; 인터페이스의 메소드들을 선택적으로 구현할 수 없으며, 대신
+ <i>
+ 모든</i>
+ 메소드들은 메모리 상의 데이터 소스로 보내져야 합니다(forwarding). 이것은 당신이 가진 데이터 소스들이 "읽기 전용"인 경우에 유용하며 &lt;tt&gt;Assert()&lt;/tt&gt; 등의 메소드를 이용한 데이터의 변경에 대한 걱정이 필요없게 됩니다.</p>
+ </li>
+ <li>
+ <p>
+ <i>
+ 직접 인터페이스를 구현하기</i>
+ . 이 방법을 선택한다면, &lt;tt&gt;nsIRDFDataStore&lt;/tt&gt; 인터페이스의 모든 메소드들을 "직접" 구현해야 합니다. 비록 이 방법에는 더 많은 작업이 요구되지만, 이것은 다른 외부 에이전트들에 의해 변경될 수 있는 "라이브"(live) 데이터 소스를 생성하기 위한 유일한 방법입니다.</p>
+ <p><a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/datasource/src/nsFileSystemDataSource.cpp">파일 시스템 데이터 소스</a>와 <a class="external" href="http://lxr.mozilla.org/seamonkey/source/mailnews/local/src/nsMSGFolderDataSource.cpp">로컬 메일 데이터 소스</a> 는 이 방법을 이용해 구현된 좋은 예제입니다.</p>
+ <p>만약 당신의 데이터 소스가 "라이브" 데이터 소스 - 새로운 메일이 도착하는 것과 같이 외부 에이전트에 의해 데이터가 변경될 수 있는 데이터 소스 - 라면 이 방법을 선택해야 합니다. 또한 데이터 소스가 (전체 파일 시스템 구조와 같이) 아주 크고 많은 데이터를 위해 모델링된 경우에도 이 방법을 선택해야 합니다.</p>
+ </li>
+</ol>
+<p><b>{{ mediawiki.external('각 방법들에 필요한 더 많은 정보가 제공되어야 함') }}</b></p>
+<h4 id="RDF_.EC.BB.A4.EB.A7.A8.EB.93.9C" name="RDF_.EC.BB.A4.EB.A7.A8.EB.93.9C">RDF 커맨드</h4>
+<p><b>{{ mediawiki.external('커맨드의 종류와 커맨드를 구현한 이유 등을 설명') }}</b></p>
+<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EC.BB.B4.ED.8F.AC.EB.84.8C.ED.8A.B8_.EB.93.B1.EB.A1.9D.ED.95.98.EA.B8.B0" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EC.BB.B4.ED.8F.AC.EB.84.8C.ED.8A.B8_.EB.93.B1.EB.A1.9D.ED.95.98.EA.B8.B0">데이터 소스 컴포넌트 등록하기</h3>
+<p>데이터 소스는 <a href="ko/XPCOM">XPCOM</a> 컴포넌트입니다. 따라서 다음과 같은 특징을 가집니다.</p>
+<ol>
+ <li>데이터 소스 구현체를 구분(identify)하기 위한 XPCOM
+ <i>
+ CLSID</i>
+ </li>
+ <li>DLL 내에 코드가 존재하는 (CLSID에 대응하는) 구현 클래스. DLL은 XPCOM &lt;tt&gt;components&lt;/tt&gt; 디렉토리 내에 존재해야 함.</li>
+ <li>저장소 내에 존재(instantiate)하기 위해 XPCOM
+ <i>
+ ProgID</i>
+ 에
+ <i>
+ 등록</i>
+ 할
+ <i>
+ 팩토리</i>
+ (factory)</li>
+</ol>
+<p>컴포넌트를 위해 DLL을 구성하는 방법에 대한 것은 이 문서의 범위를 넘어가므로 생략합니다. 이에 대한 내용은 <a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/build/nsRDFFactory.cpp">the RDF factory</a>를 참조해 보기 바랍니다.</p>
+<p>RDF 데이터 소스를 등록하는 것은 꽤 간단합니다. DLL의 &lt;tt&gt;NSRegisterSelf()&lt;/tt&gt; 메소드에서
+ <i>
+ 컴포넌트 관리자</i>
+ 의 &lt;tt&gt;RegisterComponent()&lt;/tt&gt; 메소드를 호출하기만 하면 됩니다.</p>
+<pre class="eval">extern "C" PR_IMPLEMENT(nsresult)
+NSRegisterSelf(nsISupports* aServiceManager, const char* aPath)
+{
+ nsresult rv;
+ ...
+ // compMgr 는 컴포넌트 관리자 객체를 참조하고 있다고 가정합니다.
+ rv = compMgr-&gt;RegisterComponent(kMyDataSourceCID,
+ "My Data Source",
+ NS_RDF_DATASOURCE_PROGID_PREFIX "my-datasource",
+ aPath, PR_TRUE, PR_TRUE);
+ ...
+}
+</pre>
+<p>&lt;tt&gt;kMyDataSourceCID&lt;/tt&gt; 를 당신의 CLSID 로 대체하고 &lt;tt&gt;"My Data Source"&lt;/tt&gt; 부분을 저장소에 표시될 데이터 소스에 대한 설명을 포함하는 문장으로 대체합니다. 마지막으로, &lt;tt&gt;"my-datasource"&lt;/tt&gt; 를 당신의 데이터 소스에 알맞은 값으로 바꿉니. 이 값은 &lt;tt&gt;"rdf:"&lt;/tt&gt; 라는 접두어가 붙은 경우
+ <i>
+ 데이터 소스 ID</i>
+ 가 되고, &lt;tt&gt;<a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/base/idl/nsRDFInterfaces.idl#384">nsIRDFService::GetDataSource()</a>&lt;/tt&gt; 메소드를 이용하여 RDF 서비스로부터 당신의 데이터 소스를 얻어오기 위해 사용됩니다. 예를 들어 위의 데이터 소스는 아래와 같은 방법으로 접근할 수 있습니다.</p>
+<pre class="eval">nsIRDFService* rdf;
+rv = nsServiceManager::GetService(kRDFServiceCID,
+ kIRDFServiceIID,
+ (nsISupports**) &amp;rdf);
+
+if (NS_SUCCEEDED(rv)) {
+ nsIRDFDataSource* myDataSource;
+ rv = rdf-&gt;GetDataSource("rdf:my-datasource",
+ &amp;myDataSource);
+
+ if (NS_SUCCEEDED(rv)) {
+ // 이 부분에서 myDataSource 를 이용하여 원하는 작업을 수행합니다...
+ NS_RELEASE(myDataSource);
+ }
+ nsServiceManager::ReleaseService(kRDFServiceCID, rdf);
+}
+</pre>
+<h3 id="RDF.EC.9D.98_.EB.82.B4.EC.9A.A9.EC.9D.84_.ED.91.9C.EC.8B.9C.ED.95.98.EA.B8.B0" name="RDF.EC.9D.98_.EB.82.B4.EC.9A.A9.EC.9D.84_.ED.91.9C.EC.8B.9C.ED.95.98.EA.B8.B0">RDF의 내용을 표시하기</h3>
+<p>지금까지 당신이 가지고 있는 정보를 데이터 소스로 표현하기 위해 험난한 길을 헤져 왔다면, 이제 그 정보를 프로그램 상에
+ <i>
+ 표시</i>
+ 하고 싶을 것입니다. <a class="external" href="http://www.mozilla.org/xpfe/languageSpec.html">XUL</a>을 이용하면, 데이터 소스의 내용을
+ <i>
+ 트리 컨트롤</i>
+ 혹은
+ <i>
+ 메뉴</i>
+ 또는
+ <i>
+ 툴바</i>
+ 에 표시할 수 있습니다. 사실, <a href="ko/XUL/Template_Guide">XUL 템플릿</a>을 이용하면
+ <i>
+ 어떠한</i>
+ 형태의 컨텐트 모델에도 RDF 의 내용을 표시할 수 있습니다.</p>
+<p>다음의 XUL 코드는 데이터 소스가 설명하는 자원(&lt;tt&gt;<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>&lt;/tt&gt;)을 "루트"로 하는 트리 컨트롤을 생성하는 방법을 설명합니다.</p>
+<pre class="eval">&lt;window
+ xmlns:html="<a class="external" href="http://www.w3.org/1999/xhtml" rel="freelink">http://www.w3.org/1999/xhtml</a>"
+ xmlns:rdf="<a class="external" href="http://www.w3.org/TR/WD-rdf-syntax#" rel="freelink">http://www.w3.org/TR/WD-rdf-syntax#</a>"
+ xmlns="<a class="external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a>"&gt;
+
+ &lt;tree <b>datasources="rdf:my-datasource" ref="<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>"</b>&gt;
+ <b>&lt;template&gt;</b>
+ <b>&lt;treechildren&gt;</b>
+ <b>&lt;treeitem uri="..."&gt;</b>
+ <b>&lt;treerow&gt;</b>
+ <b>&lt;treecell&gt;</b>
+ <b>&lt;text value="rdf:<a class="external" href="http://home.netscape.com/NC-rdf#Name" rel="freelink">http://home.netscape.com/NC-rdf#Name</a>" /&gt;</b>
+ <b>&lt;/treecell&gt;</b>
+ <b>&lt;treecell&gt;</b>
+ <b>&lt;text value="rdf:<a class="external" href="http://home.netscape.com/NC-rdf#URL" rel="freelink">http://home.netscape.com/NC-rdf#URL</a>" /&gt;</b>
+ <b>&lt;/treecell&gt;</b>
+ <b>&lt;/treerow&gt;</b>
+ <b>&lt;/treeitem&gt;</b>
+ <b>&lt;/treechildren&gt;</b>
+ <b>&lt;/template&gt;</b>
+
+ &lt;treehead&gt;
+ &lt;treeitem&gt;
+ &lt;treecell&gt;Name&lt;/treecell&gt;
+ &lt;treecell&gt;URL&lt;/treecell&gt;
+ &lt;/treeitem&gt;
+ &lt;/treehead&gt;
+
+ &lt;!-- treechildren은 여기에 빌드되어 있습니다. --&gt;
+ &lt;/tree&gt;
+
+&lt;/window&gt;
+</pre>
+<p>위에서 굵은 글씨로 표시된 중요한 "매직 속성"들은 다음과 같습니다:</p>
+<ul>
+ <li>
+ <p>&lt;tt&gt;datasources="rdf:my-datasource"&lt;/tt&gt;. 이것은 공백 문자로 구분되는 (위에서 설명한) 내부의 XPCOM 데이터 소스 "ID" 와 로컬이나 원격 RDF/XML 문서의 URI 들을 포함합니다. 목록에 포함된 각 데이터 소스는 로드되어 데이터 소스 내에 포함된 어서션(assertion)들이 트리 콘트롤을 구성하여 표시될 것입니다.</p>
+ </li>
+ <li>
+ <p>&lt;tt&gt;ref="<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>"&lt;/tt&gt;. 이것은 당신의 컨텐츠 모델 내의 그래프의 루트가 됩니다. &lt;tt&gt;tree&lt;/tt&gt; 태그는 &lt;tt&gt;<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>&lt;/tt&gt; 라는 값의 &lt;tt&gt;ID&lt;/tt&gt; 속성을 가진 것처럼 처리됩니다.</p>
+ </li>
+ <li>
+ <p>&lt;tt&gt;&lt;template&gt;...&lt;/template&gt;&lt;/tt&gt;. 그래프로 부터 컨텐츠를 구성하는 XUL
+ <i>
+ 템플릿</i>
+ 입니다. &lt;tt&gt;tree&lt;/tt&gt; 원소에 해당하는 자원(여기서는 &lt;tt&gt;<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>&lt;/tt&gt;에 해당합니다)을 지정하는 것으로 시작해서, 그래프를 순회하여 &lt;tt&gt;template&lt;/tt&gt; 태그 내에 지정된 패턴들을 사용해서 컨텐츠를 구성합니다.</p>
+ </li>
+</ul>
+<p>RDF에서 어떻게 컨텐츠가 구성되는지에 대한 자세한 설명을 원한다면 <a href="ko/XUL/Template_Guide">XUL 템플릿 가이드</a> 문서를 살펴보기 바랍니다.</p>
+<hr>
+<p><br>
+ 연락처: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a> <a class="link-mailto" href="mailto:(waterson@netscape.com)" rel="freelink">(waterson@netscape.com)</a></p>
+<div class="originaldocinfo">
+ <h2 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4">원본 문서 정보</h2>
+ <ul>
+ <li>저자: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li>
+ <li>최종 변경일: 2000년 6월 19일</li>
+ <li>저작권: Copyright (C) <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li>
+ </ul>
+</div>
+<p> </p>
diff --git a/files/ko/archive/mozilla/xbl/index.html b/files/ko/archive/mozilla/xbl/index.html
new file mode 100644
index 0000000000..1dcff4d284
--- /dev/null
+++ b/files/ko/archive/mozilla/xbl/index.html
@@ -0,0 +1,32 @@
+---
+title: XBL
+slug: Archive/Mozilla/XBL
+tags:
+ - XBL
+translation_of: Archive/Mozilla/XBL
+---
+<p><b>XML Binding Language</b>(<b>XBL</b>, 종종 Extensible Bindings Language로도 불림)는 다른 문서의 요소에 덧붙일 수 있는 바인딩을 기술하는 언어입니다. 바인딩이 덧붙는 요소는 "바운드 요소"라 부르고 바인딩이 지정한 새 behavior를 얻습니다.</p>
+<p>바인딩은 바운드 요소에 등록되는 이벤트 핸들러, 바운드 요소로부터 접근하게 되는 새 메소드와 특성(property)의 구현, 바운드 요소 아래에 끼워 넣는 익명(anonymous) 컨텐트를 포함할 수 있습니다.</p>
+<p>대다수의 <a href="ko/XUL">XUL</a> 위젯이 적어도 일부분은 XBL를 써서 구현됩니다. XBL을 써서 기존 <a href="ko/XUL">XUL</a>, <a href="ko/HTML">HTML</a>, <a href="ko/SVG">SVG</a>, 그 밖의 다른 원시 요소(primitive)에서 재사용 가능한 위젯을 빌드할 수 있습니다.</p>
+<h3 id=".EB.AA.85.EC.84.B8" name=".EB.AA.85.EC.84.B8">명세</h3>
+<p>XBL 1.0은 <a href="ko/XBL/XBL_1.0_Reference">XBL 1.0 레퍼런스</a>에 명기되어 있습니다. 불행하게도, Mozilla의 실제 구현은 명세와 다르며 그 차이를 기술한 문서는 아직 알려지지 않았습니다. 레퍼런스가 이 차이를 기술하도록 갱신되기를 희망합니다.</p>
+<p>XBL 1.0은 Mozilla만의 기술이고 <a class="external" href="http://w3.org/">W3C</a> 표준이 아닙니다. 그러나, 적어도 두 개의 표준(sXBL과 XBL 2.0)이 작업 중에 있습니다.</p>
+<ul>
+ <li>W3C <a class="external" href="http://w3.org/TR/sXBL/">sXBL</a>(현재 working draft)은
+ <i>
+ SVG's XML Binding Language</i>
+ 를 뜻합니다. <a href="ko/SVG">SVG</a>에 필요한 XBL 2.0 기능의 부분 집합(subset)을 포함할 예정입니다. Mozilla의 XBL과 비슷한 목적을 가지고 있으나 미묘한(또 그리 미묘하지 않은) 차이가 몇 가지 있습니다. 예를 들면, 요소의 이름이 다릅니다. 또한 sXBL은 바인딩 상속과 바운드 요소에 메소드/속성을 정의하는 것 같이 XBL에 있는 몇몇 기능이 빠져 있습니다.</li>
+</ul>
+<ul>
+ <li><a class="external" href="http://www.mozilla.org/projects/xbl/xbl2.html">XBL 2.0</a>(<a class="external" href="http://w3.org/TR/XBL/">W3C working draft</a>)은 XBL 1.0에서 발견한 문제점을 처리하고 더 많은 웹 브라우저를 지원하도록 개발하고 있습니다.</li>
+</ul>
+<p>sXBL과 XBL2 사이의 차이는 <a class="external" href="http://annevankesteren.nl/2005/11/xbl">Anne van Kesteren의 글</a>에 나열되어 있습니다.</p>
+<h3 id=".EB.8D.94_.EB.B3.B4.EA.B8.B0" name=".EB.8D.94_.EB.B3.B4.EA.B8.B0">더 보기</h3>
+<ul>
+ <li><a href="ko/XUL_Tutorial/Introduction_to_XBL">Introduction to XBL</a> from the <a href="ko/XUL_Tutorial">XUL Tutorial</a>.</li>
+ <li><a class="external" href="http://mb.eschew.org/15.php">XBL chapter</a> of <a class="external" href="http://mb.eschew.org/">"Rapid Application Development with Mozilla"</a></li>
+</ul>
+<ul>
+ <li><a>More XBL resources...</a></li>
+</ul>
+<p></p>
diff --git a/files/ko/archive/mozilla/xbl/xbl_1.0_reference/elements/index.html b/files/ko/archive/mozilla/xbl/xbl_1.0_reference/elements/index.html
new file mode 100644
index 0000000000..9f0eab90c9
--- /dev/null
+++ b/files/ko/archive/mozilla/xbl/xbl_1.0_reference/elements/index.html
@@ -0,0 +1,387 @@
+---
+title: Elements
+slug: Archive/Mozilla/XBL/XBL_1.0_Reference/Elements
+translation_of: Archive/Mozilla/XBL/XBL_1.0_Reference/Elements
+---
+<p> </p>
+<h2 id="bindings" name="bindings">bindings</h2>
+<p><span class="comment">This section is tested and adjusted for the current Firefox implementation. Please edit only if an actual behavior differs from the described one. Please do not edit only on the basis of another XBL specification.</span></p>
+<pre>&lt;!ELEMENT bindings ( binding* ) &gt;
+
+Hierarchy: root element
+May contain: &lt;binding&gt;
+</pre>
+<p>The <code>bindings</code> element is the root element of any XBL document. It should usually declare XBL as the default namespace (unless an XBL namespace prefix is used) and it may additionally declare other namespace prefixes used in your binding.</p>
+<p><code>bindings</code> contains zero or more <code><a href="ko/XBL/XBL_1.0_Reference/Elements#binding">binding</a></code> elements as children. Each <code><a href="ko/XBL/XBL_1.0_Reference/Elements#binding">binding</a></code> child element defines a unique binding that can be attached to elements in other documents.</p>
+<p>An element can have only one binding attached (explicitly or inherited) at one moment. From several bindings only the last in the sequence will be used (like with any CSS rule).</p>
+<pre>HelloWorld example:
+
+&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;title&gt;Hello world!&lt;/title&gt;
+&lt;style type="text/css"&gt;
+p {
+ -moz-binding: url(hello.xml#default);
+}
+#p03 {
+ -moz-binding: url(hello.xml#hello2);
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body
+
+ &lt;p&gt;Default content&lt;/p&gt;
+ &lt;p&gt;Default content&lt;/p&gt;
+ &lt;p id="p03"&gt;Default content&lt;/p&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+
+// hello.xml
+
+&lt;?xml version="1.0"?&gt;
+&lt;bindings xmlns="http://www.mozilla.org/xbl"
+ xmlns:html="http://www.w3.org/1999/xhtml"&gt;
+ &lt;binding id="default"&gt;
+ &lt;content&gt;&lt;html:b&gt;Hello world! &lt;/html:b&gt;&lt;children/&gt;&lt;/content&gt;
+ &lt;/binding&gt;
+ &lt;binding id="hello2"&gt;
+ &lt;content&gt;&lt;html:b&gt;Hello from my binding! &lt;/html:b&gt;&lt;children/&gt;&lt;/content&gt;
+ &lt;/binding&gt;
+&lt;/bindings&gt;
+</pre>
+<p><a class="external" href="http://www.nskom.com/external/xbl/mdc/HelloWorld.html">View this example</a></p>
+<p>Next: <code>&lt;big&gt;bindings &gt; <a href="ko/XBL/XBL_1.0_Reference/Elements#binding">binding</a>&lt;/big&gt;</code> element.</p>
+<h3 id="Notes" name="Notes">Notes</h3>
+<ul>
+ <li>In the current stable releases of Mozilla products (e.g. Firefox 2) it is impossible to attach bindings to table sub-elements (rows, cells etc.) You can attach binding only to the table element itself. This has been fixed for future versions of Mozilla products. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=83830" title="FIXED: Binding TD cells (with XBL) doesn't work, at all">bug 83830</a> for more information and for workarounds.</li>
+ <li>Default encoding in XML documents (including XBL files) is UTF-8. An explicit encoding declarations may be present to override the default, for example <code>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;</code></li>
+ <li>URI in namespace declarations is an opaque string used to uniquely identify the namespace. It doesn't have to (and often it doesn't) point to some actual schema or a namespace-related resource. <a class="external" href="http://www.w3.org/TR/REC-xml-names/#ns-decl">Namespaces in XML</a></li>
+ <li>Besides the default namespace, you can declare any amount of additional namespaces to handle your content. The most useful namespaces could be HTML/XHTML, <a href="ko/XUL">XUL</a> (XML User Interface Language), <a href="ko/SVG">SVG</a> (Scalable Vector Graphics) and <a class="external" href="http://www.w3.org/TR/xlink/">XLink</a>. This way a more-or-less universal namespace declaration in your <code>bindings</code> could be like:</li>
+</ul>
+<pre>&lt;bindings xmlns="http://www.mozilla.org/xbl"
+ xmlns:html = "http://www.w3.org/1999/xhtml"
+ xmlns:xul = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:svg = "http://www.w3.org/2000/svg"
+ xmlns:xlink= "http://www.w3.org/1999/xlink"&gt;
+</pre>
+<h2 id=".EB.B0.94.EC.9D.B8.EB.94.A9" name=".EB.B0.94.EC.9D.B8.EB.94.A9">바인딩</h2>
+<pre>&lt;!ENTITY % binding-content "(resources?,content?,implementation?,handlers?)"&gt;
+&lt;!ELEMENT binding %binding-content;&gt;
+&lt;!ATTLIST binding
+ id ID #REQUIRED
+ extends CDATA #IMPLIED
+ display CDATA #IMPLIED
+ inheritstyle true #IMPLIED
+&gt;
+</pre>
+<p><code>binding</code> 요소는 단일 XBL 바인딩을 기술합니다. XBL 바인딩은 HTML/XML 요소에
+ <i>
+ <a href="ko/XBL/XBL_1.0_Reference/Elements#_content">anonymous content</a></i>
+ ,
+ <i>
+ <a href="ko/XBL/XBL_1.0_Reference/Elements#field">fields</a></i>
+ ,
+ <i>
+ <a href="ko/XBL/XBL_1.0_Reference/Elements#property">properties</a></i>
+ ,
+ <i>
+ <a href="ko/XBL/XBL_1.0_Reference/Elements#method">methods</a></i>
+ ,
+ <i>
+ <a href="ko/XBL/XBL_1.0_Reference/Elements#handlers">event handlers</a></i>
+ 를 추가할 수 있습니다.</p>
+<p>단일 XBL 바인딩은 스타일 시트나 스크립팅을 사용하여 요소에 붙일 수 있습니다 (&lt;table&gt;에 특정한 사항은 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=83830" title="FIXED: Binding TD cells (with XBL) doesn't work, at all">bug 83830</a>를 참고하십시오).</p>
+<p>CSS:</p>
+<pre>div {
+ -moz-binding: url(myBinding.xml#default);
+}
+</pre>
+<p>DOM:</p>
+<pre>elementReference.style.MozBinding = "url(myBinding.xml#default}";
+</pre>
+<p>위의 두 가지 경우 모두는 <code>myBinding.xml</code>에 포함된 <code>id="default"</code>를 가진 바인딩을 사용하고 있습니다.</p>
+<p> Firefox 3부터는 바인딩을 인라인으로 삽입하기 위해 <code>data:</code> URL을 사용할 수 있습니다.</p>
+<pre>div {
+ -moz-binding: url(data:text/xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%3F%3E%0A%3Cbindings%20id%3D%22xbltestBindings%22%20xmlns%3D%22http%3A//www.mozilla.org/xbl%22%3E%0A%20%20%3Cbinding%20id%3D%22xbltest%22%3E%3Ccontent%3EPASS%3C/content%3E%3C/binding%3E%0A%3C/bindings%3E%0A);
+}
+</pre>
+<p><code>data:</code> URL은 부분 식별자(fragment identifier)를 지원하지 않기 때문에 대신 삽입된 XML에서 발견한 첫 번째 바인딩을 사용합니다. 바인딩은 참조하지 않더라도 아이디가 있어야 한다는 점을 염두해 두십시오.</p>
+<p>앞선 예제의 삽입된 XML은 다음과 같습니다.</p>
+<pre>&lt;?xml version="1.0"?&gt;
+&lt;bindings id="xbltestBindings" xmlns="http://www.mozilla.org/xbl"&gt;
+ &lt;binding id="xbltest"&gt;&lt;content&gt;PASS&lt;/content&gt;&lt;/binding&gt;
+&lt;/bindings&gt;
+</pre>
+<p>CSS 선언만이 바인딩을 임의의 요소 집합에 붙이는 쉬운 방법을 제공합니다. 이는 또한 스크립팅이 비할성화되어 있을 때 바인딩이 부분적으로 동작하게 만듭니다. 이 경우 모든 메소드와 핸들러는 차단되지만 익명의 내용과 스타일은 계속 사용됩니다. 그러므로 실행 중에 개별 요소에 바인딩을 추가할 필요가 없다면 항상 CSS 선언을 사용해야 합니다.</p>
+<p><code>binding</code> 요소는 <a href="ko/XBL/XBL_1.0_Reference/Elements#resources">resources</a> 태그, <a href="ko/XBL/XBL_1.0_Reference/Elements#_content">content</a> 태그, <a href="ko/XBL/XBL_1.0_Reference/Elements#implementation">implementation</a> 태그, <a href="ko/XBL/XBL_1.0_Reference/Elements#handlers">handlers</a> 태그를 포함할 수 있습니다.</p>
+<ul>
+ <li><code><b>id</b></code> - <code>id</code> 속성은 문서에서 유일한(document-unique) 식별자입니다. <code>binding</code> 요소에서 이 속성은 바인딩을 붙이는데 사용되므로 꼭 필요합니다.</li>
+ <li><code><b>extends</b></code> - <code>extends</code> 속성은 이 바인딩이 물려 받은 바인딩의 URL을 지정하는데 사용합니다 (<a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Inheritance_of_Implementations">Inheritance of Implementations</a> 참고). URL은 특정한 바인딩 문서를 지정합니다. 바인딩 문서 내에서 특정 바인딩 <code>id</code>를 가리키려면 # 표시를 꼭 사용해야 합니다. 내용은 상속할 수 없으며 동작만 상속된다는 점에 주의하십시오.</li>
+ <li><code><b>display</b></code> - 이 속성은 태그가 표시되는 방법을 지정합니다. 이 속성을 지정함으로써 기존 요소의 레이아웃과 표시 특성을 가진 요소를 가질 수 있습니다. 예를 들어, 'xul:button' 값을 사용하면 버튼처럼 표시되는 요소를 생성할 수 있습니다. 콜론 이전의 부분은 이름 공간 접두어이므로 XUL 이름 공간도 정의해야 합니다. 다음 XML 표시 형식을 사용할 수 있습니다: browser, button, checkbox, description, editor, grippy, iframe, image, label, menu, menuitem, menubar, progressmeter, radio, resizer, scrollbar, scrollbox, spacer, splitter, titlebar, treechildren, treecol. 또한 다수의 HTML, MathML, SVG 태그를 사용할 수 있습니다. 'display' 속성은 <code>extends</code> 속성이 지정되지 않으면 동작하지 않는데, 이는 버그 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=119389" title="display= doesn't work if extends= is not present">bug 119389</a>를 참고하십시오. 이러한 경우에는 <code>display</code> 속성의 값을 <code>extends</code>에 넣으십시오.</li>
+ <li><code><b>inheritstyle</b></code> - <code>inheritstyle</code> 속성은 문서의 스타일 규칙이 XBL 바인딩이 생성한 익명의 내용에 영향을 미칠 것인지 가리킵니다. 속성이 true이면 문서의 스타일은 XBL이 생성한 익명의 내용에도 영향을 미칩니다.</li>
+</ul>
+<p> </p>
+<h2 id="content" name="content">content</h2>
+<pre>&lt;!ELEMENT content ANY&gt;
+&lt;!ATTLIST content
+ id ID #IMPLIED
+&gt;
+</pre>
+<p>A binding can specify new content that is placed inside the bound element. Although you can see this content on screen as if it was directly in the file, this content is anonymous and is hidden from the normal <a href="ko/DOM">DOM</a>. To access anonymous nodes on an XBL bound element, you can use the <a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#getAnonymousElementByAttribute">getAnonymousElementByAttribute</a> and <a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#getAnonymousNodes">getAnonymousNodes</a> functions. The only XBL element that can appear inside the content tag is the <a href="ko/XBL/XBL_1.0_Reference/Elements#children">children</a> tag. Attributes on the &lt;content&gt; element in the binding are set on the bound element.</p>
+<ul>
+ <li><code><b>id</b></code> - The id attribute is a document-unique identifier.</li>
+</ul>
+<h2 id="children" name="children">children</h2>
+<pre>&lt;!ELEMENT children EMPTY&gt;
+&lt;!ATTLIST children
+ id ID #IMPLIED
+ includes CDATA #IMPLIED
+&gt;
+</pre>
+<p>Specifies the location where any child elements of the bound element are placed in the generated content.</p>
+<p>Normally, if the element bound to has its own content, the anonymous content is not generated. However, with a <code>children</code> element, you can merge the content from the HTML/XML element and the XBL content.</p>
+<p>If the children tag contains content itself, that content will become the default content. If the element the binding is attached to contains content, the default content will be ignored. If the element does not contain content, the default content will be added.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+ <li><code><b>includes</b></code> - The <code>includes</code> attribute can be used to indicate that only certain content should be placed at the insertion point specified by the <code>children</code> element. Its value can be a tag name or multiple tag names separated by commas. A child can only be placed within the insertion point if it is matched by the value in the <code>includes</code> attribute. Only immediate children are matched against the selector. For example, an XML fragment <code>&lt;customElement&gt;&lt;foobar&gt;&lt;hoge/&gt;&lt;/foobar&gt;&lt;/customElement&gt;</code> with an binding definition <code>&lt;binding id="customElement"&gt;&lt;content&gt;&lt;xul:box&gt;&lt;children includes="hoge"/&gt;&lt;/xul:box&gt;&lt;/content&gt;&lt;/binding&gt;</code> for the <code>customElement</code> element, <code>&lt;xul:box/&gt;</code> becomes empty because the selector <code>includes="hoge"</code> doesn't match for the immediate child <code>foobar</code> element.</li>
+</ul>
+<h2 id="implementation" name="implementation">implementation</h2>
+<pre>&lt;!ENTITY % implementation-content "(method|property)*"&gt;
+&lt;!ELEMENT implementation %implementation-content;&gt;
+&lt;!ATTLIST implementation
+ id ID #IMPLIED
+ name CDATA #IMPLIED
+ implements CDATA #IMPLIED
+&gt;
+</pre>
+<p>The <code>implementation</code> element describes the set of methods and properties that are attached to the bound element. Once the binding is attached, these methods and properties can be invoked directly from the bound element.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+ <li><code><b>name</b></code> - The <code>name</code> attribute can be used to provide a specific name for an implementation. This name can then be used to reference the implementation. For example, in JavaScript the value of this attribute represents the name of the corresponding class that is constructed for the implementation. If no name attribute is specified then the binding's document URI and id are used to uniquely reference the binding's implementation.</li>
+ <li><code><b>implements</b></code> - The <code>implements</code> attribute can be used to describe the set of interfaces that are implemented by the binding. Its value is a comma-separated list of named interfaces. If supported, in strongly typed languages the bound element can be referenced not only as any of the interfaces that the element might already support (e.g., HTMLElement) but also as any of the interfaces described by this attribute. Support of this capability is optional.</li>
+</ul>
+<h2 id="constructor" name="constructor">constructor</h2>
+<p>The code inside the <code>constructor</code> is called when a <code>binding</code> has just been attached to an element. So full access to anonymous nodes generated by the binding is already possible. The <code>constructor</code> tag must be placed inside the <code>implementation</code> tag.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+</ul>
+<div class="note">
+ <b>Note:</b> Prior to Firefox 3, the constructor could be called at a time when reflow of the document layout was locked down, so that attempting to get layout information from within the constructor could return out of date information. In Firefox 3 and later, the constructor is called when reflow can take place, which results in up-to-date information being returned. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=398404" title="FIXED: [FIX]Disallow reflow while processing constructors">bug 398404</a> for details.</div>
+<h2 id="destructor" name="destructor">destructor</h2>
+<p>The code inside the <code>destructor</code> is called when a <code>binding</code> is being removed from an element. You can use this to unload resources to free memory. However the <code>destructor</code> is often not called when it should, see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=230086" title="Destructor of XBL element isn't called when I remove this element from DOM">bug 230086</a>. The <code>destructor</code> tag must be placed inside the <code>implementation</code> tag.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+</ul>
+<h2 id="method" name="method">method</h2>
+<pre>&lt;!ENTITY % method-content "(parameter*,body?)"&gt;
+&lt;!ELEMENT method %method-content;&gt;
+&lt;!ATTLIST method
+ id ID #IMPLIED
+ name CDATA #REQUIRED
+ type CDATA #IMPLIED
+&gt;
+</pre>
+<p>The <code>method</code> element is used to describe a single method of a binding implementation.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+ <li><code><b>name</b></code> - The <code>name</code> attribute's value is the name given to the method when it is attached to the bound element. The method can be invoked directly from the bound element using this value.</li>
+</ul>
+<p>
+ <i>
+ Example</i>
+</p>
+<pre>&lt;method name="scrollTo"&gt;
+ &lt;parameter name="index"/&gt;
+ &lt;body&gt;
+ this.setAttribute("scrollpos", index);
+ &lt;/body&gt;
+&lt;/method&gt;
+</pre>
+<h2 id="parameter" name="parameter">parameter</h2>
+<pre>&lt;!ELEMENT parameter EMPTY&gt;
+&lt;!ATTLIST parameter
+ id ID #IMPLIED
+ name CDATA #REQUIRED
+&gt;
+</pre>
+<p>The <code>parameter</code> element is used inside a <code>method</code> element. It represents a single parameter of a method.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+ <li><code><b>name</b></code> - The value of the <code>name</code> attribute is used by script within a method's <code>body</code> element to reference this parameter.</li>
+</ul>
+<h2 id="body" name="body">body</h2>
+<pre>&lt;!ELEMENT body CDATA&gt;
+&lt;!ATTLIST body
+ id ID #IMPLIED
+&gt;
+</pre>
+<p>The <code>body</code> element represents the implementation of its corresponding <code>method</code>. Its contents are the script that is executed when the method is invoked.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+</ul>
+<h2 id="field" name="field">field</h2>
+<pre>&lt;!ELEMENT field EMPTY&gt;
+&lt;!ATTLIST field
+ id ID #IMPLIED
+ name CDATA #REQUIRED
+ readonly (true|false) #IMPLIED
+&gt;
+</pre>
+<p>A field is similar to a <code><a href="ko/XBL/XBL_1.0_Reference/Elements#property">property</a></code>, except that it should not have a getter or setter. It is useful as a simple holder for a value. The field element must have content which is code that determines the initial value of the field. The <code>field</code> tag must be inside the <code>implementation</code> tag.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+ <li><code><b>name</b></code> - The name of the field. This is the name used to refer to the field on the bound element.</li>
+ <li><code><b>readonly</b></code> - If true, this field is read-only. If this attribute is omitted, the field will be readable and writable.</li>
+</ul>
+<div class="note">
+ <b>Note:</b> In Firefox 3, fields are now evaluated the first time they're accessed instead of at binding attachment time. This shouldn't cause any problems in typical use cases, but there are cases in which this will impact the behavior of your code. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=372769" title="FIXED: [FIX]&lt;field> evaluation happens at an unsafe time">bug 372769</a> for details.</div>
+<p>Here are some examples of cases in which the behavior of your code may change due to this change in Firefox 3:</p>
+<ol>
+ <li>If you have two fields, one named <code>A</code> and one named <code>B</code>, and field <code>A</code> sets <code>.B</code>, the value of <code>.B</code> will depend on whether or not <code>.A</code> has already been accessed.</li>
+ <li>If a proto is inserted into the proto chain after binding instantiation, doing so may affect field values (this wasn't the case in prior versions of Firefox).</li>
+ <li>At binding attachment time, <code><span class="nowiki">&lt;field name="parentNode"&gt;this.parentNode&lt;/field&gt;</span></code> is undefined instead of the value of <code>parentNode</code>.</li>
+ <li>A field no longer changes the value of a property set on the object itself (rather than a proto) before binding attachment.</li>
+</ol>
+<h2 id="property" name="property">property</h2>
+<pre>&lt;!ENTITY % property-content "(getter?,setter?)"&gt;
+&lt;!ELEMENT property %property-content;&gt;
+&lt;!ATTLIST property
+ id ID #IMPLIED
+ name CDATA #REQUIRED
+ readonly (true|false) #IMPLIED
+ onget CDATA #IMPLIED
+ onset CDATA #IMPLIED
+&gt;
+</pre>
+<p>The <code>property</code> element represents a single property of an implementation. A property consists of a pair of getter/setter functions that can be defined using <code>onget</code>/<code>onset</code> attributes or <a href="ko/XBL/XBL_1.0_Reference/Elements#getter">getter</a>/<a href="ko/XBL/XBL_1.0_Reference/Elements#setter">setter</a> elements underneath the <code>property</code> element. Like methods, once the binding is attached, the property can be obtained directly from the bound element. The <code>property</code> tag must be inside the <code>implementation</code> tag.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+ <li><code><b>name</b></code> - The name of the property. This is the name used to refer to the property on the bound element.</li>
+ <li><code><b>readonly</b></code> - The <code>readonly</code> attribute is used to designate a property as read-only. If set to <code>true</code>, the value of the property cannot be altered. If this attribute is omitted, the property will be readable and writable.</li>
+ <li><code><b>onget</b></code> - The <code>onget</code> attribute's value is a script that executes when the value of the property is requested. If this attribute is set, any initial value contained underneath the element will be ignored. The return value of the script represents the value of the property that will be returned to the requestor. A property getter can also be specified as a child of the <code>property</code> element using the <code>getter</code> tag.</li>
+ <li><code><b>onset</b></code> - The <code>onset</code> attribute's value is a script that executes when the value of the property is being altered. If this attribute is set, any initial value contained underneath the element will be ignored. Within the script, the parameter <code>val</code> represents the new value being assigned. The script should always return the actual value assigned in order to allow for chained assignment operations. A property setter can also be specified as a child of the <code>property</code> element using a <code>setter</code> tag.</li>
+</ul>
+<h2 id="getter" name="getter">getter</h2>
+<pre>&lt;!ELEMENT getter PCDATA&gt;
+&lt;!ATTLIST getter
+ id ID #IMPLIED
+&gt;
+</pre>
+<p>The <code>getter</code> element contains script that gets executed when a specific property gets called. The <code>getter</code> tag must be inside the <code>property</code> tag.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+</ul>
+<h2 id="setter" name="setter">setter</h2>
+<pre>&lt;!ELEMENT setter PCDATA&gt;
+&lt;!ATTLIST setter
+ id ID #IMPLIED
+&gt;
+</pre>
+<p>The <code>setter</code> element contains script that gets executed when a specific property is being set. The <code>setter</code> tag must be inside the <code>property</code> tag.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+</ul>
+<h2 id="handlers" name="handlers">handlers</h2>
+<pre>&lt;!ENTITY % handlers-content "handler*"&gt;
+&lt;!ELEMENT handlers %handlers-content;&gt;
+&lt;!ATTLIST handlers
+ id ID #IMPLIED
+&gt;
+</pre>
+<p>The <code>handlers</code> element contains event handlers that can be attached to elements within the bound document. These handlers are installed when the binding is attached and removed when the binding is detached. The <code>handlers</code> tag must be inside the <code>binding</code> tag.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+</ul>
+<h2 id="handler" name="handler">handler</h2>
+<pre>&lt;!ENTITY % handler-content "PCDATA"&gt;
+&lt;!ELEMENT handler %handler-content;&gt;
+&lt;!ATTLIST handler
+ id ID #IMPLIED
+ event NMREF #REQUIRED
+ action CDATA #IMPLIED
+ phase (capturing|bubbling|target) #IMPLIED
+ button (1|2|3) #IMPLIED
+ modifiers CDATA #IMPLIED
+ keycode CDATA #IMPLIED
+ key CDATA #IMPLIED
+ charcode CDATA #IMPLIED
+ clickcount (1|2|3) #IMPLIED
+ command ID #IMPLIED
+ preventdefault false|true #IMPLIED
+&gt;
+</pre>
+<p>The <code>handler</code> element describes a single event handler. This handler is attached to its target at the time the binding is attached and unhooked when the binding is detached from the bound element. The script inside the <code>handler</code> is executed when the event handler is matched. The <code>handler</code> tag must be inside the <code>handlers</code> tag.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+ <li><code><b>event</b></code> - The <code>event</code> attribute describes the specific event that this handler is listening for. Its value can be any legal DOM event name (including custom events created using the DocumentEvent interface of the DOM).</li>
+ <li><code><b>action</b></code> - The <code>action</code> attribute contains script that is invoked when the handler fires. The <code>type</code> attribute on the enclosing <code>handlers</code> element determines the language of the script. The handler script can also be specified as a child of the <code>handler</code> element.</li>
+ <li><code><b>phase</b></code> - This attribute specifies the phase of the event flow that this handler should monitor. The possible values are <code>capturing</code>, <code>bubbling</code>, and <code>target</code>. If a phase is specified, the handler will only be invoked during that phase of the event handling process. If no phase is specified, a default of <code>bubbling</code> is assumed.</li>
+ <li><code><b>button</b></code> - The <code>button</code> attribute imposes a
+ <i>
+ filter</i>
+ on the handler. It is used with mouse handlers to specify a particular button. The event handler will only be matched if the value of the <code>button</code> field in the DOM mouse event object matches the value of the attribute.</li>
+ <li><code><b>modifiers</b></code> - The <code>modifiers</code> attribute imposes a filter on key and mouse handlers. Its value is a whitespace- or comma-separated list of modifier keys. If present in the list, then the modifier key must be set in the DOM event object in order for the handler to be matched. If the <code>modifiers</code> is not empty and the modifier is not present in the list, then the modifier key must not be set in the DOM event object in order for the handler to be matched.<br>
+ Supported modifiers are:
+ <ul>
+ <li><code>shift</code></li>
+ <li><code>alt</code></li>
+ <li><code>control</code></li>
+ <li><code>meta</code></li>
+ <li><code>accel</code> - the platform's primary accelerator key. It is left up to the user agent to decide which modifier key represents the primary key. (It's the Control key on Windows and Meta on Mac.)</li>
+ <li><code>accesskey</code> - the platform's primary shortcut mnemonic key should be used (the Alt key on Windows and Linux, has no effect on Mac).</li>
+ </ul>
+ </li>
+ <li><code><b>keycode</b></code> - The <code>keycode</code> attribute imposes a filter on key handlers. Its value is a key identifier for a specific keycode, e.g., <code>vk_enter</code>.<br>
+ <i>
+ [Editor's Note: A forthcoming DOM events specification will presumably outline the list of valid keycode strings.]</i>
+ <br>
+ If this attribute is present, then its value must match the <a href="ko/DOM/event.keyCode">keyCode</a> field of the DOM key event object in order for the handler to fire.</li>
+ <li><code><b>charcode</b></code> - The <code>charcode</code> attribute imposes a filter on key handlers. Its value is a single character, e.g., "<code>z</code>". If this attribute is present, then its value must match the <a href="ko/DOM/event.charCode">charCode</a> field of the DOM key event object in order for the handler to fire.<br>
+ <i>
+ [Editor's note: As DOM Events mature more attributes may be added. For example, mutation events define several new fields such as relatedTarget that could be supported in the filtering syntax.]</i>
+ </li>
+ <li><code><b>key</b></code> - The <code>key</code> attribute has the same meaning as <code>charcode</code>.</li>
+ <li><code><b>clickcount</b></code> - The <code>clickcount</code> attribute imposes a
+ <i>
+ filter</i>
+ on the handler. It is used with mouse handlers to specify how many times a button has been clicked. The event handler will only be matched if the value of the <code>clickcount</code> field in the DOM mouse event object matches the value of the attribute.</li>
+ <li><code><b>command</b></code> - The id of a command to invoke when the event occurs. If used in a non-chrome document, the entire handler will be ignored.</li>
+ <li><code><b>preventdefault</b></code> - If set to true, the default action of the event is not performed. See also <a href="ko/DOM/event.preventDefault">preventDefault</a> method of the Event object.</li>
+</ul>
+<h2 id="resources" name="resources">resources</h2>
+<pre>&lt;!ENTITY % resources-content "(image?,stylesheet?)"&gt;
+&lt;!ELEMENT resources %resources-content;&gt;
+&lt;!ATTLIST property
+ id ID #IMPLIED
+&gt;
+</pre>
+<p>Used for inclusion of <a href="ko/XBL/XBL_1.0_Reference#image">image</a> elements, to cache them for later use, and for inclusion of <a href="ko/XBL/XBL_1.0_Reference#stylesheet">stylesheet</a> elements. The <code>resources</code> tag must be used directly inside the <code>binding</code> tag.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+</ul>
+<h2 id="stylesheet" name="stylesheet">stylesheet</h2>
+<pre>&lt;!ELEMENT stylesheet EMPTY&gt;
+&lt;!ATTLIST stylesheet
+ id ID #IMPLIED
+ src URI #REQUIRED
+&gt;
+</pre>
+<p>The <code>stylesheet</code> element declares a style sheet used by the binding. The style rules in the style sheet will only be applied to the binding, not to other elements in the document. The <code>stylesheet</code> tag must be inside the <code>resources</code> tag.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+ <li><code><b>src</b></code> - The URL of the style sheet to apply to the binding content.</li>
+</ul>
+<h2 id="image" name="image">image</h2>
+<pre>&lt;!ELEMENT image EMPTY&gt;
+&lt;!ATTLIST image
+ id ID #IMPLIED
+ src URI #REQUIRED
+&gt;
+</pre>
+<p>Declares an image resource used by the binding. The image is loaded as soon as the binding is used. You can use this to preload a number of images for later use. The <code>image</code> tag must be inside the <code>resources</code> tag.</p>
+<ul>
+ <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
+ <li><code><b>src</b></code> - The URL of the image to load.</li>
+</ul>
diff --git a/files/ko/archive/mozilla/xbl/xbl_1.0_reference/index.html b/files/ko/archive/mozilla/xbl/xbl_1.0_reference/index.html
new file mode 100644
index 0000000000..044d638e52
--- /dev/null
+++ b/files/ko/archive/mozilla/xbl/xbl_1.0_reference/index.html
@@ -0,0 +1,118 @@
+---
+title: XBL 1.0 Reference
+slug: Archive/Mozilla/XBL/XBL_1.0_Reference
+tags:
+ - XBL
+translation_of: Archive/Mozilla/XBL/XBL_1.0_Reference
+---
+<h3 id=".EC.B4.88.EB.A1.9D" name=".EC.B4.88.EB.A1.9D">초록</h3>
+<p>This document describes Extensible Binding Language (<a href="ko/XBL">XBL</a>) 1.0 as implemented in <a href="ko/Gecko">Gecko</a> browsers.</p>
+<p>Extensible Binding Language is a <a href="ko/XML">XML</a>-based markup language to implement reusable components (
+ <i>
+ bindings</i>
+ ) that can be bound to elements in other documents. The element with a binding specified, called the
+ <i>
+ bound element</i>
+ , acquires the new behavior specified by the binding. Bindings can be bound to elements using Cascading Style Sheets (<a href="ko/CSS">CSS</a>) or <a href="ko/DOM">DOM</a>. One element can be be bound to several bindings at once.</p>
+<p>Functionally bindings should be correlated with <a class="external" href="http://msdn.microsoft.com/workshop/components/htc/reference/htcref.asp">Behaviors</a> and <a class="external" href="http://msdn.microsoft.com/workshop/author/behaviors/overview/viewlink_ovw.asp">Viewlink</a> but being implemented as one integrated XML solution.</p>
+<p>Bindings can contain event handlers that are registered on the bound element, an implementation of new methods and properties that become accessible from the bound element, and anonymous content that is inserted around the bound element.</p>
+<div class="note">
+ <p>There are numerous adjustments in the current implementation in comparison of <a class="external" href="http://www.w3.org/TR/xbl/">earlier XBL proposals</a>, and not all of them are reflected yet in this document. The documentation process is still in progress: please keep it in your mind while using the provided information.</p>
+</div>
+<h3 id="XBL_.EC.9A.94.EC.86.8C" name="XBL_.EC.9A.94.EC.86.8C"><a href="ko/XBL/XBL_1.0_Reference/Elements">XBL 요소</a></h3>
+<ul>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#bindings">bindings</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#binding">binding</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#_content">content</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#children">children</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#implementation">implementation</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#constructor">constructor</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#destructor">destructor</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#field">field</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#property">property</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#getter">getter</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#setter">setter</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#method">method</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#parameter">parameter</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#body">body</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#handlers">handlers</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#handler">handler</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#resources">resources</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#stylesheet">stylesheet</a></code></li>
+ <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#image">image</a></code></li>
+</ul>
+<h3 id="Binding_Attachment_and_Detachment" name="Binding_Attachment_and_Detachment"><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment">Binding Attachment and Detachment</a></h3>
+<ul>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#Attachment_using_CSS">Attachment using CSS</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#Attachment_using_element.style_property">Attachment using element.style property</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#.3Cconstructor.3E_call">&lt;constructor&gt; call</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#.3Cdestructor.3E_call">&lt;destructor&gt; call</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#Binding_Documents">Binding Documents</a></li>
+</ul>
+<h3 id="DOM_Interfaces" name="DOM_Interfaces"><a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces">DOM Interfaces</a></h3>
+<ul>
+ <li><a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#The_DocumentXBL_Interface">The DocumentXBL Interface</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#The_ElementXBL_Interface">The ElementXBL Interface</a></li>
+</ul>
+<h3 id="Anonymous_Content" name="Anonymous_Content"><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content">Anonymous Content</a></h3>
+<ul>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Introduction">Introduction</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Scoping_and_Access_Using_the_DOM">Scoping and Access Using the DOM</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Content_Generation">Content Generation</a>
+ <ul>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Rules_for_Generation">Rules for Generation</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#The_contentgenerated_Event">The contentgenerated Event</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#The_contentdestroyed_Event">The contentdestroyed Event</a></li>
+ </ul>
+ </li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Attribute_Forwarding">Attribute Forwarding</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Insertion_Points">Insertion Points</a>
+ <ul>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#.3Cchildren.3E_and_.3Celement.3E">&lt;children&gt; and &lt;element&gt;</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Handling_DOM_Changes">Handling DOM Changes</a></li>
+ </ul>
+ </li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Event_Flow_and_Targeting">Event Flow and Targeting</a>
+ <ul>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Flow_and_Targeting_Across_Scopes">Flow and Targeting Across Scopes</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Focus_and_Blur_Events">Focus and Blur Events</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Mouseover_and_Mouseout_Events">Mouseover and Mouseout Events</a></li>
+ </ul>
+ </li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Anonymous_Content_and_CSS">Anonymous Content and CSS</a>
+ <ul>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Selectors_and_Scopes">Selectors and Scopes</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Binding_Stylesheets">Binding Stylesheets</a></li>
+ </ul>
+ </li>
+</ul>
+<h3 id="Binding_Implementations" name="Binding_Implementations"><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations">Binding Implementations</a></h3>
+<ul>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Introduction">Introduction</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Methods">Methods</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Properties">Properties</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Inheritance_of_Implementations">Inheritance of Implementations</a></li>
+</ul>
+<h3 id="Event_Handlers" name="Event_Handlers"><a href="ko/XBL/XBL_1.0_Reference/Event_Handlers">Event Handlers</a></h3>
+<h3 id="Example_-_Sticky_Notes" name="Example_-_Sticky_Notes"><a href="ko/XBL/XBL_1.0_Reference/Example_Sticky_Notes">Example - Sticky Notes</a></h3>
+<p>Updated and adjusted for the current Firefox implementation.</p>
+<div class="note">
+ <p>This example is targeted to demonstrate the XBL usage rather than to be a practically useful application. For this reason it contains many comments and some blocks could be avoided in a more compact solution yet used here for demonstration purposes.</p>
+</div>
+<ul>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Example_Sticky_Notes#notes.html">notes.html</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Example_Sticky_Notes#notes.xml">notes.xml</a></li>
+ <li><a href="ko/XBL/XBL_1.0_Reference/Example_Sticky_Notes#notes.css">notes.css</a></li>
+</ul>
+<p><a class="external" href="http://www.nskom.com/external/xbl/notes.html">View this example</a></p>
+<p><br>
+ <span class="comment"><a class="external" href="http://www.nskom.com/external/xbl/notes.zip" title="http://www.nskom.com/external/xbl/notes.zip">Download all files (.zip archive)</a> need to ask to adjust the server - it gives "Access denied" for zip files (?)</span></p>
+<h3 id="References" name="References">References</h3>
+<p><a class="external" href="http://www.w3.org/TR/xbl/">Initial XBL 1.0 proposal submitted as a Note to W3C</a></p>
+<p><a class="external" href="http://www.mozilla.org/projects/xbl/xbl2.html">XBL 2.0 Project</a></p>
+<div class="originaldocinfo">
+ <h3 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h3>
+ <ul>
+ <li>Last Updated Date: April 24, 2006</li>
+ </ul>
+</div>
diff --git a/files/ko/archive/mozilla/xulrunner/dialogs_in_xulrunner/index.html b/files/ko/archive/mozilla/xulrunner/dialogs_in_xulrunner/index.html
new file mode 100644
index 0000000000..33b4f14f44
--- /dev/null
+++ b/files/ko/archive/mozilla/xulrunner/dialogs_in_xulrunner/index.html
@@ -0,0 +1,121 @@
+---
+title: Dialogs in XULRunner
+slug: Archive/Mozilla/XULRunner/Dialogs_in_XULRunner
+tags:
+ - XUL
+ - XULRunner
+translation_of: Archive/Mozilla/XULRunner/Dialogs_in_XULRunner
+---
+<p></p><div class="prevnext" style="text-align: right;">
+ <p><a href="/ko/docs/Windows_and_menus_in_XULRunner" style="float: left;">« 이전</a><br></p>
+</div><p></p>
+<p><a href="ko/Windows_and_menus_in_XULRunner">이전 기사에서는</a> 창, 메뉴, 도구바를 만드는데 사용되는 간단한 XUL에 대해 알아봤습니다. 이번에는 사용자 정의 대화상자와 표준 운영체제(공통) 대화상자에 대해 알아보겠습니다. 대화상자는 데스크탑 응용 프로그램를 구성하는 기본 요소들입니다. 어떤 종류의 대화상자는 너무 자주 사용되므로 OS에서 기본적인 구현을 제공하기도 합니다. 파일 열기와 저장 대화상자가 대표적인 예입니다. 가능하면 응용 프로그램간의 사용자가 느끼는 일관된 체험(일관성)을 유지하기 위해 제공되는 "기본(native)" 대화상자를 재활용하는 것이 좋습니다.</p>
+<h2 id=".EC.82.AC.EC.9A.A9.EC.9E.90_.EC.A0.95.EC.9D.98_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90" name=".EC.82.AC.EC.9A.A9.EC.9E.90_.EC.A0.95.EC.9D.98_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90">사용자 정의 대화상자</h2>
+<p>XUL로 대화상자를 만드는 것은 윈도우를 만드는 것과 아주 유사합니다. 대화상자는 독립된 XUL 파일에 정의됩니다. XUL에서는 대화상자의 컨테이너로 동작하는 <code><a href="/ko/docs/Mozilla/Tech/XUL/dialog" title="dialog">dialog</a></code> 요소를 제공합니다. 대화상자 XUL 파일은 윈도우와 마찬가지로 DTD, CSS, JavaScript를 포함할 수 있습니다. 아래는 XUL 대화상자의 예제입니다.</p>
+<pre>&lt;?xml version="1.0"?&gt;
+&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
+
+&lt;dialog id="myDialog" title="My Dialog"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ onload="window.sizeToContent();"
+ buttons="accept,cancel"
+ buttonlabelaccept="Set Favorite"
+ buttonaccesskeyaccept="S"
+ ondialogaccept="return doSave();"
+ buttonlabelcancel="Cancel"
+ buttonaccesskeycancel="n"
+ ondialogcancel="return doCancel();"&gt;
+
+ &lt;script&gt;
+ function doSave(){
+ //doSomething()
+ return true;
+ }
+
+ function doCancel(){
+ return true;
+ }
+ &lt;/script&gt;
+
+ &lt;dialogheader title="My dialog" description="Example dialog"/&gt;
+ &lt;groupbox flex="1"&gt;
+ &lt;caption label="Select favorite fruit"/&gt;
+ &lt;radiogroup&gt;
+ &lt;radio id="1" label="Oranges because they are fruity"/&gt;
+ &lt;radio id="2" selected="true" label="Strawberries because of color"/&gt;
+ &lt;radio id="3" label="Bananna because it pre packaged"/&gt;
+ &lt;/radiogroup&gt;
+ &lt;/groupbox&gt;
+
+&lt;/dialog&gt;
+</pre>
+<p>XUL window 요소는 대화상자를 여는데(open) 사용되는 <code><a href="ko/DOM/window.openDialog">window.openDialog()</a></code>라는 특별한 메소드를 가지고 있습니다. 다음은 대화상자를 여는데 사용되는 코드입니다.</p>
+<pre class="eval">function openDialog() {
+ window.openDialog("<a class="external" rel="freelink">chrome://basicapp/content/dialog.xul</a>", "newdlg", "modal");
+}
+</pre>
+<p>Windows 200에서 위 코드로 열린 대화상자는 다음과 같으며, 다른 운영체제도 비슷한 모양세일 것입니다.</p>
+<p><img alt="Image:XULDialogExample.png"></p>
+<p><code><a href="/ko/docs/Mozilla/Tech/XUL/dialog" title="dialog">dialog</a></code> 요소에서 나의 눈을 사로잡은 첫번째는 버튼과 관련된 속성입니다. 개발자들이 좀 더 쉽게 접근하고 사용자들에게 일관성을 제공하기 위해 XUL은 핵심적인 대화상자 버튼("확인", "취소", "도움말" 등)들을 자동으로 만들고 배치해주는 메커니즘을 제공하고 있습니다.</p>
+<p>개발자는 필요한 버튼들을 명시하고 각 버튼에 대한 제목과 단축키 그리고 버튼이 눌러졌을 때 호출될 JavaScript 함수를 지정하기만 하면 됩니다. XUL이 대화상자내에서 버튼에 대한 위치와 스타일을 알아서 처리해 줍니다. 이러한 방식은, 운영체제들마다 대화상자 내 버튼의 위치가 고유의 컨벤션을 가지고 있다는 점을 생각해 보면, 크로스 플랫폼(cross-platform) 응용 프로그램을 개발하는데 있어 아주 좋은 환경을 제공해 준다고 할 수 있습니다.</p>
+<p>아래는 <code><a href="/ko/docs/Mozilla/Tech/XUL/dialog" title="dialog">dialog</a></code>에서 버튼과 관련된 속성들 중 일부 입니다. 도 참조해 보세요.</p>
+<dl>
+ <dt>
+ <code><a href="ko/XUL/Attribute/buttons">buttons</a></code></dt>
+ <dd>
+ 대화상자에 표시할 버튼들의 쉼표로 분리된 목록(<code>accept</code>, <code>cancel</code>, <code>help</code>, <code>extra1</code>, and <code>extra2</code>).</dd>
+ <dt>
+ <code><a href="ko/XUL/Attribute/buttonlabelaccept">buttonlabelaccept</a></code></dt>
+ <dd>
+ 확인 버튼을 위한 라벨, 다른 버튼에도 비슷한 속성이 존재합니다.</dd>
+ <dt>
+ <code><a href="ko/XUL/Attribute/buttonaccesskeyaccept">buttonaccesskeyaccept</a></code></dt>
+ <dd>
+ 확인 버튼에 사용되는 단축키, 다른 버튼에도 비슷한 속성이 존재합니다.</dd>
+ <dt>
+ <code><a href="ko/XUL/Attribute/ondialogaccept">ondialogaccept</a></code></dt>
+ <dd>
+ 확인 버튼이 눌러졌을때 실행될 JavaScript, 다른 버튼에도 비슷한 속성이 존재합니다.</dd>
+</dl>
+<p>XUL에는 다양한 종류의 입력 컨트롤들이 존재하며, 대화상자에도 사용할 수 있습니다. 이 후 기사에서는 현재 사용되고 있는, 그리고 앞으로 계획된 XUL 입력 컨트롤에 대해 좀 더 자세히 알아보려고 합니다. 제가 <code><span class="nowiki">&lt;dialogheader&gt;</span></code>를 사용하게 될지 확실하지 않지만, 이 하나의 요소만으로 간단하게 헤더를 만드는데 시간을 줄여줍니다.</p>
+<h2 id=".EA.B3.B5.ED.86.B5_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90" name=".EA.B3.B5.ED.86.B5_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90">공통 대화상자</h2>
+<p>가장 자주 사용되는 공통 대화상자는 파일 열기와 저장하기 입니다. 예를 들어 윈도우즈에서는 예전부터 내장된 파일 열기와 저장하기 대화상자를 제공하고 있고 Mac 또한 마찬가지 있습니다. 이러한 것들은 응용 프로그램 개발자들을 편하게 해 줄 뿐만 아니라 사용자들에게도 일관성 있는 인터페이스를 제공하여 사용하기 쉽게 해 줍니다. XUL에서도 filepicker(Mozilla에서는 파일 열기와 저장하기 대화상자를 이렇게 부릅니다)의 네이티브 구현을 지원하고 있습니다. 향후 릴리즈에서는 사용자가 원한다면 설정을 통해 XUL filepicker로 전환할 수 있는 기능을 제공할 것입니다. XUL filepicker는 <a href="ko/XPCOM">XPCOM</a> 컴포넌트로, 사용 전에 다음과 같이 초기화되어야 합니다.</p>
+<pre>function doFileOpen() {
+ /* See: http://developer.mozilla.org/en/docs/XUL_Tutorial:Open_and_Save_Dialogs */
+
+ var nsIFilePicker = Components.interfaces.nsIFilePicker;
+ var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
+
+ fp.init(window, "Open File", nsIFilePicker.modeOpen);
+ fp.appendFilters(nsIFilePicker.filterText | nsIFilePicker.filterAll);
+
+ var res = fp.show();
+ if (res == nsIFilePicker.returnOK) {
+ var thefile = fp.file;
+ alert(thefile.leafName);
+ // --- do something with the file here ---
+ }
+}
+</pre>
+<p>XUL에서 현재는 다른 공통 대화상자를 제공하고 있지는 못합니다. 향후 버전에서는 수정될 것입니다. Firefox와 Thunderbird는 모두 페이지 설정과 인쇄 공통 대화상자를 지원하고 있습니다. 또한 XUL에서는 마법사를 만드는 요소를 지원합니다.</p>
+<p>본 시리즈의 향후 기사들에서는 입력 컨트롤, 인쇄, 클립보드, XPCOM에 대해서 알아볼 것입니다.</p>
+<h2 id=".EC.B0.B8.EA.B3.A0_.EB.AC.B8.EC.84.9C" name=".EC.B0.B8.EA.B3.A0_.EB.AC.B8.EC.84.9C">참고 문서</h2>
+<ul>
+ <li><a href="ko/XUL/dialog">XUL:dialog</a></li>
+ <li><a class="external" href="http://www.xulplanet.com/tutorials/xultu/dialogs.html">Creating dialogs</a></li>
+ <li><a href="ko/XUL_Tutorial/Creating_Dialogs">XUL Tutorial:Creating Dialogs</a></li>
+ <li><a href="ko/NsIFilePicker">nsIFilePicker</a></li>
+ <li><a href="ko/XUL_Tutorial/Open_and_Save_Dialogs">XUL Tutorial:Open and Save Dialogs</a></li>
+</ul>
+<p></p><div class="prevnext" style="text-align: right;">
+ <p><a href="/ko/docs/Windows_and_menus_in_XULRunner" style="float: left;">« 이전</a><br></p>
+</div><p></p>
+<div class="originaldocinfo">
+ <h2 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C">원본 문서</h2>
+ <ul>
+ <li>저자: Mark Finkle</li>
+ <li>최종 수정일: October 2, 2006</li>
+ </ul>
+</div>
+<div class="noinclude">
+  </div>
diff --git a/files/ko/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html b/files/ko/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html
new file mode 100644
index 0000000000..2207ae7ae0
--- /dev/null
+++ b/files/ko/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html
@@ -0,0 +1,98 @@
+---
+title: Getting started with XULRunner
+slug: Archive/Mozilla/XULRunner/Getting_started_with_XULRunner
+tags:
+ - XUL
+ - XULRunner
+translation_of: Archive/Mozilla/XULRunner/Getting_started_with_XULRunner
+---
+<p></p><div class="prevnext" style="text-align: right;">
+ <p><a href="/ko/docs/Windows_and_menus_in_XULRunner">다음 »</a></p>
+</div><p></p>
+<p>본 기사에서는 <a href="/ko/XULRunner" title="ko/XULRunner">XULRunner</a>를 이용하여 기본적인 데스크탑 응용프로그램을 개발해봄으로써 Mozilla 플랫폼에 대해 알아보겠습니다. Firefox, Thunderbird, 기타 다양한 응용프로그램들이 이 플랫폼을 이용하여 작성되었으며, 기본적인 응용 프로그램을 개발하기에 사용될 수 있을 만큼 충분히 안정적입니다.</p>
+<p>여러분이 XUL 기반의 데스크탑 응용 프로그램을 개발려고자 한다면, XULRunner를 설치해야 할 것입니다. 먼저 XULRunner를 설치한 후, 골격만 있는 프로그램을 실행해서 제대로 동작하는지 확인해 보겠습니다.</p>
+<h2 id="1.EB.8B.A8.EA.B3.84:_XULRunner_.EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C" name="1.EB.8B.A8.EA.B3.84:_XULRunner_.EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C">1단계: XULRunner 다운로드</h2>
+<p>여러분은 MDC의 메인 <a href="/ko/XULRunner" title="ko/XULRunner">XULRunner</a> 페이지에서 다운로드 링크를 찾을 수 있습니다.</p>
+<p>Windows 버전의 XULRunner는 인스톨러가 아니고 zip 파일로 제공됩니다. 개발자 입장에서는 내 장비에 압축을 해제하기만 하면 된다는 아이디어가 마음에 듭니다. Windwos 시스템을 건드릴 필요가 없을 것 같아서 좋습니다.</p>
+<p>Mac 버전의 경우는 표준 Mac OS X 인스톨러로 배포됩니다.</p>
+<h2 id="2.EB.8B.A8.EA.B3.84:_XULRunner_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0" name="2.EB.8B.A8.EA.B3.84:_XULRunner_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0">2단계: XULRunner 설치하기</h2>
+<p>Windows에서는 적당한 위치에 압축을 해제하세요. 나는 <code>C:\program files\xulrunner</code> 폴더를 새로 만들고 이곳에 압축을 풀었습니다. 지금까지는 꽤 간단합니다. Mac의 경우에는 그냥 인스톨러를 실행하면 <code>/Library/Frameworks</code> 디렉토리에 <code>XUL.Framework</code>로 설치되게 됩니다.</p>
+<p>이제 간단한 뼈대만 있는 간단한 응용 프로그램 껍데기를 만들 시간입니다. 괜찮다면 이 프로그램을 XUL 버전의 "Hello World"라고 하겠습니다. Google 검색을 해보면 <a class="external" href="http://blogs.acceleration.net/ryan/archive/2005/05/06/1073.aspx">괜찮은 자습서</a>를 발견할 수 있습니다. 읽어볼만 합니다. 자습서를 읽고서 나는 간단한 시작 응용 프로그램을 만들었습니다. 아래에 있는 내용들은 모두 Ryans의 자습서과 이곳 MDC에 있는 <a href="/ko/XULRunner" title="ko/XULRunner">XULRunner</a>에서도 볼 수 있는 내용들입니다.</p>
+<h2 id="3.EB.8B.A8.EA.B3.84:_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.ED.8F.B4.EB.8D.94_.EA.B5.AC.EC.A1.B0_.EC.83.9D.EC.84.B1" name="3.EB.8B.A8.EA.B3.84:_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.ED.8F.B4.EB.8D.94_.EA.B5.AC.EC.A1.B0_.EC.83.9D.EC.84.B1">3단계: 응용 프로그램 폴더 구조 생성</h2>
+<p>윈도우에서, 내 경우 루트 폴더를 <code>c:\program files\myapp</code>로 생성했지만, 아무곳이나 괜찮습니다. 다음은 하위 폴더 구조입니다.</p>
+<pre>/myapp
+ /chrome
+ /content
+ main.xul
+ chrome.manifest
+ /defaults
+ /preferences
+ prefs.js
+ application.ini
+</pre>
+<p>위의 폴더 구조에 4개의 파일 - <code>application.ini</code>, <code>chrome.manifest</code>, <code>prefs.js</code>, <code>main.xul</code> - 이 있다는 것을 명심하세요.</p>
+<h2 id="4.EB.8B.A8.EA.B3.84:_application.ini_.EC.84.A4.EC.A0.95" name="4.EB.8B.A8.EA.B3.84:_application.ini_.EC.84.A4.EC.A0.95">4단계: <code>application.ini</code> 설정</h2>
+<p><code><a href="/ko/XUL_Application_Packaging" title="ko/XUL_Application_Packaging">application.ini</a></code> 파일은 여러분이 작성하는 응용 프로그램에 대한 XULRunner의 시작점입니다. 이 파일에서는 여러분이 작성한 응용 프로그램이 XULRunner 플랫폼을 어떤 의도로 사용할 것인가를 제시하며, XULRunner가 응용 프로그램을 실행하는데 필요한 정보들에 대한 설정을 포함합니다. 제가 작성한 것은 다음과 같습니다.</p>
+<pre>[App]
+Vendor=Finkle
+Name=Test App
+Version=1.0
+BuildID=20060101
+Copyright=Copyright (c) 2006 Mark Finkle
+ID=xulapp@starkravingfinkle.org
+
+[Gecko]
+MinVersion=1.8
+MaxVersion=1.8
+</pre>
+<p><span class="comment">not really... You can find more information about the &lt;tt&gt;application.ini&lt;/tt&gt; file in the article <a href="/ko/XULRunner/Deploying_XULRunner_1.8">XULRunner:Deploying XULRunner 1.8</a>.</span></p>
+<p><em>주의:</em> 2007 nightly trunk XULRunner build에서 본 예제 프로그램을 실행시키기려면 MaxVersion을 1.9로 수정하세요.</p>
+<h2 id="5.EB.8B.A8.EA.B3.84:_Chrome_.EC.84.A0.EC.96.B8_.EC.84.A4.EC.A0.95" name="5.EB.8B.A8.EA.B3.84:_Chrome_.EC.84.A0.EC.96.B8_.EC.84.A4.EC.A0.95">5단계: Chrome 선언 설정</h2>
+<p><a href="/ko/Chrome_Registration" title="ko/Chrome_Registration">Chrome 선언</a> 파일은 응용 프로그램에 포함된 자원(resource)의 위치를 나타내기 위해 XULRunner가 사용하는 URI들을 정의합니다. 이는 "chrome://" URI가 사용되는 방법을 보면 잘 알 수 있습니다. 응용 프로그램 chrome은 하나 혹은 몇개의 JAR 파일로 구성되거나 또는 압축되지 않은 폴더와 파일로 구성될 수 있습니다. 여기서는 압축되지 않은 방법을 사용할 것입니다. 내가 작성한 선언 파일은 다음과 같습니다.</p>
+<pre class="eval"> content myapp file:content/
+</pre>
+<div class="note">주의: 응용 프로그램 이름은 소문자이고 3자 이상이어야 합니다.</div>
+<h2 id="6.EB.8B.A8.EA.B3.84:_.ED.99.98.EA.B2.BD_.EC.84.A4.EC.A0.95_.EA.B5.AC.EC.84.B1" name="6.EB.8B.A8.EA.B3.84:_.ED.99.98.EA.B2.BD_.EC.84.A4.EC.A0.95_.EA.B5.AC.EC.84.B1">6단계: 환경 설정 구성</h2>
+<p><code>prefs.js</code> 파일에는 XULRunner가 메인 윈도우로 사용할 XUL 파일명에 대한 정보가 포함되어 있습니다. 내 것은 다음과 같습니다.</p>
+<pre class="eval"> pref("toolkit.defaultChromeURI", "<a class=" external" rel="freelink">chrome://myapp/content/main.xul</a>");
+</pre>
+<p>XULRunner 환경 설정에는 다음과 같은 것들이 포함됩니다.</p>
+<dl> <dt><code><a href="/ko/Toolkit.defaultChromeURI" title="ko/Toolkit.defaultChromeURI">toolkit.defaultChromeURI</a></code></dt> <dd>응용 프로그램이 실행될 때 열릴 기본 윈도우를 지정합니다.</dd> <dt><code><a href="/ko/Toolkit.defaultChromeFeatures" title="ko/Toolkit.defaultChromeFeatures">toolkit.defaultChromeFeatures</a></code></dt> <dd>메인 윈도우가 열릴 때 <code><a href="/ko/Window.open" title="ko/Window.open">window.open()</a></code> 코드에 포함될 기능(feature)들을 지정합니다.</dd> <dt><code><a href="/ko/Toolkit.singletonWindowType" title="ko/Toolkit.singletonWindowType">toolkit.singletonWindowType</a></code></dt> <dd>응용 프로그램이 한번에 하나의 인스터스만을 가지도록 설정합니다.</dd>
+</dl>
+<p>이 내용들은 <a href="/ko/XULRunner/Specifying_Startup_Chrome_Window" title="ko/XULRunner/Specifying_Startup_Chrome_Window">XULRunner:Specifying Startup Chrome Window</a>에 좀 더 자세히 설명되어 있습니다.</p>
+<h2 id="7.EB.8B.A8.EA.B3.84:_XUL_.EB.A7.8C.EB.93.A4.EA.B8.B0" name="7.EB.8B.A8.EA.B3.84:_XUL_.EB.A7.8C.EB.93.A4.EA.B8.B0">7단계: XUL 만들기</h2>
+<p>마지막으로 간단한 XUL 윈도우를 만들어야 하는데, 이는 <code>main.xul</code> 파일에 잘 나와 있습니다. 여기 있는 내용은 특별한 건 없고 창을 만들기 위해 필요한 최소한의 것들만 포함되어 있습니다.</p>
+<pre>&lt;?xml version="1.0"?&gt;
+&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
+
+&lt;window id="main" title="My App" width="300" height="300"
+xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
+ &lt;caption label="Hello World"/&gt;
+&lt;/window&gt;
+</pre>
+<div class="note">주의: XML/XUL 파일의 맨 처음에 공백이 있으면 안됩니다.</div>
+<h2 id="8.EB.8B.A8.EA.B3.84:_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0" name="8.EB.8B.A8.EA.B3.84:_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0">8단계: 응용 프로그램 실행하기</h2>
+<p>결정적 순간입니다. 응용 프로그램을 실행하기 위해 XULRunner가 필요합니다. Windows의 명령창을 열고 <code>C:\program files\myapp</code> 폴더로 이동한 후 다음의 명령어를 실행하세요.</p>
+<pre class="eval"> xulrunner.exe application.ini
+</pre>
+<p>물론, xulrunner.exe는 <code>PATH</code>에 포함되어 있어야 합니다. xulrunner.exe가 경로에 포함되어 있지 않다면 다음과 같이 실행할 수 있습니다.</p>
+<pre class="eval"> ..\xulrunner\xulrunner.exe application.ini
+</pre>
+<p>Mac에서는 터미널 창을 열고 <code>myapp</code> 디렉토리로 이동한 후 다음과 같이 입력하시면 됩니다.</p>
+<pre class="eval"> /Library/Frameworks/XUL.framework/xulrunner-bin application.ini
+</pre>
+<p>여러분은 다음과 같이 생긴 창을 볼 수 있을 것입니다. 다음 화면은 Ubuntu에서의 화면입니다.</p>
+<p><img alt="Image:XULSampleMyapp.png" class=" internal" src="/@api/deki/files/2089/=XULSampleMyapp.png"></p>
+<h3 id=".EB.8B.A4.EB.A5.B8_.EB.B0.A9.EB.B2.95:_Firefox3_-app.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.B4_XUL_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.9D.84_.EC.8B.A4.ED.96.89.EC.8B.9C.ED.82.A4.EA.B8.B0" name=".EB.8B.A4.EB.A5.B8_.EB.B0.A9.EB.B2.95:_Firefox3_-app.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.B4_XUL_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.9D.84_.EC.8B.A4.ED.96.89.EC.8B.9C.ED.82.A4.EA.B8.B0">다른 방법: Firefox3 -app를 이용해 XUL 응용 프로그램을 실행시키기</h3>
+<p>Firefox 3에서는 커맨드 라인을 통해 브라우저 대신 XUL 응용 프로그램이 실행되도록 할 수 있습니다. 이는 XULRunner를 이용하여 XUL 응용 프로그램을 실행하는 것과 비슷합니다. <a href="/ko/XULRunner_tips#Using_Firefox_3_to_run_XULRunner_applications" title="ko/XULRunner_tips#Using_Firefox_3_to_run_XULRunner_applications">Firefox 3를 이용한 XULRunner 응용 프로그램 실행하기</a>를 참조하세요.</p>
+<p><a class="external" href="http://developer.mozilla.org/samples/xulrunner/myapp.zip">예제 프로젝트</a> 다운받기.</p>
+<p></p><div class="prevnext" style="text-align: right;">
+ <p><a href="/ko/docs/Windows_and_menus_in_XULRunner">다음 »</a></p>
+</div><p></p>
+<div class="originaldocinfo">
+<h2 id=".EC.9B.90.EB.B3.B8_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EC.A0.95.EB.B3.B4">원본 정보</h2>
+<ul> <li>저자: Mark Finkle</li> <li>최종 수정일: 2006년 10월 2일</li>
+</ul>
+</div>
+
+<p> </p>
diff --git a/files/ko/archive/mozilla/xulrunner/index.html b/files/ko/archive/mozilla/xulrunner/index.html
new file mode 100644
index 0000000000..8e736dc6f8
--- /dev/null
+++ b/files/ko/archive/mozilla/xulrunner/index.html
@@ -0,0 +1,26 @@
+---
+title: XULRunner
+slug: Archive/Mozilla/XULRunner
+tags:
+ - XUL
+ - XULRunner
+translation_of: Archive/Mozilla/XULRunner
+---
+<p> </p>
+<div class="callout-box"><strong><a href="/ko/Getting_started_with_XULRunner" title="ko/Getting_started_with_XULRunner"> XULRunner 입문서</a></strong><br>
+XULRunner에 대한 간단한 소개.</div>
+<div>
+<p><strong>XULRunner</strong>는 Mozilla 실행시 동작하는(runtime) 패키지로서 Firefox와 Thunderbird의 기능을 풍부하게 하는 XUL과 XPCOM을 불러오게(bootstrap)할 수 있습니다. XULRunner는 XUL 혹은 XPCOM 프로그램을 설치, 업그레이드 그리고 삭제할 수 있는 기능을 제공합니다. XULRunner는 또한 libxul을 지원하는데 이는 다른 프로젝트 혹은 프로그램에 Mozilla를 내장시킬 수 있게 하는 것입니다.</p>
+</div>
+<table class="topicpage-table"> <tbody> <tr> <td> <h4 id=".EC.A0.9C.ED.92.88_.EC.86.8C.EA.B0.9C" name=".EC.A0.9C.ED.92.88_.EC.86.8C.EA.B0.9C">제품 소개</h4> <div class="note"> <p>XULRunner trunk (XULRunner 1.9)의 nightly builds는 <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/latest-trunk/">Mozilla FTP 사이트</a>에서 다운로드 받을 수 있습니다. 설치, 제거, 그 외 정보들은 <a href="/ko/XULRunner_1.8.0.4_Release_Notes" title="ko/XULRunner_1.8.0.4_Release_Notes">1.8 제품 소개서</a>를 읽어보세요.</p> <p>Firefox 3 beta에는 전용 XULRunner 패키지가 포함되어 있으며, 이를 이용해 다른 XULRunner 응용 프로그램을 실행할 수 있습니다.</p> <p><a href="/ko/XULRunner//Old_Releases" title="ko/XULRunner//Old_Releases">이전 빌드</a>들도 사용 가능합니다.</p> </div> <h4 id=".EA.B0.9C.EC.9A.94" name=".EA.B0.9C.EC.9A.94">개요</h4> <ul> <li><a class="wikimo" href="https://wiki.mozilla.org/XULRunner:Roadmap" title="개발 로드맵">개발 로드맵</a></li> <li><a href="/ko/XULRunner/What_XULRunner_Provides" title="ko/XULRunner/What_XULRunner_Provides">XULRunner가 제공하는 기능</a></li> <li><a href="/ko/XULRunner_FAQ" title="ko/XULRunner_FAQ">자주 하는 질문</a></li> <li>Nightly builds: <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/latest-trunk/">unstable-trunk</a></li> </ul> <h4 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"><a href="/Special:Tags?tag=XULRunner&amp;language=ko" title="Special:Tags?tag=XULRunner&amp;language=ko">문서</a></h4> <dl> <dt><a href="/Special:Tags?tag=XULRunner&amp;language=ko" title="Special:Tags?tag=XULRunner&amp;language=ko">모두 보기...</a></dt> </dl> <dl> <dt><a href="/ko/Getting_started_with_XULRunner" title="ko/Getting_started_with_XULRunner"> XULRunner 입문서</a></dt> <dd><small>XULRunner로 데스크탑 응용프로그램을 개발하는 간단한 자습서.</small></dd> </dl> <dl> <dt><a class="external" href="http://zenit.senecac.on.ca/wiki/index.php/XULRunner_Guide">XULRunner 가이드</a></dt> <dd><small>A fairly complete introduction and tutorial for XULRunner which collates much of the documentation found here.</small></dd> </dl> <dl> <dt><a class="external" href="http://blogs.acceleration.net/ryan/archive/2005/05/06/1073.aspx">XULRunner 배우기</a></dt> <dd><small>XULRunner에 관한 간단한 소개.</small></dd> </dl> <dl> <dt><a href="/ko/XULRunner_tips" title="ko/XULRunner_tips">XULRunner tips</a></dt> <dd><small>XULRunner를 사용하는 데 있어서의 팁 모음</small></dd> </dl> <dl> <dt><a href="/ko/XULRunner/Deploying_XULRunner_1.8" title="ko/XULRunner/Deploying_XULRunner_1.8">XULRunner 1.8 배포하기</a></dt> <dd><small>XULRunner 1.8는 현재 stable developer preview release 입니다. 이 문서는 단일형식(standalone)의 XUL 응용프로그램을 개발환경에서 배포하는데 XULRunner가 어떻게 사용되는가에 관한 내용입니다. </small></dd> </dl> <dl> <dt><a href="/ko/XULRunner_Hall_of_Fame" title="ko/XULRunner_Hall_of_Fame">XULRunner 명예의 전당</a></dt> <dd><small>XULRunner을 기반으로한 모든 응용프로그램들을 찾아보실 수 있습니다.</small></dd> </dl> <dl> <dt><a href="/ko/Build_Documentation" title="ko/Build_Documentation">Build Documentation</a></dt> <dd><small>소스를 가져와서 빌드하는 방법을 배울 수 있습니다.</small></dd> </dl> <dl> <dt><a href="/ko/Debugging_a_XULRunner_Application" title="ko/Debugging_a_XULRunner_Application">Debug Documentation</a></dt> <dd><small>여러분의 응용 프로그램을 디버그하기 위해 Venkman을 설정하는 방법</small></dd> </dl> </td> <td> <h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0">커뮤니티</h4> <ul> <li>Mozilla 포럼 보기...</li> </ul> <p></p><ul>
+ <li><a href="https://lists.mozilla.org/listinfo/dev-platform"> 메일링 리스트</a></li>
+
+
+ <li><a href="http://groups.google.com/group/mozilla.dev.platform"> 뉴스그룹</a></li>
+ <li><a href="http://groups.google.com/group/mozilla.dev.platform/feeds"> 웹 Feed</a></li>
+</ul><p></p> <ul> <li><a class="link-irc" href="irc://irc.mozilla.org/#xulrunner">#xulrunner on irc.mozilla.org</a></li> <li><a href="/ko/XULRunner/Community" title="ko/XULRunner/Community">Other community links...</a></li> </ul> <h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C">관련 주제</h4> <dl> <dd><a href="/ko/XUL" title="ko/XUL">XUL</a></dd> </dl> </td> </tr> </tbody>
+</table>
+<p><span class="comment">Categories</span></p>
+<p><span class="comment">Interwiki Language Links</span></p>
+<p> </p>
+<p></p>
diff --git a/files/ko/archive/mozilla/xulrunner/what_xulrunner_provides/index.html b/files/ko/archive/mozilla/xulrunner/what_xulrunner_provides/index.html
new file mode 100644
index 0000000000..c4b6c5ed6f
--- /dev/null
+++ b/files/ko/archive/mozilla/xulrunner/what_xulrunner_provides/index.html
@@ -0,0 +1,64 @@
+---
+title: What XULRunner Provides
+slug: Archive/Mozilla/XULRunner/What_XULRunner_Provides
+tags:
+ - XUL
+ - XULRunner
+translation_of: Archive/Mozilla/XULRunner/What_XULRunner_Provides
+---
+<p> </p>
+<p><a href="/ko/XULRunner" title="ko/XULRunner">XULRunner</a>의 목적은 XUL 어플리케이션(주요하게 파이어폭스와 썬더버드)을 구축하기 위한 방안 뿐만 아니라 내장 기법을 제공하는 것입니다. 다음 특징이 이미 구현되어 있거나 계획되어 있습니다.</p>
+<p> </p>
+<h3 id="Gecko_Features" name="Gecko_Features">Gecko Features</h3>
+<ul>
+ <li><a href="/ko/XPCOM" title="ko/XPCOM">XPCOM</a></li>
+ <li>네트워킹</li>
+ <li>Gecko 렌더링 엔진</li>
+ <li>DOM 편집과 트랜잭션 지원 (no UI)</li>
+ <li>암호화</li>
+ <li><a href="/ko/XBL" title="ko/XBL">XBL</a> (XBL2 계획됨)</li>
+ <li><a href="/ko/XUL" title="ko/XUL">XUL</a></li>
+ <li><a href="/ko/SVG" title="ko/SVG">SVG</a></li>
+ <li><a href="/ko/XSLT" title="ko/XSLT">XSLT</a></li>
+ <li>XML Extras (<code><a href="/ko/XMLHttpRequest" title="ko/XMLHttpRequest">XMLHttpRequest</a></code>, <code><a href="/ko/DOMParser" title="ko/DOMParser">DOMParser</a></code>, etc.)</li>
+ <li>웹서비스 (SOAP)</li>
+ <li>자동 업데이트 지원 <em>(아직 완성 안됨)</em></li>
+ <li>Type ahead find toolbar</li>
+ <li>히스토리 구현 (the places implementation in the 1.9 cycle)</li>
+ <li>Accessibility 지원</li>
+ <li>gecko 기반 어플리케이션 간의 IPC 서비스 <em>(아직 완성 안됨)</em></li>
+ <li><a href="/ko/Storage" title="ko/Storage">Storage</a>/sqlite interfaces <em>(기본으로 활성화되지 않음)</em></li>
+</ul>
+<h3 id=".EC.82.AC.EC.9A.A9.EC.9E.90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_Features" name=".EC.82.AC.EC.9A.A9.EC.9E.90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_Features">사용자 인터페이스 Features</h3>
+<p>XULRunner는 다음과 같은 사용자 인터페이스를 제공하며, 특정 조건하에 XULRunner기반 어플리케이션에서 사용하게 됩니다.</p>
+<ul>
+ <li>XUL 어플리케이션을 설치 및 제거하고 업그레이드하는데 필요한 API와 사용자 인터페이스를 제공합니다. 더 많은 정보는 <a class="wikimo" href="https://wiki.mozilla.org/XUL:Installation_Story" title="wikimo:XUL:Installation Story">wikimo:XUL:Installation Story</a>를 보세요.</li>
+ <li>Extension Manager</li>
+ <li>File picker (uses native OS filepicker as appropriate)</li>
+ <li>Find toolbar</li>
+ <li>Helper app dialog/UI</li>
+ <li>Security UI (maintenance of SSL keychains, etc)</li>
+</ul>
+<h3 id="Embedding_APIs" name="Embedding_APIs">Embedding APIs</h3>
+<p>XULRunner는 다음과 같은 임베딩 API를 제공합니다.</p>
+<ul>
+ <li>크로스 플랫폼 임베딩(Cross-platform embedding) (XRE_InitEmbedding)</li>
+ <li><a href="/ko/JavaXPCOM" title="ko/JavaXPCOM">JavaXPCOM</a> 임베딩</li>
+ <li>gtkmozembed (리눅스 only)</li>
+ <li>ActiveX 콘트롤 (윈도즈 only) <em>(아직 완성 안됨)</em></li>
+ <li>NSView 기반 위젯 (Mac OS X only) <em>(아직 완성 안됨)</em></li>
+</ul>
+<h3 id="The_.22Maybe.22_List" name="The_.22Maybe.22_List">The "Maybe" List</h3>
+<p>다음 기능은 이미 논의되어왔고 향후 추가될 예정입니다.</p>
+<ul>
+ <li>LDAP 지원</li>
+ <li>Spellchecking 지원 (사전 제공 또는 제공없이) <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=285977">bug 285977</a>참고</li>
+ <li>프로파일 로밍을 위한 코어 지원(with application-specific extensibility)</li>
+ <li><a href="/ko/PyXPCOM" title="ko/PyXPCOM">PyXPCOM</a> 임베딩 <em>(아직 완성 안됨)</em></li>
+</ul>
+<h3 id="What.27s_out" name="What.27s_out">What's out</h3>
+<p>다음과 같은 기능은 제공하지 않습니다.</p>
+<ul>
+ <li>북마크 또는 히스토리 UI (애플리케이션에 의해 관리되어야함)</li>
+ <li>XForms (XForms은 확장으로 제공됨)</li>
+</ul>
diff --git a/files/ko/archive/mozilla/xulrunner/xul_application_packaging/index.html b/files/ko/archive/mozilla/xulrunner/xul_application_packaging/index.html
new file mode 100644
index 0000000000..498bee239e
--- /dev/null
+++ b/files/ko/archive/mozilla/xulrunner/xul_application_packaging/index.html
@@ -0,0 +1,107 @@
+---
+title: XUL Application Packaging
+slug: Archive/Mozilla/XULRunner/XUL_Application_Packaging
+tags:
+ - XUL
+ - XULRunner
+translation_of: Archive/Mozilla/XULRunner/XUL_Application_Packaging
+---
+<p><a href="ko/XULRunner">XULRunner</a> 응용프로그램 꾸러미(package)는 (Firefox 확장 기능처럼) 표준 <a href="ko/Bundles">toolkit 묶음</a>인데, 응용프로그램 기술을 돕는 추가 manifest 파일(&lt;tt&gt;application.ini&lt;/tt&gt;)을 하나 갖습니다. XUL 응용프로그램 꾸러미는 대체로 ZIP으로 압축되며 확장자는 .xulapp나 .xpi입니다. XULRunner 명령줄 flag "-install-app"로 설치할 수 있습니다(<a href="ko/XULRunner_1.8.0.4_Release_Notes">XULRunner 1.8.0.4 출시 노트</a> 참조).</p>
+<h3 id="application.ini" name="application.ini">application.ini</h3>
+<p>&lt;tt&gt;application.ini&lt;/tt&gt; manifest는 확장기능의 루트에 위치하고 XULRunner가 바르게 응용프로그램을 띄우게 하는 메타데이터(metadata)를 제공합니다. 파일은 &lt;tt&gt;[Headings]&lt;/tt&gt;와 &lt;tt&gt;Key=Value&lt;/tt&gt; 쌍을 갖는 Windows 방식 INI 파일로 분석됩니다. &lt;tt&gt;;&lt;/tt&gt;이나 &lt;tt&gt;#&lt;/tt&gt;으로 시작하는 줄은 주석으로 여깁니다.</p>
+<p>본보기 application.ini 파일은 <a href="https://dxr.mozilla.org/mozilla-central/source/xulrunner/examples/simple/application.ini" rel="custom">mozilla source tree</a>에 있습니다.</p>
+<h4 id=".5BApp.5D_.EC.A0.88" name=".5BApp.5D_.EC.A0.88">[App] 절</h4>
+<p>&lt;tt&gt;App&lt;/tt&gt; 절(section)은 응용프로그램에 관한 메타데이터를 지정합니다.</p>
+<p> </p>
+<dl>
+ <dt>
+ Name</dt>
+ <dd>
+ 응용프로그램 이름을 지정합니다.<br>
+ 필수.<br>
+ 보기: &lt;tt&gt;Name=TestApplication&lt;/tt&gt;
+ <p> </p>
+ </dd>
+ <dt>
+ Version</dt>
+ <dd>
+ 응용프로그램 판 번호를 지정합니다.<br>
+ 필수.<br>
+ 판 번호 매김 세부 사항은 <a href="ko/Toolkit_version_format">Toolkit 판 구성</a> 참조.<br>
+ 보기: &lt;tt&gt;Version=0.1&lt;/tt&gt;
+ <p> </p>
+ </dd>
+ <dt>
+ BuildID</dt>
+ <dd>
+ 유일한 build 식별자(identifier)를 지정합니다. 이는 대체로 날짜 식별자이고 매 응용프로그램 출시 때마다 달라야 합니다.<br>
+ 필수.<br>
+ 보기: &lt;tt&gt;BuildID=20060201&lt;/tt&gt;
+ <p> </p>
+ </dd>
+ <dt>
+ ID</dt>
+ <dd>
+ 유일한 응용프로그램 ID를 지정합니다.<br>
+ 필수.<br>
+ 응용프로그램 ID는, <a href="ko/Install_Manifests#id">확장 기능 ID</a>와 같이, email &lt;tt&gt;<a class="link-mailto" href="mailto:ApplicationName@vendor.tld" rel="freelink">ApplicationName@vendor.tld</a>&lt;/tt&gt;이나 UUID &lt;tt&gt;{12345678-1234-1234-1234-123456789abc}&lt;/tt&gt; 형식 중 하나처럼 구성할 수 있습니다. 새로 개발된 응용프로그램은 email 형식을 권장합니다.<br>
+ 보기: &lt;tt&gt;<a class="link-mailto" href="mailto:ID=TestApplication@example.tld" rel="freelink">ID=TestApplication@example.tld</a>&lt;/tt&gt;
+ <p> </p>
+ </dd>
+ <dt>
+ Vendor</dt>
+ <dd>
+ 응용프로그램 vendor를 지정합니다.<br>
+ 선택.<br>
+ 보기: &lt;tt&gt;Vendor=Grinch Productions&lt;/tt&gt;
+ <p> </p>
+ </dd>
+</dl>
+<h4 id=".5BGecko.5D_.EC.A0.88" name=".5BGecko.5D_.EC.A0.88">[Gecko] 절</h4>
+<p>&lt;tt&gt;Gecko&lt;/tt&gt; 절은 응용프로그램에 필요한 XULRunner 판을 지정합니다.</p>
+<p> </p>
+<p> </p>
+<dl>
+ <dt>
+ MinVersion</dt>
+ <dd>
+ 이 응용프로그램에 필요한 XULRunner 최소판을 지정합니다.<br>
+ 필수.<br>
+ 보기: &lt;tt&gt;MinVersion=1.8&lt;/tt&gt;
+ <p> </p>
+ </dd>
+ <dt>
+ MaxVersion</dt>
+ <dd>
+ 이 응용프로그램에 필요한 XULRunner 최대판을 지정합니다.<br>
+ 선택 - 기본값은 XULRunner 2판보다 작은 판입니다.<br>
+ 보기: &lt;tt&gt;MaxVersion=1.8.0.*&lt;/tt&gt;
+ <p> </p>
+ </dd>
+</dl>
+<h4 id=".5BXRE.5D_.EC.A0.88" name=".5BXRE.5D_.EC.A0.88">[XRE] 절</h4>
+<p>&lt;tt&gt;XRE&lt;/tt&gt; 절은 사용할 수 있는 다양한 XULRunner 시동 기능들을 지정합니다.</p>
+<p> </p>
+<p> </p>
+<dl>
+ <dt id="em">
+ EnableExtensionManager</dt>
+ <dd>
+ 확장 기능과 확장 기능 관리를 사용 여부를 지정합니다. 맞는 값은 1과 0입니다.<br>
+ 선택 - 기본값은 0입니다.<br>
+ 주의: 이 옵션은 확장 기능/테마 관리자를 UI에서 이용할 수 있게 하는 메뉴 항목을 추가하지 않습니다; 그 일은 응용프로그램 제작자 몫입니다.<br>
+ 보기: &lt;tt&gt;EnableExtensionManager=1&lt;/tt&gt;
+ <p> </p>
+ </dd>
+ <dt>
+ EnableProfileMigrator&lt;/dt&gt;</dt>
+ <dd>
+ 응용프로그램을 처음으로 띄우고 프로파일이 없을 때, nsIProfileMigrator 인터페이스를 통해 프로파일 이전 코드 사용 여부를 지정합니다. 맞는 값은 1과 0입니다.<br>
+ 선택 - 기본값은 0입니다.<br>
+ 주의: 응용프로그램 제작자에게 <a href="https://dxr.mozilla.org/mozilla-central/source/toolkit/profile/public/nsIProfileMigrator.idl" rel="custom">nsIProfileMigrator 인터페이스</a>를 구현할 책임이 있습니다; 만약 구현이 없으면 이전이 수행되지 않습니다.<br>
+ 보기: &lt;tt&gt;EnableProfileMigrator=1&lt;/tt&gt;
+ <p> </p>
+ </dd>
+</dl>
+<p><span class="comment">Interwiki Language Links</span></p>
+<p></p>
diff --git a/files/ko/archive/mozilla/xulrunner/xulrunner_faq/index.html b/files/ko/archive/mozilla/xulrunner/xulrunner_faq/index.html
new file mode 100644
index 0000000000..35b81ee4da
--- /dev/null
+++ b/files/ko/archive/mozilla/xulrunner/xulrunner_faq/index.html
@@ -0,0 +1,64 @@
+---
+title: XULRunner FAQ (자주 하는 질문)
+slug: Archive/Mozilla/XULRunner/XULRunner_FAQ
+tags:
+ - FAQ
+ - XUL
+ - XULRunner
+ - 도움말
+ - 주요문의
+ - 질문과 답변
+translation_of: Archive/Mozilla/XULRunner/FAQ
+---
+<p> </p>
+<p>이 페이지는 <a href="/en-US/docs/XULRunner" style="line-height: inherit;" title="/en-US/docs/XULRunner">XULRunner</a>에 관한 많은 분들의 질문들에 대한 답변과 공통적으로 오해하는 내용들을 바로잡기 위해 작성되었습니다.</p>
+<p> </p>
+<dl>
+ <dt>
+ XULRunner는 브라우저인가요?</dt>
+ <dd>
+ 아니오. 브라우저<span style="line-height: inherit;">(</span><a class="external" href="http://benjamin.smedbergs.us/xulrunner/" style="line-height: inherit;">제가 만든 브라우저 예제</a><span style="line-height: inherit;"> 또는  Firefox)를 만들기 위해 XULRunner를 사용하실 수는 있습니다. 하지만 </span><span style="line-height: inherit;">"XULRunner browser" 같은 건 없습니다.</span></dd>
+ <dt>
+ XULRunner는 개발 도구인가요?</dt>
+ <dd>
+ 딱히 그렇다고 볼 순 없습니다. XULRunner는 인터넷 기술 실행도구(Runtime)입니다. XULRunner는 (예를 들면 <a class="external" href="http://www.alphaworks.ibm.com/tech/ajaxtk" style="line-height: inherit;">AJAX Toolkit Framework</a><span style="line-height: inherit;"> 같은) </span><span style="line-height: inherit;">개발 도구의 제작에 활용될 수 있습니다.</span><span style="line-height: inherit;"> 훗날에는 다양한 개발 도구들을 포함하는 XULRunner 개발 키트(Developer Kit)가 나올 수도 있겠지요.</span></dd>
+ <dt>
+ XULRunner를 Java, .NET(또는 Python) 등의 다른 실행도구(Runtime)들과 비교하면 어떻게 다른가요?</dt>
+ <dd>
+ XULRunner의 목적은 인터넷 응용프로그램의 개발과 배포를 더욱 빠르게 해주기 위한 것입니다. 그렇기 때문에 모든 기능을 포함하는 실행도구가 될 필요가 없는 것이지요. 이러한 이유로 다른 여타의 방대한 기능을 제공하는 실행도구들에 비해, XULRunner는 아주 약간의 변화와 더욱 간소화된 배포 전략을 취할 수 있었습니다.</dd>
+ <dt>
+ XULRunner를 사용한다면 저의 응용 프로그램을 XUL로 작성해야만 하나요?</dt>
+ <dd>
+ 아닙니다! 여러분은 Mozilla 웹 플랫폼<span style="line-height: inherit;">(HTML, XHTML, SVG 또는 XUL이 포함됨)</span><span style="line-height: inherit;">에 의해 지원되는 어떠한 언어로도 응용 프로그램을 만드실 수 있습니다.</span></dd>
+ <dt>
+ 그렇다면 왜 XULRunner이라고 불러야 하죠? HTMLRunner나 다른 이름으로도 불러도 될텐데?</dt>
+ <dd>
+ XUL은 mozilla의 응용 프로그램의 UI에 항상 선택되어 왔던 기본 언어였습니다. 그리고  메인 라이브러리의 명칭이 libXUL이였습니다. 이런 이유들로 불리워진 이름이 고착화 되어서 지금에 이르게 된 것이지요.</dd>
+ <dt>
+ 언제쯤이면 Firefox가 XULRunner 기반으로 제작될 예정이지요?</dt>
+ <dd>
+ FireFox의 공식 배포 버전을 그렇게 변경하지는 않을 것입니다. 이미 XULRunner 기반으로 FireFox를 실행하는 것은 지금도 가능하고, 일부 Linux 배포판에서도 이미 이런 식으로 구동이 되고 있습니다.</dd>
+ <dt>
+ XULRunner의 설치는 왜 그리 어려운가요? 쉽고 편리한 설치 도구는 없나요?</dt>
+ <dd>
+ 왜나하면 아직 아무도 그런 코드를 만들지 않아서입니다! 다음은 개발자 프리뷰 배포 내용입니다.</dd>
+ <dd>
+ XULRunner 및 XULRunner 기반 응용 프로그램의 설치와 배포를 위한 추가 기능들은 차후의 릴리즈에 반영될 것입니다.</dd>
+ <dt>
+ XUL 응용 프로그램을 제작 중인데요, 저의 사용자들에게 어떻게 응용 프로그램을 배포할 수 있나요?</dt>
+ <dd>
+ 지금 현재로써 Mozilla는 각각의 응용 프로그램별로 XULRunner를 따로 포함시켜 배포하시기를 권해 드립니다. 더 자세한 정보는 <a href="https://developer.mozilla.org/en/XULRunner/Deploying_XULRunner_1.8" style="line-height: inherit;" title="en/XULRunner/Deploying_XULRunner_1.8">XULRunner 1.8 배포하기</a><span style="line-height: inherit;">를 확인하세요.</span></dd>
+ <dt>
+ 소스 코드는 어디에서 찾을 수 있나요?</dt>
+ <dd>
+ <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.8.0.4/source/xulrunner-1.8.0.4-source.tar.bz2" style="padding-right: 16px; background-color: transparent;">여기에서 확인하세요.</a></dd>
+ <dt>
+ 제가 버그를 발견한 것 같은데요, 어떻게 알려드릴 수 있나요?</dt>
+ <dd>
+ <a class="external link-https" href="https://bugzilla.mozilla.org/" style="padding-right: 16px; background-color: transparent;">bugzilla.mozilla.org</a> 사이트는 모든 Mozilla 제품들의 버그를 추적하기 위해 이용됩니다. 미리 검색을 해서 여러분의 버그가 아직 보고되지 않은 것임을 확인해 주세요.</dd>
+ <dt>
+ 어떻게 도움을 줄 수 있나요?</dt>
+ <dd>
+ XULRunner에 도움을 주고 싶지만 어디에서부터 시작해야 할지를 모르신다면, <a href="https://developer.mozilla.org/en/XULRunner/Community" title="en/XULRunner/Community">XULRunner:커뮤니티</a> 페이지를 방문해서 뉴스그룹이나 IRC 채널에서 질문해 보세요.</dd>
+</dl>
+<p></p>
diff --git a/files/ko/archive/mozilla/xulrunner/xulrunner_hall_of_fame/index.html b/files/ko/archive/mozilla/xulrunner/xulrunner_hall_of_fame/index.html
new file mode 100644
index 0000000000..ed5384c6b1
--- /dev/null
+++ b/files/ko/archive/mozilla/xulrunner/xulrunner_hall_of_fame/index.html
@@ -0,0 +1,178 @@
+---
+title: XULRunner Hall of Fame
+slug: Archive/Mozilla/XULRunner/XULRunner_Hall_of_Fame
+tags:
+ - XUL
+ - XULRunner
+ - enterprise
+translation_of: Archive/Mozilla/XULRunner/Hall_of_Fame
+---
+<p> </p>
+<h3 id="XULRunner_.EA.B8.B0.EB.B0.98_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8" name="XULRunner_.EA.B8.B0.EB.B0.98_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8">XULRunner 기반 프로그램</h3>
+<ul>
+ <li><a class="external" href="http://chatzilla.rdmsoft.com/xulrunner/">ChatZilla</a>
+ <ul>
+ <li>ChatZilla IRC client 독립 프로그램.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://ffsearchplugins.free.fr/clines/index.php#xulrunner">Clines</a>
+ <ul>
+ <li>Color Lines 게임 프로그램</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.psyc.us">CocoaPSYC.app</a>
+ <ul>
+ <li>A <a class="external" href="http://about.psyc.eu">PSYC</a> IM/Chat client for Mac OS X (Also available as a Firefox extension)</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.twinsoft.com/intl/en/cariocaweb/convertigo-ems-enterprise-mashup-server.htm">Convertigo Enterprise Mashup Server</a>
+ <ul>
+ <li>기업형 매쉬업 서비스를 만들기 위한 프로그램</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://daim.project.free.fr/">DAIM (fr)</a> / <a class="external" href="http://daim.project.free.fr/index_en.html">DAIM (English)</a>)
+ <ul>
+ <li>superb tool for image analysis build on top of a professional imagelib</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://developer.emusic.com/">eMusic Remote</a>
+ <ul>
+ <li>The eMusic Remote makes downloading from eMusic a snap.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://open-ils.org/">Evergreen - Staff Client</a>
+ <ul>
+ <li>Evergreen is an open source library system.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://mathijs.jurresip.nl/findthatfont/">FindThatFont!</a>
+ <ul>
+ <li>Font managing tool for Windows and Linux, that helps you find the font you're looking for.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.jakinbidea.com/?page_id=39">GencatRss</a>
+ <ul>
+ <li>An RSS feeds manager.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://services.google.com/adwordseditor/index.html">Google AdWords Editor</a>
+ <ul>
+ <li>AdWords Editor is Google's free, downloadable account management application for your computer.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.birgin.de/produkte/ida/index_EN.php">IDA</a>
+ <ul>
+ <li>E-Learning authoring system to easily create web based learning applications</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.joost.com/">Joost</a> (previously codenamed <a class="external" href="http://www.theveniceproject.com">The Venice Project</a>)
+ <ul>
+ <li>"All the things you love about TV, fused with the interactive power of the internet"</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.kirix.com/">Kirix Strata</a>
+ <ul>
+ <li>A new specialty browser for accessing and manipulating data from the web</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.mangoproject.org/">Mango</a>
+ <ul>
+ <li>A Jabber client.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.getmiro.com/">Miro Media Player</a> (formerly known as Democracy Player)
+ <ul>
+ <li>"the free and open source internet TV platform"</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://davidkellogg.com/wiki/Main_Page">Plain Old Webserver</a>
+ <ul>
+ <li>A fully-functioning webserver that runs server-side Javascript.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.songbirdnest.com/">Songbird</a>
+ <ul>
+ <li>"Songbird™ is a desktop Web player, a digital jukebox and Web browser mash-up"</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://telekast.sourceforge.net/">TeleKast</a>
+ <ul>
+ <li>An open source teleprompter and script editor</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.tomtom.com">TomTom HOME 2</a>
+ <ul>
+ <li>PC application to manage TomTom GPS devices</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.openwengo.org">WengoPhone</a>
+ <ul>
+ <li>A SIP/XMPP-based IM/VoIP client.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www-03.ibm.com/developerworks/blogs/page/CompApps?entry=how_to_run_xul_applications">Lotus Notes / Sametime</a>
+ <ul>
+ <li>The latest version of IBM Lotus Notes and Sametime can embed xul application.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://developer.mozilla.org/en/docs/Category:Mozilla_Webclient">Embed XULRunner in Java</a></li>
+</ul>
+<h3 id=".EC.9C.A0.ED.8B.B8.EB.A6.AC.ED.8B.B0.2F.ED.94.84.EB.A1.9C.ED.86.A0.ED.83.80.EC.9E.85" name=".EC.9C.A0.ED.8B.B8.EB.A6.AC.ED.8B.B0.2F.ED.94.84.EB.A1.9C.ED.86.A0.ED.83.80.EC.9E.85">유틸리티/프로토타입</h3>
+<ul>
+ <li><a class="external" href="http://www.eclipse.org/atf/">AJAX Toolkit Framework (ATF)</a>
+ <ul>
+ <li>A part of the Eclipse Web Tools Platform (WTP)</li>
+ </ul>
+ </li>
+ <li>Benjamin's <a class="external" href="http://benjamin.smedbergs.us/xulrunner/">XULRunner examples</a>
+ <ul>
+ <li>"mybrowser is a very simple example browser", xulmine</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://exch.mozdev.org/">Exch</a>
+ <ul>
+ <li>A currency conversion tool using updated data from <a class="external" href="http://finance.yahoo.com/currency" rel="freelink">http://finance.yahoo.com/currency</a>. You can use the Firefox extension or the stand-alone XUL application.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://opendocumentfellowship.org/odfviewer">OpenDocument Viewer</a>
+ <ul>
+ <li>Cross-platform viewer for OpenDocument files.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://blogs.acceleration.net/ryan/articles/2018.aspx">TaskPool</a>
+ <ul>
+ <li>TaskPool is a little application to help keep track of time. You can add tasks to a pool, turn them on and off, and it will tick off seconds.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.treebuilder.de/default.asp?file=257091.xml">SVGclock</a>
+ <ul>
+ <li>An SVG-based clock.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://simile.mit.edu/crowbar/">Crowbar</a>
+ <ul>
+ <li>A web scraping environment based on the use of a server-side headless mozilla-based browser.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.jinsync.com/?q=node/9">30b</a>
+ <ul>
+ <li>A XULRunner-based wrapper for 30boxes.com</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://starkravingfinkle.org/blog/xul-explorer/">XUL Explorer</a>
+ <ul>
+ <li>"a lightweight XUL IDE... an easy way to experiment with XUL"</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://www.smellman.homelinux.org/mozilla/xulapp.html#foxkehclock">Foxkeh Clock</a> (for Japanese page)
+ <ul>
+ <li>A clock application based charactor <a class="external" href="http://www.foxkeh.com/">Foxkeh</a>.</li>
+ </ul>
+ </li>
+ <li><a class="external" href="http://starkravingfinkle.org/blog/2007/07/webrunner-05-now-with-more-power/">WebRunner</a>
+ <ul>
+ <li>A simple, minimal web browser shell or "Single site browser." Useful for running web applications such as gmail in a separate browser process.</li>
+ </ul>
+ </li>
+</ul>
+<p></p>
diff --git a/files/ko/archive/mozilla/xulrunner/xulrunner_tips/index.html b/files/ko/archive/mozilla/xulrunner/xulrunner_tips/index.html
new file mode 100644
index 0000000000..44d681cd22
--- /dev/null
+++ b/files/ko/archive/mozilla/xulrunner/xulrunner_tips/index.html
@@ -0,0 +1,168 @@
+---
+title: XULRunner tips
+slug: Archive/Mozilla/XULRunner/XULRunner_tips
+tags:
+ - XUL
+ - XULRunner
+translation_of: Archive/Mozilla/XULRunner/Tips
+---
+<p>XULRunner Frequently Asked Questions. Work in progress.</p>
+<h2 id="Extension_Manager" name="Extension_Manager">Extension Manager</h2>
+<p>To be able to install any extensions, you first need to enable the Extension Manager in <a href="ko/XUL_Application_Packaging#em">application.ini</a>. XULRunner 1.8.0 does not load extensions from the application directory; only the XULRunner directory and the user profile directory are checked. The following prefs must also be set to make the XPInstall dialog, extension manager, and theme manager work:</p>
+<pre class="eval">pref("xpinstall.dialog.confirm", "<a class="external" rel="freelink">chrome://mozapps/content/xpinstall/x...allConfirm.xul</a>");
+pref("xpinstall.dialog.progress.skin", "<a class="external" rel="freelink">chrome://mozapps/content/extensions/...ul?type=themes</a>");
+pref("xpinstall.dialog.progress.chrome", "<a class="external" rel="freelink">chrome://mozapps/content/extensions/...ype=extensions</a>");
+pref("xpinstall.dialog.progress.type.skin", "Extension:Manager-themes");
+pref("xpinstall.dialog.progress.type.chrome", "Extension:Manager-extensions");
+pref("extensions.update.enabled", true);
+pref("extensions.update.interval", 86400);
+pref("extensions.dss.enabled", false);
+pref("extensions.dss.switchPending", false);
+pref("extensions.ignoreMTimeChanges", false);
+pref("extensions.logging.enabled", false);
+pref("general.skins.selectedSkin", "classic/1.0");
+// NB these point at AMO
+pref("extensions.update.url", "<a class="external" rel="freelink">chrome://mozapps/locale/extensions/e...ons.properties</a>");
+pref("extensions.getMoreExtensionsURL", "<a class="external" rel="freelink">chrome://mozapps/locale/extensions/e...ons.properties</a>");
+pref("extensions.getMoreThemesURL", "<a class="external" rel="freelink">chrome://mozapps/locale/extensions/e...ons.properties</a>");
+</pre>
+<h2 id="Useful_Chrome_URLs" name="Useful_Chrome_URLs">Useful Chrome URLs</h2>
+<p>Most of these require <a href="#Branding"> branding</a>.</p>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th>Window</th>
+ <th>URL</th>
+ <th>Window Type</th>
+ </tr>
+ <tr>
+ <td>Extension Manager</td>
+ <td><a class="external" rel="freelink">chrome://mozapps/content/extensions/...ype=extensions</a></td>
+ <td>Extension:Manager-extensions</td>
+ </tr>
+ <tr>
+ <td>Theme Manager</td>
+ <td><a class="external" rel="freelink">chrome://mozapps/content/extensions/...ul?type=themes</a></td>
+ <td>Extension:Manager-themes</td>
+ </tr>
+ <tr>
+ <td>JavaScript Console</td>
+ <td><a class="external" rel="freelink">chrome://global/content/console.xul</a></td>
+ <td>global:console</td>
+ </tr>
+ <tr>
+ <td>about:config</td>
+ <td><a class="external" rel="freelink">chrome://global/content/config.xul</a></td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+<h2 id="Developer_Extensions" name="Developer_Extensions">Developer Extensions</h2>
+<p>--<a>Tlaurenzo</a> 17:34, 17 March 2006 (PST)There is another way to go about this. See my <a class="external" href="http://tjlaurenzo.blogspot.com/2006/03/getting-dev-tools-working-with.html">blog post</a> for a working method to get Venkman and the Extension Developer's Extension working in XULRunner apps.</p>
+<h3 id="Venkman" name="Venkman"><a href="ko/Venkman">Venkman</a></h3>
+<ul>
+ <li>Need a custom build or a compatible extension</li>
+ <li>Need to edit compatibility in
+ <i>
+ install.rdf</i>
+ to match the id and versions in application.ini</li>
+ <li>Needs a method to start venkman (usually by overlaying the main XUL file, similar to existing code for Firefox, Suite, etc.)</li>
+ <li>The function toOpenWindowByType() needs to be defined. I found a working stub on <a class="external" href="http://tjlaurenzo.blogspot.com/2006/03/getting-dev-tools-working-with.html">this blog</a>. Any better suggestion?</li>
+ <li>Venkman uses "<a class="external" rel="freelink">chrome://communicator/skin/</a>" as an alias for "<a class="external" rel="freelink">chrome://global/skin/</a>" and this alias was maintained in the XULRunner toolkit until XULRunner 1.9 was released. When using XULRunner 1.9 or greater, you can create your own alias"</li>
+</ul>
+<pre>in your chrome manifest add a "skin" line:
+
+skin communicator classic/1.0 skin/communicator/
+
+add a skin folder named "communicator" and add a single CSS file named "communicator.css" with this content:
+
+@import url("chrome://global/skin/");
+</pre>
+<h3 id="DOM_Inspector" name="DOM_Inspector"><a href="ko/DOM_Inspector">DOM Inspector</a></h3>
+<p>Same as venkman</p>
+<h3 id="Component_Viewer" name="Component_Viewer">Component Viewer</h3>
+<p>Need custom build, first of all. What else?</p>
+<h3 id="Extension_Developer.27s_Extension" name="Extension_Developer.27s_Extension">Extension Developer's Extension</h3>
+<p><a class="external" href="http://ted.mielczarek.org/code/mozilla/extensiondev/">Extension Developer's Extension</a> is a useful tool, featuring Live XUL Editor and JavaScript Shell.</p>
+<p>To install the extension into your application you'll need to hack its install.rdf (see above). You'll probably also want to create menuitems that let you open the JS Shell and other tools provided by the extension.</p>
+<h2 id="Branding" name="Branding">Branding</h2>
+<p>Branding is a <a href="ko/Chrome_Registration">chrome package</a> containing product-specific information (e.g. the product name, vendor, and logo).</p>
+<p>Some XULRunner components (in particular, the <a href="#Extension_Manager"> Extension Manager</a>) depend on branding, in the sense that they expect to find certain strings in &lt;tt&gt;<a class="external" rel="freelink">chrome://branding/locale/brand.dtd</a>&lt;/tt&gt; and &lt;tt&gt;<a class="external" rel="freelink">chrome://branding/locale/brand.properties</a>&lt;/tt&gt;.</p>
+<p>In order to satisfy these dependencies, you can save Firefox's &lt;tt&gt;brand.dtd&lt;/tt&gt;/&lt;tt&gt;brand.properties&lt;/tt&gt; to &lt;tt&gt;chrome/locale/branding&lt;/tt&gt; folder, modify them appropriately, and <a href="ko/Chrome_Registration#locale">register a locale provider</a> for &lt;tt&gt;branding&lt;/tt&gt; by adding the following line to your chrome manifest:</p>
+<pre class="eval">locale branding en-US chrome/locale/branding/
+</pre>
+<p>The location you put the branding files in doesn't matter, as long as you register it appropriately in the manifest.</p>
+<p>In addition, a branding content package <a href="ko/Chrome_Registration#content">must be registered</a> to include the application logo:</p>
+<pre class="eval">content branding chrome/branding
+</pre>
+<p>2 icon files must provided in this folder :
+ <i>
+ icon48.png</i>
+ and
+ <i>
+ icon64.png</i>
+ . See <a class="external" href="http://mxr.mozilla.org/mozilla/source/other-licenses/branding/firefox/content/">Firefox</a> for example.</p>
+<p><span class="comment">In ''~.mozconfig'': ac_add_options --enable-branding=« branding location »</span></p>
+<h3 id="Making_Windows_display_correct_application_name_and_icon_when_buttons_are_grouped" name="Making_Windows_display_correct_application_name_and_icon_when_buttons_are_grouped">Making Windows display correct application name and icon when buttons are grouped</h3>
+<p>By default, the task bar on Windows might group windows belonging to the same process into one button to save space. This button is usually called "xulrunner.exe" and has XULRunner's icon. There are two approaches to display the branding of your application instead:</p>
+<ul>
+ <li>When compiling XULRunner yourself: create a file module.ver in the directory mozilla/xulrunner/app with the contents:
+ <pre>WIN32_MODULE_DESCRIPTION=MyApplication</pre>
+ <p>MyApplication should be replaced by whatever you want to see as title of the button. You can also replace xulrunner.ico in the same directory to change XULRunner's icon to the icon of your application.</p>
+ </li>
+ <li>With a precompiled XULRunner: use xulrunner-stub.exe to start your application but rename it into MyApplication.exe. With XULRunner 1.9 this will make the desired name appear in the task bar (not with XULRunner 1.8 however). Your application's icon can also be added to this executable with a tool like <a class="external" href="http://www.angusj.com/resourcehacker/">Resource Hacker</a>.</li>
+</ul>
+<h2 id="Reading_command_line_arguments" name="Reading_command_line_arguments">Reading command line arguments</h2>
+<p>See <a href="ko/Chrome/Command_Line">Chrome: Command Line</a>. Command line arguments are handled via nsICommandLineHandler as usual.</p>
+<p><span class="comment">= Can i have JavaScript errors / warnings directed to stdout instead of the jsconsole? = See <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=306263" title="https://bugzilla.mozilla.org/show_bug.cgi?id=306263">#306263</a> This doesn't do anything (1.8.0.1): xulrunner -app application.ini -console This neither (1.8.0.1) in ''defaults/preferences/«application name».js'': pref("javascript.options.strict", true); pref("javascript.options.showInConsole", true); pref("browser.dom.window.dump.enabled", true);</span></p>
+<p> </p>
+<h2 id="Preferences_needed_for_file_download_dialogs" name="Preferences_needed_for_file_download_dialogs">Preferences needed for file download dialogs</h2>
+<p>To use the unknown-content-type and file-downloads dialogs from a &lt;browser&gt; element, you need to add the following prefs:</p>
+<pre class="eval">pref("browser.download.useDownloadDir", true);
+pref("browser.download.folderList", 0);
+pref("browser.download.manager.showAlertOnComplete", true);
+pref("browser.download.manager.showAlertInterval", 2000);
+pref("browser.download.manager.retention", 2);
+pref("browser.download.manager.showWhenStarting", true);
+pref("browser.download.manager.useWindow", true);
+pref("browser.download.manager.closeWhenDone", true);
+pref("browser.download.manager.openDelay", 0);
+pref("browser.download.manager.focusWhenStarting", false);
+pref("browser.download.manager.flashCount", 2);
+//
+pref("alerts.slideIncrement", 1);
+pref("alerts.slideIncrementTime", 10);
+pref("alerts.totalOpenTime", 4000);
+pref("alerts.height", 50);
+</pre>
+<p>If you are missing preferences that a dialog requires, you will get the following errors:</p>
+<pre class="eval">Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getBoolPref]
+
+Error: dialog has no properties
+Source File: <a class="external" rel="freelink">chrome://mozapps/content/downloads/u...ontentType.xul</a>
+Line: 1
+</pre>
+<p> </p>
+<h2 id="Enabling_Password_Manager" name="Enabling_Password_Manager">Enabling Password Manager</h2>
+<p>These preferences seem to be the default in Firefox, however, they are missing in XULRunner. Without these settings Password Manager will not store login details.</p>
+<pre class="eval">pref("signon.rememberSignons", true);
+pref("signon.expireMasterPassword", false);
+pref("signon.SignonFileName", "signons.txt");
+</pre>
+<p>You also need to get an instance of the login manager service, which internally initializes the system:</p>
+<pre class="eval">Components.classes["@mozilla.org/login-manager;1"].getService(Components.interfaces.nsILoginManager);
+</pre>
+<h2 id="Firefox_3.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.9C_XULRunner_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0" name="Firefox_3.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.9C_XULRunner_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0">Firefox 3를 이용한 XULRunner 응용 프로그램 실행하기</h2>
+<p>Firefox 3에는 XULRunner 런타임(runtime)이 포함되어 있습니다. 브라우저 대신 XUL 응용 프로그램을 실행하려면 명령창에서 &lt;tt&gt;-app&lt;/tt&gt; 옵션으로 실행하면 됩니다. 예를 들어 Windows에서는 다음과 같습니다.</p>
+<pre class="eval"> firefox.exe -app<i>path\to\</i>application.ini
+</pre>
+<p>Mac에서는 다음과 같습니다.</p>
+<pre class="eval"> /Applications/Firefox.app/Contents/MacOS/firefox-bin -app<i>/path/to/</i>application.ini
+</pre>
+<p>Mac의 경우에는 전체 경로(full path)를 모두 입력해야 한다는 점에 주의하세요. 상대 경로를 사용하면 동작하지 않는거 같습니다.</p>
+<h2 id="Troubleshooting" name="Troubleshooting">Troubleshooting</h2>
+<h3 id="Window_title_missing" name="Window_title_missing">Window title missing</h3>
+<p>If the title of your XUL <code>&lt;<a href="ko/XUL/window">window</a>&gt;</code> is blank, even though you specified a title attribute, make sure the extension on your XUL file is &lt;tt&gt;.xul&lt;/tt&gt; rather than &lt;tt&gt;.xml&lt;/tt&gt;.</p>
+<div class="noinclude">
+  </div>
+<p></p>