{$lang->no_documents}
62 |` 요소 등이 블록 요소에 해당합니다. 인라인 요소는 **행 안의 일부**로서 줄 바꿈 없이 연속으로 표현합니다. `` ` ... Welcome XE! ` 요소와 함께 포함된 내용을 출력**
41 |
42 | ```html
43 |
44 | Welcome XE!
45 | ` 요소는 무조건 출력하는데 조건식이 참이면 `attr="value"` 속성과 값을 함께 출력**
49 |
50 | ```html
51 |
52 | Welcome XE!
53 | Welcome XE! Welcome XE! ` 요소와 함께 포함된 내용을 출력**
53 |
54 | ```html
55 |
56 | Welcome XE!
57 | ` 요소는 무조건 출력하는데 조건식이 참이면 `attr="value"` 속성과 값을 출력**
61 |
62 | ```html
63 |
64 | Welcome XE!
65 | 조건A를 만족하면 이 문장을 출력합니다. 조건A를 만족하지 못하고 조건B를 만족하면 이 문장을 출력합니다. 조건A, 조건B를 동시에 만족하지 못하면 이 문장을 출력합니다. 조건A를 만족하면 이 문장을 출력합니다. 조건B를 만족하면 이 문장을 출력합니다. 조건A, 조건B를 동시에 만족하지 못하면 이 문장을 출력합니다.` `` 요소 등이 대표적인 인라인 요소입니다.
33 |
34 | 블록 요소는 인라인 요소를 포함할 수 있지만 인라인 요소는 블록 요소를 포함할 수 없습니다. 어떤 요소가 블록이고 어떤 요소가 인라인인지는 HTML 규격을 보면 알 수 있습니다.
35 |
36 | 다음은 블록 요소가 인라인 요소를 감싸고 있는 올바른 마크업입니다. `
` 요소는 블록 요소이고 `` 요소는 인라인 요소입니다.
37 |
38 | ```html
39 |
XE
40 | ```
41 |
42 | 다음은 인라인 요소가 블록 요소를 감싸고 있는 잘못된 마크업입니다.
43 |
44 | ```html
45 | XE
46 | ```
47 |
--------------------------------------------------------------------------------
/Skin_Base/01_understand_html/parent_and_child_element/README.md:
--------------------------------------------------------------------------------
1 | # XE 스킨 제작의 기초
2 |
3 | - [HTML의 이해](../)
4 | - [요소와 속성, 값](../element_attribute_and_value)
5 | - [HTML의 시작과 끝](../start_and_end_of_html)
6 | - 부모 요소와 자식 요소
7 | - [인라인 요소와 블록 요소](../inline_and_block_element)
8 | - [CSS의 이해](../../02_understand_css)
9 | - [선택자와 속성, 값](../../02_understand_css/selector_attribute_and_value)
10 | - [CSS 선택자의 종류](../../02_understand_css/type_of_selector)
11 | - [자바스크립트와 jQuery 라이브러리 사용](../../03_use_javascript_and_jquery)
12 | - [jQuery 라이브러리 포함](../../03_use_javascript_and_jquery/include_jquery)
13 | - [XE 템플릿 문법으로 자바스크립트 선언](../../03_use_javascript_and_jquery/init_javascript_with_template_grammar)
14 | - [표준 문법으로 자바스크립트 선언](../../03_use_javascript_and_jquery/init_javascript_with_standard_grammar)
15 | - [HTML 해석 이후 jQuery 실행](../../03_use_javascript_and_jquery/run_jquery_after_html_loading)
16 | - [jQuery의 동작 방식 실습](../../03_use_javascript_and_jquery/practice_jquery)
17 | - [XE 템플릿 문법](../../04_template_grammar)
18 | - [변수](../../04_template_grammar/variables)
19 | - [XE core 변수](../../04_template_grammar/variables_of_xe_core)
20 | - [조건문](../../04_template_grammar/condition_grammar)
21 | - [반복문](../../04_template_grammar/loop_grammar)
22 | - [간단한 PHP문 사용](../../04_template_grammar/use_php_grammar)
23 | - [include문](../../04_template_grammar/include_grammar)
24 | - [CSS 파일 참조](../../04_template_grammar/css_reference)
25 | - [JS 파일 참조](../../04_template_grammar/js_reference)
26 | - [XML JS 필터 적용](../../04_template_grammar/use_xml_js_filter)
27 | - [위젯 삽입하기](../../04_template_grammar/include_widget)
28 | - [XE 블럭 템플릿 문법](../../04_template_grammar/block_template_grammar)
29 |
30 | ## 부모 요소와 자식 요소
31 |
32 | HTML에서 요소는 다른 요소를 포함할 수 있습니다.
33 |
34 | 예를 들어, 제목 `XE`를 클릭하면 초기 화면으로 이동하는 콘텐츠를 작성해 보겠습니다.
35 |
36 | ```html
37 |
38 | XE
39 |
40 | ```
41 |
42 | `` 요소 안에 `` 요소가 포함되어 있습니다. 이와 같이 하나의 데이터는 여러 개의 요소로 중첩할 수 있습니다. 이때 `
` 요소와 같이 바깥쪽에 있는 요소를 **부모 요소**라 부르고, `` 요소와 같이 안쪽에 있는 요소를 **자식 요소**라 부릅니다.
43 |
44 | `` 요소는 데이터가 다른 자원을 참조하도록 연결합니다. href 속성은 `` 요소 안에서 참조 대상을 지정합니다. 즉, 위의 예제 코드는 **XE라는 데이터는 최상위 수준 제목이며 index.html을 참조하고 있다**라는 것을 정의합니다.
45 |
46 | 단, 요소를 중첩해서 사용할 때는 시작 태그와 종료 태그의 사용 순서를 지켜야 합니다. 다음과 같이 선언하는 것은 중첩 규칙을 어긴 잘못된 예입니다.
47 |
48 | ```html
49 |
50 | XE
51 |
52 | ```
53 |
--------------------------------------------------------------------------------
/Skin_Base/01_understand_html/start_and_end_of_html/README.md:
--------------------------------------------------------------------------------
1 | # XE 스킨 제작의 기초
2 |
3 | - [HTML의 이해](../)
4 | - [요소와 속성, 값](../element_attribute_and_value)
5 | - HTML의 시작과 끝
6 | - [부모 요소와 자식 요소](../parent_and_child_element)
7 | - [인라인 요소와 블록 요소](../inline_and_block_element)
8 | - [CSS의 이해](../../02_understand_css)
9 | - [선택자와 속성, 값](../../02_understand_css/selector_attribute_and_value)
10 | - [CSS 선택자의 종류](../../02_understand_css/type_of_selector)
11 | - [자바스크립트와 jQuery 라이브러리 사용](../../03_use_javascript_and_jquery)
12 | - [jQuery 라이브러리 포함](../../03_use_javascript_and_jquery/include_jquery)
13 | - [XE 템플릿 문법으로 자바스크립트 선언](../../03_use_javascript_and_jquery/init_javascript_with_template_grammar)
14 | - [표준 문법으로 자바스크립트 선언](../../03_use_javascript_and_jquery/init_javascript_with_standard_grammar)
15 | - [HTML 해석 이후 jQuery 실행](../../03_use_javascript_and_jquery/run_jquery_after_html_loading)
16 | - [jQuery의 동작 방식 실습](../../03_use_javascript_and_jquery/practice_jquery)
17 | - [XE 템플릿 문법](../../04_template_grammar)
18 | - [변수](../../04_template_grammar/variables)
19 | - [XE core 변수](../../04_template_grammar/variables_of_xe_core)
20 | - [조건문](../../04_template_grammar/condition_grammar)
21 | - [반복문](../../04_template_grammar/loop_grammar)
22 | - [간단한 PHP문 사용](../../04_template_grammar/use_php_grammar)
23 | - [include문](../../04_template_grammar/include_grammar)
24 | - [CSS 파일 참조](../../04_template_grammar/css_reference)
25 | - [JS 파일 참조](../../04_template_grammar/js_reference)
26 | - [XML JS 필터 적용](../../04_template_grammar/use_xml_js_filter)
27 | - [위젯 삽입하기](../../04_template_grammar/include_widget)
28 | - [XE 블럭 템플릿 문법](../../04_template_grammar/block_template_grammar)
29 |
30 | ## HTML의 시작과 끝
31 |
32 | 모든 HTML 요소에는 데이터의 범위를 명시하기 위하여 시작과 끝이 있습니다.
33 |
34 | ```html
35 | XE
36 | ```
37 |
38 | - 이 요소의 시작은 ``입니다. 여기서부터 첫 번째 제목이 시작됩니다.
39 | - 이 요소의 끝은 `
`입니다. 첫 번째 제목은 여기서 끝납니다.
40 |
41 | 텍스트 콘텐츠가 아닌 경우 HTML 요소 자체가 데이터가 되는 경우도 있는데 이런 경우는 시작과 동시에 끝납니다. 다음과 같은 경우 이미지가 다른 콘텐츠를 포함하지 않으므로 시작과 동시에 닫습니다.
42 |
43 | ```html
44 |
45 | ```
46 |
--------------------------------------------------------------------------------
/Skin_Base/02_understand_css/README.md:
--------------------------------------------------------------------------------
1 | # XE 스킨 제작의 기초
2 |
3 | - [HTML의 이해](../01_understand_html)
4 | - [요소와 속성, 값](../01_understand_html/element_attribute_and_value)
5 | - [HTML의 시작과 끝](../01_understand_html/start_and_end_of_html)
6 | - [부모 요소와 자식 요소](../01_understand_html/parent_and_child_element)
7 | - [인라인 요소와 블록 요소](../01_understand_html/inline_and_block_element)
8 | - CSS의 이해
9 | - [선택자와 속성, 값](./selector_attribute_and_value)
10 | - [CSS 선택자의 종류](./type_of_selector)
11 | - [자바스크립트와 jQuery 라이브러리 사용](../03_use_javascript_and_jquery)
12 | - [jQuery 라이브러리 포함](../03_use_javascript_and_jquery/include_jquery)
13 | - [XE 템플릿 문법으로 자바스크립트 선언](../03_use_javascript_and_jquery/init_javascript_with_template_grammar)
14 | - [표준 문법으로 자바스크립트 선언](../03_use_javascript_and_jquery/init_javascript_with_standard_grammar)
15 | - [HTML 해석 이후 jQuery 실행](../03_use_javascript_and_jquery/run_jquery_after_html_loading)
16 | - [jQuery의 동작 방식 실습](../03_use_javascript_and_jquery/practice_jquery)
17 | - [XE 템플릿 문법](../04_template_grammar)
18 | - [변수](../04_template_grammar/variables)
19 | - [XE core 변수](../04_template_grammar/variables_of_xe_core)
20 | - [조건문](../04_template_grammar/condition_grammar)
21 | - [반복문](../04_template_grammar/loop_grammar)
22 | - [간단한 PHP문 사용](../04_template_grammar/use_php_grammar)
23 | - [include문](../04_template_grammar/include_grammar)
24 | - [CSS 파일 참조](../04_template_grammar/css_reference)
25 | - [JS 파일 참조](../04_template_grammar/js_reference)
26 | - [XML JS 필터 적용](../04_template_grammar/use_xml_js_filter)
27 | - [위젯 삽입하기](../04_template_grammar/include_widget)
28 | - [XE 블럭 템플릿 문법](../04_template_grammar/block_template_grammar)
29 |
30 | ## CSS의 이해
31 |
32 | HTML이 웹 문서에 **의미**를 부여해서 데이터를 **정보**로 바꾼다면 CSS는 문서의 **배치와 표현**에 관여하여 콘텐츠를 이해하기 쉽고 보기 좋게 만듭니다. XE 스킨에서 대부분의 경우 CSS 파일은 HTML과 분리되어 있지만 HTML 문서가 CSS 파일을 참조하고 있기 때문에 사용자는 HTML과 CSS가 모두 반영된 최종 화면을 보게 됩니다. CSS 문법을 익히면 문서를 보기 좋게 꾸밀 수 있을 뿐만 아니라 HTML을 더 의미 있고 적법하게 사용할 수 있습니다.
33 |
--------------------------------------------------------------------------------
/Skin_Base/02_understand_css/selector_attribute_and_value/README.md:
--------------------------------------------------------------------------------
1 | # XE 스킨 제작의 기초
2 |
3 | - [HTML의 이해](../../01_understand_html)
4 | - [요소와 속성, 값](../../01_understand_html/element_attribute_and_value)
5 | - [HTML의 시작과 끝](../../01_understand_html/start_and_end_of_html)
6 | - [부모 요소와 자식 요소](../../01_understand_html/parent_and_child_element)
7 | - [인라인 요소와 블록 요소](../../01_understand_html/inline_and_block_element)
8 | - [CSS의 이해](../)
9 | - 선택자와 속성, 값
10 | - [CSS 선택자의 종류](../type_of_selector)
11 | - [자바스크립트와 jQuery 라이브러리 사용](../../03_use_javascript_and_jquery)
12 | - [jQuery 라이브러리 포함](../../03_use_javascript_and_jquery/include_jquery)
13 | - [XE 템플릿 문법으로 자바스크립트 선언](../../03_use_javascript_and_jquery/init_javascript_with_template_grammar)
14 | - [표준 문법으로 자바스크립트 선언](../../03_use_javascript_and_jquery/init_javascript_with_standard_grammar)
15 | - [HTML 해석 이후 jQuery 실행](../../03_use_javascript_and_jquery/run_jquery_after_html_loading)
16 | - [jQuery의 동작 방식 실습](../../03_use_javascript_and_jquery/practice_jquery)
17 | - [XE 템플릿 문법](../../04_template_grammar)
18 | - [변수](../../04_template_grammar/variables)
19 | - [XE core 변수](../../04_template_grammar/variables_of_xe_core)
20 | - [조건문](../../04_template_grammar/condition_grammar)
21 | - [반복문](../../04_template_grammar/loop_grammar)
22 | - [간단한 PHP문 사용](../../04_template_grammar/use_php_grammar)
23 | - [include문](../../04_template_grammar/include_grammar)
24 | - [CSS 파일 참조](../../04_template_grammar/css_reference)
25 | - [JS 파일 참조](../../04_template_grammar/js_reference)
26 | - [XML JS 필터 적용](../../04_template_grammar/use_xml_js_filter)
27 | - [위젯 삽입하기](../../04_template_grammar/include_widget)
28 | - [XE 블럭 템플릿 문법](../../04_template_grammar/block_template_grammar)
29 |
30 | ## 선택자와 속성, 값
31 |
32 | CSS는 **선택자**와 **속성**과 **값**으로 구성되어 있습니다. **선택자**는 HTML의 특정 **요소**를 선택하고 **속성**과 **값**은 선택된 HTML 요소가 화면에 어떻게 출력될 것인지를 정의합니다.
33 |
34 | **선택자(selector)**
35 |
36 | ```css
37 | h1 {font-size:24px}
38 | ```
39 |
40 | **h1**은 **선택자**입니다. `
` 요소를 가리킵니다.
41 |
42 | **속성(property)**
43 |
44 | ```css
45 | h1 {font-size:24px}
46 | ```
47 |
48 | **font-size**는 **속성**입니다. `
` 요소의 글꼴 크기를 제어하는 선언입니다.
49 |
50 | **값(value)**
51 |
52 | ```css
53 | h1 {font-size:24px}
54 | ```
55 |
56 | **24px**은 **값**입니다. `
` 요소의 `font-size` 속성(글꼴 크기) 값을 구체적으로 명시합니다.
57 |
--------------------------------------------------------------------------------
/Skin_Base/03_use_javascript_and_jquery/README.md:
--------------------------------------------------------------------------------
1 | # XE 스킨 제작의 기초
2 |
3 | - [HTML의 이해](../01_understand_html)
4 | - [요소와 속성, 값](../01_understand_html/element_attribute_and_value)
5 | - [HTML의 시작과 끝](../01_understand_html/start_and_end_of_html)
6 | - [부모 요소와 자식 요소](../01_understand_html/parent_and_child_element)
7 | - [인라인 요소와 블록 요소](../01_understand_html/inline_and_block_element)
8 | - [CSS의 이해](../02_understand_css)
9 | - [선택자와 속성, 값](../02_understand_css/selector_attribute_and_value)
10 | - [CSS 선택자의 종류](../02_understand_css/type_of_selector)
11 | - 자바스크립트와 jQuery 라이브러리 사용
12 | - [jQuery 라이브러리 포함](./include_jquery)
13 | - [XE 템플릿 문법으로 자바스크립트 선언](./init_javascript_with_template_grammar)
14 | - [표준 문법으로 자바스크립트 선언](./init_javascript_with_standard_grammar)
15 | - [HTML 해석 이후 jQuery 실행](./run_jquery_after_html_loading)
16 | - [jQuery의 동작 방식 실습](./practice_jquery)
17 | - [XE 템플릿 문법](../04_template_grammar)
18 | - [변수](../04_template_grammar/variables)
19 | - [XE core 변수](../04_template_grammar/variables_of_xe_core)
20 | - [조건문](../04_template_grammar/condition_grammar)
21 | - [반복문](../04_template_grammar/loop_grammar)
22 | - [간단한 PHP문 사용](../04_template_grammar/use_php_grammar)
23 | - [include문](../04_template_grammar/include_grammar)
24 | - [CSS 파일 참조](../04_template_grammar/css_reference)
25 | - [JS 파일 참조](../04_template_grammar/js_reference)
26 | - [XML JS 필터 적용](../04_template_grammar/use_xml_js_filter)
27 | - [위젯 삽입하기](../04_template_grammar/include_widget)
28 | - [XE 블럭 템플릿 문법](../04_template_grammar/block_template_grammar)
29 |
30 | ## 자바스크립트와 jQuery 라이브러리 사용
31 |
32 | XE는 자바스크립트를 쉽게 사용할 수 있도록 jQuery라는 자바스크립트 라이브러리를 사용하고 있습니다. jQuery를 사용하면 스킨 제작자가 자바스크립트 전문가가 아닌 경우에도 자바스크립트를 쉽게 다룰 수 있습니다.
33 |
34 | 이 절에서는 XE 스킨을 제작할 때 HTML 문서에 자바스크립트를 포함시키는 방법을 설명합니다.
35 |
--------------------------------------------------------------------------------
/Skin_Base/03_use_javascript_and_jquery/include_jquery/README.md:
--------------------------------------------------------------------------------
1 | # XE 스킨 제작의 기초
2 |
3 | - [HTML의 이해](../../01_understand_html)
4 | - [요소와 속성, 값](../../01_understand_html/element_attribute_and_value)
5 | - [HTML의 시작과 끝](../../01_understand_html/start_and_end_of_html)
6 | - [부모 요소와 자식 요소](../../01_understand_html/parent_and_child_element)
7 | - [인라인 요소와 블록 요소](../../01_understand_html/inline_and_block_element)
8 | - [CSS의 이해](../../02_understand_css)
9 | - [선택자와 속성, 값](../../02_understand_css/selector_attribute_and_value)
10 | - [CSS 선택자의 종류](../../02_understand_css/type_of_selector)
11 | - [자바스크립트와 jQuery 라이브러리 사용](../)
12 | - jQuery 라이브러리 포함
13 | - [XE 템플릿 문법으로 자바스크립트 선언](../init_javascript_with_template_grammar)
14 | - [표준 문법으로 자바스크립트 선언](../init_javascript_with_standard_grammar)
15 | - [HTML 해석 이후 jQuery 실행](../run_jquery_after_html_loading)
16 | - [jQuery의 동작 방식 실습](../practice_jquery)
17 | - [XE 템플릿 문법](../../04_template_grammar)
18 | - [변수](../../04_template_grammar/variables)
19 | - [XE core 변수](../../04_template_grammar/variables_of_xe_core)
20 | - [조건문](../../04_template_grammar/condition_grammar)
21 | - [반복문](../../04_template_grammar/loop_grammar)
22 | - [간단한 PHP문 사용](../../04_template_grammar/use_php_grammar)
23 | - [include문](../../04_template_grammar/include_grammar)
24 | - [CSS 파일 참조](../../04_template_grammar/css_reference)
25 | - [JS 파일 참조](../../04_template_grammar/js_reference)
26 | - [XML JS 필터 적용](../../04_template_grammar/use_xml_js_filter)
27 | - [위젯 삽입하기](../../04_template_grammar/include_widget)
28 | - [XE 블럭 템플릿 문법](../../04_template_grammar/block_template_grammar)
29 |
30 | ## jQuery 라이브러리 포함
31 |
32 | XE core에는 이미 jQuery 라이브러리가 포함되어 있고 모든 페이지에서 참조하도록 선언되기 때문에 별도로 jQuery 라이브러리를 불러오는 선언을 할 필요가 없습니다. XE로 생성된 모든 웹 문서에는 HTML 코드의 요소 안쪽에 다음과 같이 jQuery 라이브러리 참조 코드가 포함됩니다.
33 |
34 | ```html
35 |
36 | ```
37 |
38 | 자바스크립트 참조 코드는 문법적으로 HTML 코드의 `` 요소 또는 `` 요소 안쪽의 어느 곳에도 포함시킬 수 있지만 XE에서는 jQuery 라이브러리 참조 코드를 HTML 문서의 `` 요소 안쪽에 포함시키고 있습니다. 웹 브라우저는 자바스크립트 코드를 선언된 순서대로 해석하는데 자바스크립트 코드의 해석 순서가 화면 표시에 영향을 미치는 경우가 있습니다. HTML 해석과 동시에 즉시 결과를 실행해야 하는 jQuery 의존 코드가 있는 경우 jQuery 라이브러리보다 먼저 해석되면 안 되기 때문에 XE는 jQuery 라이브러리 참조 선언을 HTML 문서의 `` 요소 안쪽에 포함한 것입니다.
39 |
40 | > *XE 설치 경로에 따라 jquery.js 파일의 참조 경로는 보기와 다를 수 있습니다.*
41 |
--------------------------------------------------------------------------------
/Skin_Base/03_use_javascript_and_jquery/init_javascript_with_standard_grammar/README.md:
--------------------------------------------------------------------------------
1 | # XE 스킨 제작의 기초
2 |
3 | - [HTML의 이해](../../01_understand_html)
4 | - [요소와 속성, 값](../../01_understand_html/element_attribute_and_value)
5 | - [HTML의 시작과 끝](../../01_understand_html/start_and_end_of_html)
6 | - [부모 요소와 자식 요소](../../01_understand_html/parent_and_child_element)
7 | - [인라인 요소와 블록 요소](../../01_understand_html/inline_and_block_element)
8 | - [CSS의 이해](../../02_understand_css)
9 | - [선택자와 속성, 값](../../02_understand_css/selector_attribute_and_value)
10 | - [CSS 선택자의 종류](../../02_understand_css/type_of_selector)
11 | - [자바스크립트와 jQuery 라이브러리 사용](../)
12 | - [jQuery 라이브러리 포함](../include_jquery)
13 | - [XE 템플릿 문법으로 자바스크립트 선언](../init_javascript_with_template_grammar)
14 | - 표준 문법으로 자바스크립트 선언
15 | - [HTML 해석 이후 jQuery 실행](../run_jquery_after_html_loading)
16 | - [jQuery의 동작 방식 실습](../practice_jquery)
17 | - [XE 템플릿 문법](../../04_template_grammar)
18 | - [변수](../../04_template_grammar/variables)
19 | - [XE core 변수](../../04_template_grammar/variables_of_xe_core)
20 | - [조건문](../../04_template_grammar/condition_grammar)
21 | - [반복문](../../04_template_grammar/loop_grammar)
22 | - [간단한 PHP문 사용](../../04_template_grammar/use_php_grammar)
23 | - [include문](../../04_template_grammar/include_grammar)
24 | - [CSS 파일 참조](../../04_template_grammar/css_reference)
25 | - [JS 파일 참조](../../04_template_grammar/js_reference)
26 | - [XML JS 필터 적용](../../04_template_grammar/use_xml_js_filter)
27 | - [위젯 삽입하기](../../04_template_grammar/include_widget)
28 | - [XE 블럭 템플릿 문법](../../04_template_grammar/block_template_grammar)
29 |
30 | ## 표준 문법으로 자바스크립트 선언
31 |
32 | 별도로 작성된 자바스크립트 파일을 HTML 문서에서 불러오는 경우 XE 템플릿 문법을 사용하면 HTML 문서의 `` 요소 또는 `` 요소의 종료 지점 가운데 선언 위치를 선택할 수 있습니다. 그러나 `` 요소의 종료 지점이 아니라 `` 요소 내부의 원하는 위치에 정확하게 삽입하려면 삽입을 원하는 위치에 다음과 같이 HTML 표준 문법으로 선언합니다.
33 |
34 | ```html
35 |
36 | ...
37 |
38 | ...
39 |
40 | ```
41 |
42 | 별도의 자바스크립트 파일을 작성하지 않고 HTML 문서에서 직접 자바스크립트 코드를 작성하려면 다음과 같이 선언합니다.
43 |
44 | ```html
45 |
46 | ...
47 |
52 | ...
53 |
54 | ```
55 |
56 | > 자바스크립트 코드의 시작과 종료 지점에 ``를 선언하는 것은 자바스크립트 코드에 포함된 문자들이 HTML 코드로 해석되는 것을 방지하기 위한 것입니다. ``를 선언하지 않으면 꺾은 괄호(<, >)와 각종 자바스크립트 연산자가 문자 그대로 해석되지 않고 HTML 태그가 시작되거나 HTML 엔티티가 시작되는 것으로 잘못 해석될 수 있습니다. `` 선언은 자바스크립트 문법이 아니기 때문에 선언된 라인을 한 줄 주석으로 처리합니다.
57 |
--------------------------------------------------------------------------------
/Skin_Base/03_use_javascript_and_jquery/init_javascript_with_template_grammar/README.md:
--------------------------------------------------------------------------------
1 | # XE 스킨 제작의 기초
2 |
3 | - [HTML의 이해](../../01_understand_html)
4 | - [요소와 속성, 값](../../01_understand_html/element_attribute_and_value)
5 | - [HTML의 시작과 끝](../../01_understand_html/start_and_end_of_html)
6 | - [부모 요소와 자식 요소](../../01_understand_html/parent_and_child_element)
7 | - [인라인 요소와 블록 요소](../../01_understand_html/inline_and_block_element)
8 | - [CSS의 이해](../../02_understand_css)
9 | - [선택자와 속성, 값](../../02_understand_css/selector_attribute_and_value)
10 | - [CSS 선택자의 종류](../../02_understand_css/type_of_selector)
11 | - [자바스크립트와 jQuery 라이브러리 사용](../)
12 | - [jQuery 라이브러리 포함](../include_jquery)
13 | - XE 템플릿 문법으로 자바스크립트 선언
14 | - [표준 문법으로 자바스크립트 선언](../init_javascript_with_standard_grammar)
15 | - [HTML 해석 이후 jQuery 실행](../run_jquery_after_html_loading)
16 | - [jQuery의 동작 방식 실습](../practice_jquery)
17 | - [XE 템플릿 문법](../../04_template_grammar)
18 | - [변수](../../04_template_grammar/variables)
19 | - [XE core 변수](../../04_template_grammar/variables_of_xe_core)
20 | - [조건문](../../04_template_grammar/condition_grammar)
21 | - [반복문](../../04_template_grammar/loop_grammar)
22 | - [간단한 PHP문 사용](../../04_template_grammar/use_php_grammar)
23 | - [include문](../../04_template_grammar/include_grammar)
24 | - [CSS 파일 참조](../../04_template_grammar/css_reference)
25 | - [JS 파일 참조](../../04_template_grammar/js_reference)
26 | - [XML JS 필터 적용](../../04_template_grammar/use_xml_js_filter)
27 | - [위젯 삽입하기](../../04_template_grammar/include_widget)
28 | - [XE 블럭 템플릿 문법](../../04_template_grammar/block_template_grammar)
29 |
30 | ## XE 템플릿 문법으로 자바스크립트 선언
31 |
32 | jQuery 코드는 자바스크립트이기 때문에 자바스크립트 문법에 따라 작성해야 합니다. 자바스크립트의 선언 위치는 HTML 문서의 `` 요소 또는 `` 요소 안쪽이어야 하며 이 밖의 위치에 선언하면 HTML 문법 오류가 발생합니다. HTML 문법이 허용하지 않는 위치에 자바스크립트 코드를 작성하면 표준에 따라 엄격하게 구현된 브라우저에서는 자바스크립트를 해석하지 못할 수도 있습니다. 자바스크립트 코드를 HTML 문서에 직접 포함하는 방법도 있지만 별도의 `*.js` 파일로 분리하여 HTML 문서에서 불러오는 방법도 있습니다.
33 |
34 | 자바스크립트는 용도에 따라 다음과 같이 선언 위치를 구분해서 사용합니다.
35 |
36 | **`` 요소에서 JS 파일 참조**
37 |
38 | 웹 브라우저가 화면 표시를 끝내기 전에 자바스크립트로 사용자 화면의 일부 콘텐츠를 보여주거나 감추는 동작을 실행한다면 자바스크립트 코드를 HTML 문서의 `` 요소 위치에 포함하는 것이 좋습니다. 이런 경우 자바스크립트 코드를 `` 요소에 포함하면 자바스크립트가 HTML보다 늦게 해석되어 일시적으로 화면이 제대로 보이지 않을 수 있습니다.
39 |
40 | `` 요소에 포함된 자바스크립트는 HTML 문서보다 먼저 해석되지만 HTML 문서의 로딩이 완료된 이후에 실행하도록 코드를 작성해야 합니다.
41 |
42 | **`` 요소에서 JS 파일 참조**
43 |
44 | 자바스크립트가 HTML 문서를 로딩하는 시점에 화면 표시를 위한 어떤 동작을 실행하지 않는다면 HTML 문서의 `` 요소에 포함하되 가장 아래쪽에 선언하는 것이 좋습니다. 웹 브라우저는 HTML 코드와 자바스크립트 코드를 동시에 해석하지 않고 작성된 순서대로 해석하기 때문에 자바스크립트 코드를 나중에 해석하도록 하면 HTML 문서를 화면에 표시하는 속도가 빨라집니다.
45 |
--------------------------------------------------------------------------------
/Skin_Base/03_use_javascript_and_jquery/run_jquery_after_html_loading/README.md:
--------------------------------------------------------------------------------
1 | # XE 스킨 제작의 기초
2 |
3 | - [HTML의 이해](../../01_understand_html)
4 | - [요소와 속성, 값](../../01_understand_html/element_attribute_and_value)
5 | - [HTML의 시작과 끝](../../01_understand_html/start_and_end_of_html)
6 | - [부모 요소와 자식 요소](../../01_understand_html/parent_and_child_element)
7 | - [인라인 요소와 블록 요소](../../01_understand_html/inline_and_block_element)
8 | - [CSS의 이해](../../02_understand_css)
9 | - [선택자와 속성, 값](../../02_understand_css/selector_attribute_and_value)
10 | - [CSS 선택자의 종류](../../02_understand_css/type_of_selector)
11 | - [자바스크립트와 jQuery 라이브러리 사용](../)
12 | - [jQuery 라이브러리 포함](../include_jquery)
13 | - [XE 템플릿 문법으로 자바스크립트 선언](../init_javascript_with_template_grammar)
14 | - [표준 문법으로 자바스크립트 선언](../init_javascript_with_standard_grammar)
15 | - HTML 해석 이후 jQuery 실행
16 | - [jQuery의 동작 방식 실습](../practice_jquery)
17 | - [XE 템플릿 문법](../../04_template_grammar)
18 | - [변수](../../04_template_grammar/variables)
19 | - [XE core 변수](../../04_template_grammar/variables_of_xe_core)
20 | - [조건문](../../04_template_grammar/condition_grammar)
21 | - [반복문](../../04_template_grammar/loop_grammar)
22 | - [간단한 PHP문 사용](../../04_template_grammar/use_php_grammar)
23 | - [include문](../../04_template_grammar/include_grammar)
24 | - [CSS 파일 참조](../../04_template_grammar/css_reference)
25 | - [JS 파일 참조](../../04_template_grammar/js_reference)
26 | - [XML JS 필터 적용](../../04_template_grammar/use_xml_js_filter)
27 | - [위젯 삽입하기](../../04_template_grammar/include_widget)
28 | - [XE 블럭 템플릿 문법](../../04_template_grammar/block_template_grammar)
29 |
30 | ## HTML 해석 이후 jQuery 실행
31 |
32 | XE로 생성된 모든 문서는 jQuery 라이브러리를 참조하기 때문에 `
44 | ```
45 |
46 | > jQuery 문법에서 `jQuery`는 `달러 기호($)`로 치환하여 표기할 수 있습니다. 그러나 XE는 `$` 기호를 사용하는 다른 자바스크립트 라이브러리와의 충돌을 피하기 위하여 jQuery 함수를 시작하는 부분에서만큼은 `$` 기호로 치환하는 것을 허락하지 않습니다. 따라서 XE에서는 jQuery 함수를 처음 작성할 때 `jQuery(function($){ ... })`라고 작성해야 합니다.
47 |
--------------------------------------------------------------------------------
/Skin_Base/04_template_grammar/README.md:
--------------------------------------------------------------------------------
1 | # XE 스킨 제작의 기초
2 |
3 | - [HTML의 이해](../01_understand_html)
4 | - [요소와 속성, 값](../01_understand_html/element_attribute_and_value)
5 | - [HTML의 시작과 끝](../01_understand_html/start_and_end_of_html)
6 | - [부모 요소와 자식 요소](../01_understand_html/parent_and_child_element)
7 | - [인라인 요소와 블록 요소](../01_understand_html/inline_and_block_element)
8 | - [CSS의 이해](../02_understand_css)
9 | - [선택자와 속성, 값](../02_understand_css/selector_attribute_and_value)
10 | - [CSS 선택자의 종류](../02_understand_css/type_of_selector)
11 | - [자바스크립트와 jQuery 라이브러리 사용](../03_use_javascript_and_jquery)
12 | - [jQuery 라이브러리 포함](../03_use_javascript_and_jquery/include_jquery)
13 | - [XE 템플릿 문법으로 자바스크립트 선언](../03_use_javascript_and_jquery/init_javascript_with_template_grammar)
14 | - [표준 문법으로 자바스크립트 선언](../03_use_javascript_and_jquery/init_javascript_with_standard_grammar)
15 | - [HTML 해석 이후 jQuery 실행](../03_use_javascript_and_jquery/run_jquery_after_html_loading)
16 | - [jQuery의 동작 방식 실습](../03_use_javascript_and_jquery/practice_jquery)
17 | - XE 템플릿 문법
18 | - [변수](./variables)
19 | - [XE core 변수](./variables_of_xe_core)
20 | - [조건문](./condition_grammar)
21 | - [반복문](./loop_grammar)
22 | - [간단한 PHP문 사용](./use_php_grammar)
23 | - [include문](./include_grammar)
24 | - [CSS 파일 참조](./css_reference)
25 | - [JS 파일 참조](./js_reference)
26 | - [XML JS 필터 적용](./use_xml_js_filter)
27 | - [위젯 삽입하기](./include_widget)
28 | - [XE 블럭 템플릿 문법](./block_template_grammar)
29 |
30 | ## XE 템플릿 문법
31 |
32 | XE 템플릿 문법은 서버 측에서 PHP 문법으로 해석되며 DB로부터 원하는 정보를 뽑아내어 사용자 화면에 출력합니다. XE 템플릿 문법을 사용하면 모듈 또는 위젯의 기능이나 내용을 허용된 범위 안에서 확장하거나 축소할 수 있습니다.
33 |
34 | XE 템플릿 문법을 적용하여 XE 스킨을 작성하는 방법에는 다음과 같은 네 가지가 있습니다.
35 |
36 | - HTML 주석 `` 안에 작성하는 방법. 예) `...`
37 | - 가상의 `
... ` 반복**
57 |
58 | ```html
59 | ...
61 | ... ` 반복**
65 |
66 | ```html
67 | ...
68 | ```
69 |
70 | **$key값 포함 `... ` 반복**
71 |
72 | ```html
73 | ...
75 | ... ` 반복**
79 |
80 | ```html
81 | ...
82 | ```
83 |
84 | **초기값 0부터 시작하여 `... ` 100회 반복**
85 |
86 | ```html
87 | ...
89 | ... ` 100회 반복**
93 |
94 | ```html
95 | ...
96 | ```
97 |
98 | **header.html을 포함(include)**
99 |
100 | ```html
101 | ` 요소에 widget이라는 속성을 포함하고 있습니다. `
` 요소는 HTML 표준이기도 하지만 widget이라는 속성을 포함하게 되면 XE 템플릿 문법으로 해석되어 서버에서 표준 HTML로 변환됩니다.
35 |
36 | 다음은 로그인 양식을 출력하는 위젯 삽입 코드입니다.
37 |
38 | ```html
39 |
40 | ```
41 |
42 | 위젯을 삽입하기 위한 코드는 XE 관리자 페이지에서 `사이트 설정 > 위젯`을 선택하고 코드생성 기능을 사용하면 자동으로 생성됩니다.
43 |
--------------------------------------------------------------------------------
/Skin_Base/04_template_grammar/js_reference/README.md:
--------------------------------------------------------------------------------
1 | # XE 스킨 제작의 기초
2 |
3 | - [HTML의 이해](../../01_understand_html)
4 | - [요소와 속성, 값](../../01_understand_html/element_attribute_and_value)
5 | - [HTML의 시작과 끝](../../01_understand_html/start_and_end_of_html)
6 | - [부모 요소와 자식 요소](../../01_understand_html/parent_and_child_element)
7 | - [인라인 요소와 블록 요소](../../01_understand_html/inline_and_block_element)
8 | - [CSS의 이해](../../02_understand_css)
9 | - [선택자와 속성, 값](../../02_understand_css/selector_attribute_and_value)
10 | - [CSS 선택자의 종류](../../02_understand_css/type_of_selector)
11 | - [자바스크립트와 jQuery 라이브러리 사용](../../03_use_javascript_and_jquery)
12 | - [jQuery 라이브러리 포함](../../03_use_javascript_and_jquery/include_jquery)
13 | - [XE 템플릿 문법으로 자바스크립트 선언](../../03_use_javascript_and_jquery/init_javascript_with_template_grammar)
14 | - [표준 문법으로 자바스크립트 선언](../../03_use_javascript_and_jquery/init_javascript_with_standard_grammar)
15 | - [HTML 해석 이후 jQuery 실행](../../03_use_javascript_and_jquery/run_jquery_after_html_loading)
16 | - [jQuery의 동작 방식 실습](../../03_use_javascript_and_jquery/practice_jquery)
17 | - [XE 템플릿 문법](../)
18 | - [변수](../variables)
19 | - [XE core 변수](../variables_of_xe_core)
20 | - [조건문](../condition_grammar)
21 | - [반복문](../loop_grammar)
22 | - [간단한 PHP문 사용](../use_php_grammar)
23 | - [include문](../include_grammar)
24 | - [CSS 파일 참조](../css_reference)
25 | - JS 파일 참조
26 | - [XML JS 필터 적용](../use_xml_js_filter)
27 | - [위젯 삽입하기](../include_widget)
28 | - [XE 블럭 템플릿 문법](../block_template_grammar)
29 |
30 | ## JS 파일 참조
31 |
32 | JS 파일을 HTML 문서에서 참조하는 방법을 설명합니다.
33 |
34 | JS 파일은 HTML 문서의 `` 요소 또는 `` 요소에서만 불러올 수 있습니다. `` 요소 또는 `` 요소 이외의 요소에서 JS 파일을 참조하면 HTML 문법 오류가 발생하여 JS 파일을 해석하지 못하는 브라우저가 있을 수 있습니다.
35 |
36 | **`` 요소에서 JS 파일 참조**
37 |
38 | 다음은 xe.js 파일을 HTML 문서의 `` 요소에서 불러오는 방법입니다.
39 |
40 | ```html
41 |
42 | 또는
43 |
... ` 반복**
35 |
36 | ```html
37 |
38 | ...
39 |
40 | ```
41 |
42 | **$key값 없이 `... ` 반복**
43 |
44 | ```html
45 | ...
47 | ... ` 반복**
51 |
52 | ```html
53 | ...
54 | ```
55 |
56 | **$key값 포함 `... ` 반복**
57 |
58 | ```html
59 |
60 | ...
61 |
62 | ```
63 |
64 | **$key값 포함 `... ` 반복**
65 |
66 | ```html
67 | ...
69 | ... ` 반복**
73 |
74 | ```html
75 | ...
76 | ```
77 |
78 | **초기값 0부터 시작하여 `... ` 100회 반복**
79 |
80 | ```html
81 |
82 | ...
83 |
84 | ```
85 |
86 | **초기값 0부터 시작하여 `... ` 100회 반복**
87 |
88 | ```html
89 | ...
91 | ... ` 100회 반복**
95 |
96 | ```html
97 | ...
98 | ```
99 |
100 | **조건문이 참이면 `
39 | ...
40 |
41 | ```
42 |
43 | XML스키마의 최상위 요소(element)는 ``입니다. `name`속성은 테이블명입니다.
44 |
45 | ### 컬럼 선언
46 |
47 | ```
48 |
49 |
52 | ```
53 |
54 | ``요소의 자식인 `
(number,bignumber,varchar,char,text,bigtext,date,float)
60 | size="11" | 데이터 사이즈를 지정
61 | notnull="notnull" | notnull 여부를 지정
62 | primary_key="primary_key" | 기본키 여부를 지정
63 | index="index_title" | 컬럼에 인덱스를 지정
64 | unique="unique_title" | 컬럼에 unique index를 지정
65 | default="제목없음" | 기본값을 지정
66 | auto_increment="auto_increment" | 자동 증가 컬럼 여부를 지정
67 |
68 | > Note: XML스키마 정의 언어로 복합(다중컬럼) 인덱스는 추가할 수 없습니다. 복합 인덱스를 사용하는 방법은 [TODO:스키마 변경 장 링크]()를 보세요
69 |
70 |
--------------------------------------------------------------------------------
/XML_Query/02_alter_schema/README.md:
--------------------------------------------------------------------------------
1 | # XML Query
2 |
3 |
4 |
5 | - [Quick Start](/XML_Query)
6 | - [테이블 생성하기](/XML_Query/01_create_schema/)
7 | - [테이블 변경하기](/XML_Query/02_alter_schema/)
8 | - [XML 쿼리 기본](/XML_Query/03_xml_query/)
9 | - [SELECT 쿼리 - 기본](/XML_Query/04_select_query_basic/)
10 | - [SELECT 쿼리 - GROUP BY절](/XML_Query/05_select_query_with_groupby/)
11 | - [SELECT 쿼리 - WHERE절](/XML_Query/06_select_query_with_where/)
12 | - [SELECT 쿼리 - ORDER BY절](/XML_Query/07_select_query_with_navigation/)
13 | - [SELECT 쿼리 - JOIN절](/XML_Query/08_select_query_with_join/)
14 | - [SELECT 쿼리 - 서브쿼리](/XML_Query/09_select_query_with_subquery/)
15 | - [INSERT 쿼리](/XML_Query/10_insert_query/)
16 | - [UPDATE 쿼리](/XML_Query/11_update_query/)
17 | - [DELETE 쿼리](/XML_Query/12_delete_query/)
18 | - [XML 쿼리 실행하기](/XML_Query/13_execute_query/)
19 |
20 |
21 |
22 | ## 테이블 변경하기 (Alter table)
23 |
24 | 테이블을 생성할 때에는 XML 스키마 정의 언어를 사용할 수 있지만, 이미 생성된 테이블을 변경 또는 삭제할 때에는 XML 스키마 정의 언어를 사용할 수는 없습니다.
25 |
26 | XE에서는 테이블을 변경/삭제하기 위하여 DB 클래스를 사용합니다. DB 클래스의 위치는 `./classes/db/DB.class.php`입니다. 다양한 DBMS를 제공 하기위해 `DB`클래스를 확장한 커스텀 `DB`클래스(ex:`./classes/db/DBMysql.class.php`)도 같은 디렉토리에 존재합니다.
27 |
28 | (특히 배포를 목적으로 하는 모듈일 경우) 테이블 변경은 모듈을 업데이트할 때 실행되도록 해야 합니다.
29 | 테이블을 변경하는 코드를 테이블을 소유한 모듈의 `moduleUpdate()` 메소드 안에 넣으십시오.
30 |
31 | 이 메소드는 각 모듈의 기본 클래스에 존재 합니다. 게시판 모듈의 경우, `./modules/board/board.class.php`입니다.
32 |
33 |
34 | > Note: 테이블의 컬럼을 추가, 삭제할 때에는 해당 테이블의 XML 스키마도 동시에 변경해 주어야 합니다. XE는 DB질의(쿼리)를 실행시 XML스키마를 항상 참조합니다.
35 |
36 | ---
37 |
38 | > Note: 테이블 변경은 모듈의 설치 및 업데이트/삭제 사이클과 깊이 연관되어 있습니다. [TODO:모듈 튜토리얼 링크]을 참고하세요.
39 |
40 |
41 | ### DB클래스 가져오기
42 |
43 | ```
44 | $DB = DB::getInstance();
45 | ```
46 | DB클래스의 싱글톤 객체를 가져올 수 있습니다.
47 |
48 |
49 | ### 컬럼 존재여부 확인
50 |
51 | ```
52 | // $table_name 테이블에 $column_name 컬럼이 존재여부 검사
53 | DB::isColumnExists($table_name, $column_name)
54 | ```
55 | 컬럼을 추가 삭제하기 전에 컬럼의 존재여부를 확인하세요.
56 |
57 | ```
58 | // example
59 |
60 | if($DB->isColumnExists('documents', 'is_secret'))
61 | {
62 | ...
63 | }
64 | ```
65 |
66 | ### 컬럼 추가하기
67 |
68 | ```
69 | // $table_name 테이블에 $column_name인 컬럼을 추가
70 | DB::addColumn($table_name, $column_name, $type = 'number', $size = '', $default = '', $notnull = false)
71 | ```
72 |
73 | 컬럼을 추가할 때에는 위의 메소드를 사용하세요.
74 |
75 |
76 | ```
77 | // example
78 |
79 | $DB->addColumn('documents',"notify_message","char",1);
80 | ```
81 |
82 | ### 컬럼 삭제하기
83 |
84 | ```
85 | DB::dropColumn($table_name, $column_name)
86 | ```
87 |
88 |
89 | ```
90 | // example
91 |
92 | if($DB->isColumnExists('documents', 'is_secret'))
93 | {
94 | $DB->dropColumn('documents', 'is_secret');
95 | }
96 | ```
97 |
98 | ### 인덱스 존재 여부 확인
99 |
100 | ```
101 | DB::isIndexExists($table_name, $index_name);
102 | ```
103 |
104 |
105 | ```
106 | // example
107 |
108 | if(!$DB->isIndexExists("comments", "idx_status"))
109 | {
110 | ...
111 | }
112 | ```
113 |
114 |
115 | ### 인덱스 추가하기
116 |
117 | ```
118 | DB::addIndex($table_name, $index_name, $target_columns, $is_unique = false)
119 | ```
120 |
121 | 단일 인덱스 추가
122 |
123 | ```
124 | // example
125 |
126 | $DB->addIndex("comments", "idx_voted_count", array("voted_count"));
127 | ```
128 |
129 | 복합(다중 컬럼) 인덱스 추가
130 |
131 | ```
132 | // example
133 |
134 | $DB->addIndex("documents", "idx_module_status", array("module_srl","status"));
135 | ```
136 |
137 | ### 인덱스 삭제하기
138 |
139 | ```
140 | DB::dropIndex($table_name, $index_name, $is_unique = false)
141 | ```
142 |
143 | ```
144 | // example
145 |
146 | $DB->dropIndex("document_extra_vars", "unique_module_vars", true);
147 | ```
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
--------------------------------------------------------------------------------
/XML_Query/03_xml_query/README.md:
--------------------------------------------------------------------------------
1 | # XML Query
2 |
3 |
4 |
5 | - [Quick Start](/XML_Query)
6 | - [테이블 생성하기](/XML_Query/01_create_schema/)
7 | - [테이블 변경하기](/XML_Query/02_alter_schema/)
8 | - [XML 쿼리 기본](/XML_Query/03_xml_query/)
9 | - [SELECT 쿼리 - 기본](/XML_Query/04_select_query_basic/)
10 | - [SELECT 쿼리 - GROUP BY절](/XML_Query/05_select_query_with_groupby/)
11 | - [SELECT 쿼리 - WHERE절](/XML_Query/06_select_query_with_where/)
12 | - [SELECT 쿼리 - ORDER BY절](/XML_Query/07_select_query_with_navigation/)
13 | - [SELECT 쿼리 - JOIN절](/XML_Query/08_select_query_with_join/)
14 | - [SELECT 쿼리 - 서브쿼리](/XML_Query/09_select_query_with_subquery/)
15 | - [INSERT 쿼리](/XML_Query/10_insert_query/)
16 | - [UPDATE 쿼리](/XML_Query/11_update_query/)
17 | - [DELETE 쿼리](/XML_Query/12_delete_query/)
18 | - [XML 쿼리 실행하기](/XML_Query/13_execute_query/)
19 |
20 |
21 |
22 | ## XML 쿼리 기본
23 |
24 | ### XML 쿼리의 작성
25 |
26 | XML 쿼리는 XML 쿼리 정의 언어(XML Query Language)로 작성되며, 하나의 쿼리는 하나의 XML파일에 저장됩니다.
27 |
28 | XML 쿼리 파일은 세가지 경로 중 한 곳에 저장될 수 있습니다.
29 |
30 | * 애드온 디렉토리의 하위 queries 디렉토리
31 |
32 | 예) ./addons/adminlogging/queries/
33 |
34 | * 모듈 디렉토리의 하위 queries 디렉토리
35 |
36 | 예) ./modules/member/queries/
37 |
38 | * 위젯 디렉토리의 하위 queries 디렉토리
39 |
40 | 예) ./widgets/content/queries/
41 |
42 | ### XML 쿼리 ID
43 |
44 | XML 쿼리는 각각 쿼리 ID를 가집니다. XML 쿼리 파일의 파일명은 쿼리의 ID와 동일해야 합니다.
45 |
46 | 쿼리의 최상위 요소(element)는 `
54 |
`요소는 FROM절을 구성합니다. 테이블을 지정합니다.
32 |
33 | ```
34 |
37 |
54 |
75 |
30 |
37 |
83 |
37 |
38 |
42 | `요소의 `type` 속성에 사용할 JOIN(LEFT JOIN|LEFT OUTER JOIN|RIGHT JOIN|RIGHT OUTER JOIN)을 명시한 후, `
`요소의 자식요소로 `
28 |
28 |
27 |
73 |