메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

XQuery 1.0 문법 테스트 페이지 소개

한빛미디어

|

2003-01-02

|

by HANBIT

12,303

저자: 김대곤

아직까지 XQuery을 실행시켜 볼 수 있는 제품은 많지 않다. 그리고 XQuery는 생소한 특성을 가지고 있기 때문에 정확한 Xquery라도 "혹시 잘못된 것은 아닌가..."하는 의심이 가는 경우도 많다. 적어도 이 글을 쓰고 있는 나에게는 말이다. 예를 들면 다음과 같은 XQuery 프로그램은 좀 이상해 보인다.

3+4

XQuery가 표현 언어이라는 사실을 알고 있어도 무언가 잘못된 것 같은 생각을 지울 수 없다. 그런데 다행스럽게도 W3C는 필자와 같은 사람이 이용할 수 있는 XQuery의 문법을 체크할 수 있는 사이트를 제공하고 있다. 이 사이트에서는 파싱 트리(Parse tree)나 문법 오류를 검사해주는 역할을 한다.

위에서 언급한 사이트에서는 페이지에 대한 간단한 설명 및 Parse 버튼, 두 개의 TextArea로 구성되어 있다. 하나는 XQuery의 내용을 입력하기 위한 것이고, 하나는 결과를 보여주는 것이다. 위의 간단한 XQuery 프로그램을 입력하면, 다음과 같은 파싱 트리(Parse tree)가 나타나게 된다.
|XPath2
|   QueryList
|      Query
|         QueryProlog
|         QueryBody
|            ExprSequence
|               FLWRExpr
|                  QuantifiedExpr
|                     TypeswitchExpr
|                        IfExpr
|                           InstanceofExpr
|                              CastableExpr
|                                 UnaryExpr
|                                    Constructor
|                                       ElementConstructor
|                                          StartTagOpenRoot <
|                                          TagQName example
|                                          AttributeList
|                                          StartTagClose >
|                                          ElementContent
|                                             Char 

|                                          ElementContent
|                                             Char 3
|                                          ElementContent
|                                             Char +
|                                          ElementContent
|                                             Char 4
|                                          ElementContent
|                                             Char 

|                                          EndTagOpen 
본 기사의 목적은 결과로 나온 파싱 트리에 설명하는 것이 아니라, 이러한 결과값을 얻을 수 있는 사이트를 소개하는데 있다. 사이트 이해를 위해 몇 가지 용어를 설명하는 것이 더 적절해 보인다.

1. Parser

Parse의 뜻은 문장을 해부하고 분석하는 것을 의미하며, Parser는 프로그래밍 언어의 문장이나 문자열의 문법적인 구조를 분석 및 해석하는 프로그램이나 알고리즘을 말한다. 연속된 토근들을 입력받아 lexical analyser를 사용하여 결과를 산출한다. 결과값은 문법 트리(Abstract syntax tree)로 구성된다.

2. BNF(Backus Naur Form)

간단하게 말하면 (프로그래밍) 언어의 문법을 표시하기 위한 일종의 공식적인 표기법이다. 다음은 www.terms.co.kr에 정의된 내용이다.
"BNF는 프로그래밍 언어를 정의하기 위한 최초의 메타 언어였다. ALGOL 58 언어의 구문 기술을 위해 1959년에 John Backus에 의해 처음 도입되었으며, Peter Naur에 의해 강화되어 ALGOL 60을 정의하는데 사용되었다. BNF는 구문 요소를 나타내는 기호 < >, 둘 중 하나의 선택을 의미하는 기호 ∥, 좌변은 우변에 의해 정의됨을 의미하는 기호 ::= 등의 메타 기호들을 사용하여 규칙을 표현한다. BNF의 원형은 원래 "Backus normal form"이었으나, Peter Naur의 이름을 넣어 오늘날과 같이 바뀌었다."
이 글이 아직 초기 단계(적어도 필자에게는 그렇게 보인다)에 있는 XQuery에 관심 가지고 있는 사람에게 조금이라도 도움이 되기를 바라면서 끝을 맺고자 한다.

참고 자료
TAG :
댓글 입력
자료실

최근 본 상품0