DOI QR코드

DOI QR Code

Inline Binding For XNL DataInline Binding For XML Data

XML 데이터의 인라인 바인딩 방법

  • 이은정 (경기대학교 정보과학부) ;
  • 유가연 (경기대학교 전자계산학과)
  • Published : 2006.02.01

Abstract

For using XML data in programming languages, there is a data binding method, which generates classes from XML type definitions. However, since existing binding frameworks for this method generate all classes for element definitions, the number of generated classes becomes large and the complexity of the overall application system gets high. In this research, we propose an inline binding method for selecting necessary classes from element definitions. In the proposed method, classes are created only for elements with repetitions and recursions, and they include fields for values of terminal elements. We introduce a generation algorithm for binding classes and the marshaling methods for recovering the omitted paths. We develop IBinder system to validate the proposed method and compare the generated codes with the ones of existing systems. As a result, we carl show that the number of generated classes decrease substantially compared to other systems.

어플리케이션에서 XML 데이터를 이용하기 위한 방법으로 XML 타입 정의에 맞는 클래스를 생성하고 데이터의 인터페이스를 담당하게 하는 XML 바인딩 방법이 있다. 그런데 이러한 방법을 지원하는 기존의 바인딩 프레임워크에서는 XML 정의 문법에서 정의된 모든 요소에 대해 클래스를 생성하여 클래스의 수가 많아지고 전체 어플리케이션의 복잡도가 높아지는 문제가 있다. 본 연구에서는 XML 정의 문법에서 XML 바인딩 클래스 생성이 필요한 요소들을 추출하는 인라인 방법을 제안한다. 제안된 바인딩 클래스생성 방법은 반복과 재귀 등의 경우에만 클래스를 생성하고 터미널 요소의 값은 필드로 표현하는 클래스를 생성한다. 그리고 인라인된 요소들의 경로를 회복하여 XML 문서를 생성하기 위한 마샬링 알고리즘을 소개한다. 제안된 방법을 검증하기 위하여 IBinder 시스템을 개발하고 생성된 결과를 기존의 방법과 비교하였다. 그 결과 IBinder 시스템에서 생성된 XML 바인딩 클래스의 수가 크게 줄어드는 것을 보일 수 있었다.

Keywords

References

  1. 김경덕, '온라인 대화 행위에서 XML 기반 메시지를 이용한 미디어 지원', 한국정보처리학회 논문지 11(B)권 1호, pp.91-98, 2004 https://doi.org/10.3745/KIPSTB.2004.11B.1.091
  2. 이은정, 'XML 데이터 공유를 위한 리스트 잠금 프로토콜', 한국정보처리학회 논문지 11(D)권 7호, pp.1367-1374, 2004 https://doi.org/10.3745/KIPSTD.2004.11D.7.1367
  3. 조정길, '인라이닝에 기반한 XML 스키마의 관계형 스키마 변환 기법', 한국정보처리학회 논문지 11(D)권 5호, pp.1021-1030, 2004 https://doi.org/10.3745/KIPSTD.2004.11D.5.1021
  4. Frank Atanassow, et.al.,. 'Scripting XML with Generic Haskell', Technical Report UU-CS-2003
  5. Jorge Coelho and Mario Florida. 'Type-based XML processing in logic programming,' In PADL 2003, pp.273-285, 2003
  6. R. Engelen, et.al, 'Developing web services for C and C++,' IEEE Internet Computing 7(2), pp.53-61, 2003 https://doi.org/10.1109/MIC.2003.1189189
  7. M. Harren, et.al, 'XJ: integration of XML processing into Java,' In Proceedings of the 13th International World Wide Web conference on Alternate track papers & posters, pp.340-341, 2004 https://doi.org/10.1145/1013367.1013465
  8. H. Hosoya, et.al, 'Xduce: A statically typed XML processing language,' ACM TOIT 3(2), 2003 https://doi.org/10.1145/767193.767195
  9. S. Lu, et.al, 'A New Wining Algorithm for Mapping XML DTDs to Relational Schemas,' ER'2003, 2003
  10. T. Milo, S. et.al, 'Exchanging Intensional XML Data,' In Proc. of ACM SIGMOD, San Diego, 2003
  11. F.Reuter, N.Luttenberger, 'STAX/bc: A binding compiler for event-based XML data binding APIs,' PLANX-2004, pp. 64-72, 2004
  12. J..Shanmugasundaram, et.al, 'Relational databases for querying XML documents: Limitations and opportunities,' VLDB Journal, pp.302-314, 1999
  13. F.Simeoni, et.al, 'Language bindings to XML,' IEEE Internet Computing 7(1), pp.19-27, 2003 https://doi.org/10.1109/MIC.2003.1167335
  14. XML Data Binding Resources. http://www.rpbourret.com/xml/XMLDataBinding.htm
  15. XML and Java technologies: Data binding, http://www-106.ibm.com/developerworks/xml/library/x-databdop/
  16. Java Architecture for XML Binding (JAXB) http://developer.java.sun.com/ developer/technical-Articles/WebServices/jaxb/
  17. Castor. http://www.castor.org
  18. jbind, http://jbind.sourceforge.net/
  19. SAX. http://www.saxproject.org
  20. DOM. http://www.w3.org/DOM
  21. JDOM. http://www.jdom.org/
  22. XML Schema. http://www.w3.org/XML/Schema
  23. XML Spy, http://www.xmlspy.com
  24. Axis WSDL2Java, //ws.apache.org/axis