DOI QR코드

DOI QR Code

Merging XML Documents Based on Insertion/Deletion Edit Operations

삽입/삭제 편집연산 기반의 XML 문서 병합

  • Published : 2009.08.31

Abstract

The method of effectively merging XML documents becomes necessary, as the use of XML is popular and the collaborative editing is required in the areas such as office documents and scientific documents editing works. As a solution to this problem, in this paper we present a theoretical framework for merging individual editing works by muli-users to a same source document. Different from existing approaches which merge documents themselves when they are merged, we represent editing works with a series of edit operations applied to a source document, which is called a edit script, merge those edit scripts by multi-users, and apply the merged one to the source document so that we can achieve the same effect of merging documents. In order to do this, assuming edit scripts based on insertion and deletion edit operations, we define notions such as static edit scripts, the intervention between edit scripts and the conflict between the ones, then propose the conflict conditions between edit scripts and the method of adjusting edit scripts when merged. This approach is effective in reducing network overhead in distributed environments and also in version management systems because of preserving the semantics of individual editing works.

오피스 및 과학 분야의 문서 작업 등에서 XML의 사용이 보편화되고 협업이 요구됨에 따라 효과적인 XML 문서 병합 방법이 필요하다. 이에 대한 해결 방안으로 본 논문에서는 동일 원본 문서에 대한 다수 사용자의 편집 작업들의 병합을 위한 이론적 틀을 제시한다. 문서들의 병합시 문서 자체를 병합하는 기존의 방법들과는 달리, 사용자의 편집 작업을 원본 문서에 적용되는 일련의 편집 연산들, 즉 편집 스크립트로 표현하고 다수 사용자의 편집 스크립트들을 병합하고 원본 문서에 적용하여 문서의 병합 효과를 이루고자 한다. 이를 위해 삽입과 삭제연산으로 구성된 편집스크립트를 전제로 정적 편집 스크립트, 편집 스크립트의 간섭 및 충돌 등의 개념들을 정의하고 편집 스크립트들의 충돌 조건과 병합시 편집 스크립트 조정기법을 제안한다. 이 방법은 분산 환경에서 네트워크 부하를 줄이며 각 편집 작업의 의미가 보존되어 버전관리에 효과적이다.

Keywords

References

  1. M. Perry, and D. Agawral, 'Collaborative editing within the pervasive collaborative computing environment,' Lawrence Berkeley National Laboratory, LBNL 53769, 2003
  2. A. Marian, S. Abitebouol, G. Cobena, and L. Mignet, 'Change- Centric Management of Versions in an XML Warehouse,' in Proc. of the 27th VLDB Conf., Italy, 2001
  3. Curbera and D.A. Epstein, 'Fast Difference and Update of XML Documents,' XTech '99, San Jose, March, 1999
  4. S.K. Lee and D.A. Kim, 'X-treeDiff+: Efficient Change Detection Algorithm in XML Documents,' Lecture Notes in Computer Science(LNCS 4096), pp.1037-1046, 2006 https://doi.org/10.1007/11802167_104
  5. G. Cobe.na, S. Abiteboul and A. Marian, 'Detecting Changes in XML Documents,' The 18th ICDE, 2002
  6. K. Tai, 'The tree-to-tree correction problem,' Journal of the ACM, 26(3), pp.422-433, 1979 https://doi.org/10.1145/322139.322143
  7. K. Zhang and D. Shasha, 'Simple fast algorithms for the editing distance between trees and related problems,' SIAM Journal of Computing, 18(6), pp.1245-1262, 1989 https://doi.org/10.1137/0218082
  8. S. Chawathe and H. G. Molina, 'Meaningful Change Detection in Structured Data,' In SIGMOD '97, pp.26-37, 1997 https://doi.org/10.1145/253262.253266
  9. S. Lu, 'A tree-to-tree distance and its application to cluster analysis,' IEEE TPAMI, 1(2), pp.219-224, 1979
  10. S. M. Selkow, 'The tree-to-tree editing problem,' Information Processing Letters, 6, pp.184-186, 1977 https://doi.org/10.1016/0020-0190(77)90064-3
  11. S. Khanna, K.Kunal, and B.C. Pierce, 'A Formal Investigation of Diff3,' FSTTCS 2007: Foundations of Software Technology and Theoretical Computer Science, Lecture Notes in Computer Science(LNCS 4855), pp.485-496, 2007 https://doi.org/10.1007/978-3-540-77050-3_40
  12. M.K. Johnson, 'Diff, pathch, and friends,' Linux Journal, Aug. 1996
  13. S. Balasubramaniam, and B.C. Pierce, 'What is a file synchronizer?,' Proc. of Fourth Annual ACM/IEEE Int. Conf. on Mobile Computing and Networking (MobiCom'98), pp. 98-108, Oct., 1998
  14. T. Lindholm, 'A Three-way Merge for XML Documents,' Proc. of the 2004 ACM symp. on Document engineering, pp.1-10, Milwaukee, Wis. Oct., 2004 https://doi.org/10.1145/1030397.1030399
  15. R.L. Fontaine, 'Merging XML files: a new approach providing intelligent merge of XML data sets,' Proc. of the XML Europe 2002, Barcelona, May, 2002
  16. CVS, Concurrent Versions System, http://www.cvshome.org or http://ximbiot.com/cvs/
  17. SubVersion, Source Version Control System, http://subversion.tigris.org/
  18. R. Smith, GNU diff3 (1988) Version 2.8.1, April 2002; distributed with GNU diffutils package
  19. S. Ronnau, J. Scheffczyk, and U. Borghoff, 'Towards XML Version Control of Office Documents,' Proc. of the fifth ACM symposium on Document Engineering, Bristol, U.K. 2005 https://doi.org/10.1145/1096601.1096606
  20. S. Ronnau, C. Pauli, and U. Borghoff, 'Merging changes in XML documents using reliable context fingerprints,' Proc. of the eighth ACM symposium on Document Engineering, pp.52-61, 2008 https://doi.org/10.1145/1410140.1410151
  21. C.-L. Ignat, and M. Norrie, 'Flexible collaboration over XML documents,' In Proc. of 3rd Int. Conf on Cooperative Desgin, Visualization, and Engineering(CDVE) pp.267-274, 2006 LNCS 4101 https://doi.org/10.1007/11863649_33
  22. G.W. Manger, 'A Generic Algorithm for Merging SGMS/XMLInstnaces,' In Proc. of XML Europe 2001, Berlin, Germany
  23. 김동아, 'XML 문서에 대한 변화 탐지 및 관리,' 단국대학교 전산통계학과 박사학위논문, 2005