본 논문에서는 목표 문서의 DTD에 정의된 구조에 따라 원시문서를 목표 문서로 변환하는 XML 문서변환기와 골격 원시 프로그램을 생성하는 방법을 제안한다. 사용자는 생성된 프로그램을 이용하여 코드를 추가하거나 프로그램을 변경하고, 외부 클래스나 라이브러리 파일들을 연결하여 자신이 원하는 방법으로 쉽게 문서를 변환할 수 있다. 생성된 프로그램은 목표 DTD 경로(path)를 기준으로 코드를 생성하기 때문에 가독성이 높다. 현재까지의 대부분의 XML 문서변환은 XSLT를 이용하거나 XQuery를 이용하여 Java 프로그램을 생성하고 있으나, 각 요소별로 코드를 조작할 수 없는 단점이 있다. 본 논문에서 제안된 방법은 사용자가 원시/목표 문서에서 제공되는 DTD 혹은 문서에서 자동으로 추출된 DTD를 이용하여 원소 사이의 관계를 지정하면 자동적으로 문서가 변환되고 Java 원시 프로그램을 생성하기 때문에 코드 생성과정이 매우 단순하다. 메타데이터인터페이스는 Java GUI를 이용하여 트리 형태로 표현된 DTD의 원소를 클릭하여 쉽게 생성할 수 있다. 문서변환을 위한 매핑은 원소의 특성에 따라 1:1, 1:N, N:1로 구분되며 데이터의 분해 혹은 합성을 위한 사용자 지정 함수가 메타데이터 인터페이스에 저장된다. 본 시스템은 실제 사용되고 있는 논문 XML 문서를 서지문서로 변환한 결과 및 프로그램 코드를 예제로 구현하여 결과를 제시하였다.
본 논문에서는 목표 문서의 DTD에 정의된 구조에 따라 원시문서를 목표 문서로 변환하는 XML 문서변환기와 골격 원시 프로그램을 생성하는 방법을 제안한다. 사용자는 생성된 프로그램을 이용하여 코드를 추가하거나 프로그램을 변경하고, 외부 클래스나 라이브러리 파일들을 연결하여 자신이 원하는 방법으로 쉽게 문서를 변환할 수 있다. 생성된 프로그램은 목표 DTD 경로(path)를 기준으로 코드를 생성하기 때문에 가독성이 높다. 현재까지의 대부분의 XML 문서변환은 XSLT를 이용하거나 XQuery를 이용하여 Java 프로그램을 생성하고 있으나, 각 요소별로 코드를 조작할 수 없는 단점이 있다. 본 논문에서 제안된 방법은 사용자가 원시/목표 문서에서 제공되는 DTD 혹은 문서에서 자동으로 추출된 DTD를 이용하여 원소 사이의 관계를 지정하면 자동적으로 문서가 변환되고 Java 원시 프로그램을 생성하기 때문에 코드 생성과정이 매우 단순하다. 메타데이터 인터페이스는 Java GUI를 이용하여 트리 형태로 표현된 DTD의 원소를 클릭하여 쉽게 생성할 수 있다. 문서변환을 위한 매핑은 원소의 특성에 따라 1:1, 1:N, N:1로 구분되며 데이터의 분해 혹은 합성을 위한 사용자 지정 함수가 메타데이터 인터페이스에 저장된다. 본 시스템은 실제 사용되고 있는 논문 XML 문서를 서지문서로 변환한 결과 및 프로그램 코드를 예제로 구현하여 결과를 제시하였다.
In this paper, we propose a system for generating skeleton programs for directly transforming an XML document to another document, whose structure is defined in the target DTD with GUI environment. With the generated code, the users can easily update or insert their own codes into the program so tha...
In this paper, we propose a system for generating skeleton programs for directly transforming an XML document to another document, whose structure is defined in the target DTD with GUI environment. With the generated code, the users can easily update or insert their own codes into the program so that they can convert the document as the way that they want and can be connected with other classes or library files. Since most of the currently available code generation systems or methods for transforming XML documents use XSLT or XQuery, it is very difficult or impossible for users to manipulate the source code for further updates or refinements. As the generated code in this paper reveals the code along the XPaths of the target DTD, the result code is quite readable. The code generating procedure is simple; once the user maps the related elements represented as trees in the GUI interface, the source document is transformed into the target document and its corresponding Java source program is generated, where DTD is given or extracted from XML documents automatically by parsing it. The mapping is classified 1:1, 1:N, and N:1, according to the structure and semantics of elements of the DTD. The functions for changing the structure of elements designated by the user are amalgamated into the metadata interface. A real world example of transforming articles written in XML file into a bibliographical XML document is shown with the transformed result and its code.
In this paper, we propose a system for generating skeleton programs for directly transforming an XML document to another document, whose structure is defined in the target DTD with GUI environment. With the generated code, the users can easily update or insert their own codes into the program so that they can convert the document as the way that they want and can be connected with other classes or library files. Since most of the currently available code generation systems or methods for transforming XML documents use XSLT or XQuery, it is very difficult or impossible for users to manipulate the source code for further updates or refinements. As the generated code in this paper reveals the code along the XPaths of the target DTD, the result code is quite readable. The code generating procedure is simple; once the user maps the related elements represented as trees in the GUI interface, the source document is transformed into the target document and its corresponding Java source program is generated, where DTD is given or extracted from XML documents automatically by parsing it. The mapping is classified 1:1, 1:N, and N:1, according to the structure and semantics of elements of the DTD. The functions for changing the structure of elements designated by the user are amalgamated into the metadata interface. A real world example of transforming articles written in XML file into a bibliographical XML document is shown with the transformed result and its code.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 메타데이터 인터페이스를 이용하여 원시 XML 문서를 목표 XML 문서로 변환하는 문서변환기 및 코 드 생성기에 대하여 기술하였다. 원시 XML 문서와 변환하기 위한 문서에 대한 DTD만 있으면 원시 문서 DTD의 존 재 유무에 관계없이 구조가 다르더라도 원시 DTD와 목표 DTD를 매핑시키고 요소 변환 정보를 입력하여 변환시킬 수 있다.
이러한 문제점을 극복하기 위해서 본 논문에서는 원시 (source) XML 문서를 목표(target) 문서 DTD의 구조로 변 형하기 위한 프로그램 코드를 생성하여 사용자 자신의 클래 스와 시스템으로 쉽게 변경할 수 있는 방법을 제안한다. 골 격 원시 코드는 목표 DTD의 각 요소에 대해 XPath 형태로 생성되므로 프로그램의 구조를 쉽게 파악할 수 있다.
가설 설정
SD(Source DTD) 는 원시 DTD 를, TD(Target DTD) 는 목표 DTD를 의미한다. S를 원시 DTD ££>의 경로 트리 S7 의 노드 집합, T를 목표 DTD 의 경로 트리 TT의 노드 집합이라 가정하고, RS와 PT를 각각 £와 T의 멱집합이라 하자. 각 트리의 노드 Oi 는 노드명 Oli 와 노드값 OVi 로 구성된 객체 (oh, 的丿가 된다.
제안 방법
XML 문서를 변환하기 위해서 제시된 방법들 중에서 매 핑을 이용한 방법을 먼저 살펴본다. [기에서는 메타데이터 레지스트리를 이용하여 매핑 테이블과 그에 대한 트리 및 트리에 대한 노드 이름을 변환하는 방법을 제시하였다.
본 시스템의 구조는 (그림 1)과 같다. 구조적, 의미적으로 상이한 원시문서를 목표문서로 변환하기 위해 필요한 메타 정보를 포함하는 XDMI 생성기(XDMI Generator)와 원시 문서를 XDMI에 저장된 메타 정보를 이용하여 목표 문서로 변환하고 골격 원시 코드를 생성해 주는 코드생성기(Code Generator)로 구성된다. XDMI 생성기는 DTD 파서, 매퍼, XDMI 생성기를 포함한다.
동일한 번호를 갖는 모든 원시 DTD와 목표 DTD의 경로들을 같은 경로 집합으로 모아 각각 와 태그의 세트로 구성하는 XDMI 파일을 자동으 로 생성한다.
반면, 본 논문에서는 사용자가 원시 문서와 목표 문서에서 사용된 DTD의 의미만 알면 이를 매퍼를 이용하여 매핑 하고 데이터 변환을 위한 함수를 동시에 주가하여 쉽게 문 서를 변환한다. 또한 골격 원시 코드를 동시에 생성하여 사 용자에게 목표 문서의 각 요소별로 문장을 추가하거나 변경 할 수 있는 유연성을 제공한다.
본 논문에서 제시한 방법은 앞서 사용된 방법들과는 달리 원시 문서와 목표 문서에서 사용된 DTD의 의미만 알면 이를 매퍼를 이용하여 매핑하고 데이터 변환을 위한 함수를 동시에 추가하여 쉽게 문서를 변환할 수 있는 장점을 가지고 있다. 사용자가 새로이 배우거나 추가해야 할 규칙이 없 으며, XSLT를 이용하지도 않기 때문에 별도의 처리기가 필 요없다.
SDE와 TDE간의 매핑은 1:1, 1:N, N:1의 세 종류로 구분 된다. 본 논문에서의 접근 방법은 메타데이터 인터페이스인 XDMI (XML Documents Metadata Interface) 에 저장된 매 핑 정보를 기반으로 시스템을 구현하는 것으로써, XDMI 파 일은 XML 문서의 이름이나 위치정보 및 경로정보, DTD의 요소나 경로에 관한 의미정보를 포함한다.
본 시스템은 문서를 변환하기 위해서 요소들에 관한 매핑 을 지원하기 위한 GUI 도구와 변환을 실행하는 변환기 및 골격 원시 코드 생성기로 구성되어 있다. 매핑 지원 도구는 목표 문서의 DTD 혹은 문서 자체를 파싱해서 각 요소에 대한 경로를 생성하며, 사용자가 클릭하면 트리를 펼치거나 접을 수 있는 동적인 경로 트리를 제공한다[6〕.
문서를 변환하기 위해서 먼저 목 표 DTD를 파싱하면 (그림 2) 하단에 있는 步泊'라는 문서에 대한 경로 트리가 생성된다. 로부터 TD를 생성하기 위해서는 77?에 의해 생성된 77의 루트 노드부터 시작하여 루트 노드에 해당하는 SDE의 이름을 노드 매핑에 의해 XDMI로부터 찾아낸다. 만약 해당되는 이름이 SZ)에 있으면 그 이름을 空Q에 생성함과 동시에 SDE1의 값이 존재하면
후속연구
현재의 문서 변환 개념은 1:1, 1:N 혹은 N:1 매핑에 대한 변환을 지원하고 있으며, 향후 연구과제로는 경로 상에서 순환 경로가 발생하는 경우와 변환 조건 내에서 부가적인 조건을 포함하는 문서의 변환을 위한 연구가 필요하다. 참고 문헌
참고문헌 (17)
EIA/IS-106 'CDIF-CASE Data Interchange Format Overview', January 1994
XML Metadata Interchange (XMI), http://www-4.ibm.com/software/ad/library/ standards/xmi.html
XSL Transformations (XSLT) Version 1.0, http://www.w3.org /TR/xslt/
J. Eder and W. Strametz. 'Composition of XML-Transformations', EC-Web 2001, LNCS 2115, pp.71-80, 2001
M. Erwig. 'Toward the Automatic Derivation of XML Transformations', ER 2003 Workshops, LNCS 2814, pp.342-354, 2003
XML Path Language (XPath) 1.0, http://www.w3.org/TR/xpath/
홍종하, 양유승, 나홍석, 백두권, '메타데이터 레지스트리를 이용한 XML-문서 교환 방법', 정보과학회 봄 학술발표 논문집 Vol. 28, No.1, pp 94-96, 2001
조정길, 조윤기, 구연설, '구조적 상이성 분석에 기반한 XML 문서 변환 시스템의 설계 및 구현', 정보처리학회 논문지D, 제 9-D권 제 2호,pp. 297-306, 2002
성길용, 강치원, 정회경, '구조적 문서 변환을 위한 XML Mapper 시스템 설계 및 구현', 정보과학회 봄 학술발표 논문집 Vol.28, No.1, pp.382-384, 2001
심민석, 유대승, 엄정섭, 강만모, 이명재, 'XTGen: XML 변환기 생성을 위한 컴포넌트 기반 시스템', 정보과학회 봄 학술발표 논문집 Vol.28, No.1, pp.310-312, 2001
F. Bendeck. 'Automation of XML Documents Translator Generation', WETICE 2001, pp.37-38, 2001
S. Krishnamurthi, K. E. Gray and P. T. Graunke. 'Transformation-by-Example for XML', PADL 2000, LNCS 1753, pp.249-262, 2000
T. Pankowski. 'Transformation of XML Data Using an Unranked Tree Transducer', EC-Web 2003, LNCS 2738, pp.259-269, 2003
H. Su, H. Kuno, E. 'Rundensteiner, Automating the Transformation of XML Documents', WIDM 2001, Atlanta
Y. K. Nam, J. Goguen, G. Wang. 'A Metadata Integration Assistant Generator for Heterogeneous Distributed Data bases', in Proceedings, International Conference on Ontologies, DataBases, and Applications of Semantics for Large Scale Information Systems, Springer, LNCS, Vol.2519, pp.1332-1344, 2002
ALTOVA XMLSpy, http://www.altova.com
Stylus Studio XML Enterprise Edition, http://www.stylusstudio.com
※ AI-Helper는 부적절한 답변을 할 수 있습니다.