xFacility/Documents2010. 5. 17. 14:32
1. xFXML

xFXML이란 xFacility의 원활한 데이터 처리를 위해서 사용하는 XML형식입니다.

그 최소 형식은 다음과 같습니다.
<?xml version="1.0" encoding="utf-8" ?>

<sentences>
<sentence>
<who></who>
<how></how>
<what></what>
<where></where>
<when></when>
<why></why>
</sentence>
</sentences>

who는 사용자 고유번호 또는 xfacility를 입력합니다.
how는 읽기, 쓰기, 수정 등의 해야 할(또는 완료한) 행동을 기술합니다. 명령 결과 전송시 반환return이라 표시합니다.
what은행동의 대상을 나타냅니다. 실제적 데이터가 여기에 기술됩니다.
where는 어떠한 라이브러리에서 이러한 행동을 취할 것인지(취했는지) 나타냅니다. 데이터 내용과 관련 있습니다.
when은 언제 이러한 행동이 이뤄질 것인지(또는 이루어졌는지) 나타냅니다.
why는 이러한 행동이 취해진 까닭을 기술합니다. 오류가 발생한 경우 오류가 발생한 이유가 여기에 기술됩니다.

다음은 예제 코드입니다.
<?xml version="1.0" encoding="utf-8" ?>

<sentences>
<sentence>
<who>xfacility</who>
<how>return</how>
<what>1</what>
<where>party</where>
<when>2010May05162118</when>
<why>An error occured. xFacility cannot EDIT the item. Nothing has the NUMBER(2).</why>
</sentence>
<sentence>
<who>xfacility</who>
<how>return</how>
<what>0</what>
<where>shelf</where>
<when>2010May05162118</when>
<why></why>
</sentence>
</sentences>


2. 범위Range

특정한 대상을 숫자로 지정하기 위해 사용하는 형식입니다.
숫자(1234567890)와 콤마(,), 하이픈(-), 느낌표(!)을 통해서 나타냅니다.
인쇄 옵션에서 페이지를 지정할 때의 문법과 같습니다.

숫자는 지정할 숫자를 그대로 사용합니다.
콤마(,)는 "또는"의 의미입니다.
하이픈(-)은 "에서"의 의미입니다. 2-4인 경우 2에서 4라고 읽으며 2,3,4를 지정합니다.
'-'는 처음부터 끝까지(모든 번호를) 지정합니다.
'x-'는 x이후 모든 번호를 지정합니다.(모든 번호에서 x-1을 제외합니다.)
'-y'는 1부터 y까지의 번호를 지정합니다.
'x-y'는 x부터 y까지 지정합니다.
느낌표(!)는 "부정(NOT)"을 의미합니다. !2-4라고 쓰인경우 2,3,4를 제외하여 지정합니다.
0은 아무것도 지정하지 않습니다. NULL값으로 규정합니다.

① 처음은 반드시 숫자이어야 합니다.
② 음수는 사용 불가능합니다.
③ 제외할 번호가 있을 때에는 제외할 숫자 앞에 !를 붙입니다.

다음은 예제입니다.
1,2,3,4,5,6,7,8,9,10  //
1-10 //위와 동일합니다.
-10 //위와 동일합니다.
1,4-7,10 //1번, 4번, 5번, 6번, 7번 그리고 10번을 지정합니다.
10,7-4,1 //위와 동일합니다.
1-10,!2,!3,!8-9 //위와 동일합니다.
10- //10번 이후의 모든 번호를 지정합니다.
0 //모든 번호를 지정합니다.

범위는 아이템 번호를 지정할 때 주로 사용됩니다. 만약 2에서 5번까지의 게시물을 읽고 싶은 경우, <no>2-5</no>로 지정하면 원하는 게시물을 불러 올 수 있습니다. 또한 범위는 기존 웹보드와 달리 비연속적, 비연관적 게시물을 무제한으로 불러 올 수 있는 장점이 있습니다.

3. 그릇Container

그릇은 XML은 데이터의 부피가 크기 때문의 효과적인 데이터 공간 활용을 위해서 새로 개발한 형식입니다.
개발자들이 이 형식을 익히기 위해 노력할 필요가 없도록 최대한 C의 형식을 빌어왔으며
xFacility API를 통해서 그릇은 XML 또는 배열 변수로도 변환이 가능합니다.
배열을 위해 만들어진 형식이기 때문에 배열 데이터를 플랫폼이나 언어에 상관없이 손쉽게 작성할 수 있으며,
배열을 시각화할 수 있다는 장점이 있습니다.

앞서 xFXML의 설명을 위해 나왔던 코드를 그릇으로 옮기면 다음과 같습니다.
sentence{who=xfacility;how=return;what=1;where=xfxmlio;when=2010May05162118;why=An error occured. xFacility cannot EDIT the item. Nothing has the NUMBER(2).;}, sentence{who=xfacility;how=return;what=0;where=shelf;when=2010May05162118;why=;}

다음과 같은 것도 가능합니다.
{a{b{c{d{e{f{g{h{i:5}}}}}}}}}

//PHP
$string = "{a{b{c{d{e{f{g{h{i:5}}}}}}}}}";
$array = container($string);
//RESULT:  $array[a][b][c][d][e][f][g][h][i] = 5;

배열을 시각화할 수 있습니다.
{
a{
c{
e{
h:10;
i:1;
}
f:6;
}
d{
g:7;
}
}
b{
e:5;
}
}

= {a{c{e{h:10;i:1;}f:6;}d{g:7;}}b{e:5;}}

문법요소 사이에 있는 문자는 다음으로 인식됩니다. (배열명이 없는 경우 자동으로 배열명을 배정합니다.)
 끝         /      시작  {  =  ;  }  공백
 { 배열명   배열명 배열명 배열명
 = 배열명   배열명 배열명  배열명
 ; 값(자동배열) 값(자동배열) 값(자동배열) 값(자동배열) 
 } 값(자동배열) 값(자동배열) 값(자동배열)
 공백
값(자동배열) 값(자동배열) 값(무배열)

4. 치환자Replacer

치환자는 치환될 내용을 보관하는 XML형식입니다.
<?xml version="1.0" encoding="utf-8" ?>

<replacer>
<imageaddress>http://www.example.com/image.jpg</imageaddress>
<content>
<p>Hello World</p>
</content>
</replacer>

이와 같은 내용을 xFacility API를 통해 제공하는 replacer()함수를 이용하면 %치환변수명% 자리에 해당 내용이 바뀌어 들어갑니다.

만약 치환변수가 있는 원본 파일의 내용이 다음과 같다면,
<html>
<head>
<title>Test</title>
</head>
<body>
<img src="%imageaddress%" />
%content%
</body>
</html>

replacer()함수의 처리를 거친 뒤에는 다음과 같이 변환됩니다.
<html>
<head>
<title>Test</title>
</head>
<body>
<img src="http://www.example.com/image.jpg" />
<p>Hello World</p>
</body>
</html>

'xFacility > Documents' 카테고리의 다른 글

xFacility Data Form데이터 형식  (0) 2010.10.20
xf_language 변수  (0) 2010.08.23
xFacility 변수 규칙  (0) 2010.08.07
문장 구조  (0) 2010.06.29
처리Process  (0) 2010.05.16
Posted by 마이클