KR100627587B1 - 웹브라우저 상에서 xml 문서를 생성하는 방법 - Google Patents

웹브라우저 상에서 xml 문서를 생성하는 방법 Download PDF

Info

Publication number
KR100627587B1
KR100627587B1 KR1020040034358A KR20040034358A KR100627587B1 KR 100627587 B1 KR100627587 B1 KR 100627587B1 KR 1020040034358 A KR1020040034358 A KR 1020040034358A KR 20040034358 A KR20040034358 A KR 20040034358A KR 100627587 B1 KR100627587 B1 KR 100627587B1
Authority
KR
South Korea
Prior art keywords
document
file
source
xml
data
Prior art date
Application number
KR1020040034358A
Other languages
English (en)
Other versions
KR20050108919A (ko
Inventor
김영근
Original Assignee
김영근
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to KR1020040034358A priority Critical patent/KR100627587B1/ko
Application filed by 김영근 filed Critical 김영근
Priority to RU2006144457/09A priority patent/RU2332708C1/ru
Priority to US11/568,921 priority patent/US7831904B2/en
Priority to AU2004319606A priority patent/AU2004319606A1/en
Priority to CN2004800430396A priority patent/CN1954312B/zh
Priority to JP2007513048A priority patent/JP2007537531A/ja
Priority to EP04773925A priority patent/EP1763779A4/en
Priority to CA2566294A priority patent/CA2566294C/en
Priority to PCT/KR2004/001418 priority patent/WO2005111844A1/en
Publication of KR20050108919A publication Critical patent/KR20050108919A/ko
Application granted granted Critical
Publication of KR100627587B1 publication Critical patent/KR100627587B1/ko
Priority to JP2011158642A priority patent/JP2011253548A/ja
Priority to JP2014055484A priority patent/JP2014167797A/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21VFUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
    • F21V17/00Fastening of component parts of lighting devices, e.g. shades, globes, refractors, reflectors, filters, screens, grids or protective cages
    • F21V17/10Fastening of component parts of lighting devices, e.g. shades, globes, refractors, reflectors, filters, screens, grids or protective cages characterised by specific fastening means or way of fastening
    • F21V17/18Latch-type fastening, e.g. with rotary action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 웹브라우저 상에서 XML 문서를 생성하는 방법에 관한 것이다. 본 발명에 따른 방법은: 웹브라우저로부터 입력 데이터를 수신하는 단계와; 미리 저장되어 있는 소스 XML 문서를 복제하는 단계로서, 상기 소스 XML 문서는 미리 결정된 구조 및 미리결정된 소스 데이터가 포함되어 있는, 소스 XML 문서를 복제하는 단계와; 상기 복제된 XML 문서에 포함되어 있는 소스 데이터를 상기 수신된 입력 데이터로 치환하는 단계와; 상기 치환 단계에서 생성되는 XML 문서를 새로운 XML 문서로서 저장하는 단계를 포함한다. 본 발명에 따르면, 일반 사용자로 하여금, 별도의 XML에디터 없이 현재 널리 사용되고 있는 웹브라우저만을 이용하여 이력서, 상거래 계약서, 공문서 등과 같은 정형화된 양식을 가진 XML 문서를 쉽게 작성할 수 있도록 한다.
XML, 웹폼, 브라우저

Description

웹브라우저 상에서 XML 문서를 생성하는 방법{METHOD FOR GENERATING AN XML DOCUMENT ON A WEB-BROWSER}
도 1은 종래의 XML 문서 생성 과정을 간단히 보여주는 개략도.
도 2는 본 발명의 일실시예에 따른 XML 문서를 생성하는 과정을 간단히 보여주는 개략도.
도 3 및 도 4는 도 2의 과정을 좀더 상세하게 설명하기 위한 개념적인 블럭도.
도 5 내지 도 22는 본 발명의 일실시예에 따른 XML 문서를 자동으로 생성하는 방법 중 소스 수단들을 생성시키는 툴에서의 작업을 각 단계별로 자세하게 설명하기 위한 흐름도.
도 23은 본 발명의 일실시예에 따른 XML 문서를 자동으로 생성하는 방법 중 사용자가 웹폼을 이용하여 전송한 데이터를 사용하여 XML 문서를 자동으로 생성시키는 엔진에서의 작업을 자세하게 설명하기 위한 흐름도.
도 24는 본 발명의 일실시예에 따른 XML 문서를 자동으로 생성하는 방법에 있어서 각 단계별로 생성되는 문서의 생성 단계들을 전체적으로 보여주기 위한 개념적인 흐름도.
<도면의 주요 부분에 대한 간단한 설명>
22 : 사용자 24 : 웹 브라우저
26 : XML문서 생성 엔진 28 : 생성된 XML 문서
210 : 소스 작성자 232 : 소스 파일 자동 생성 툴
233 : 생성된 소스 파일 250 : 서버
본 발명은 XML 문서를 생성하는 방법에 관한 것으로서, 특히 이력서, 상거래 계약서, 또는 공문서 등과 같이 미리 결정되어 있는 정형화된 구조를 가지는 XML 문서를 일반 사용자가 웹브라우저(web-browser)를 이용하여 간편하게 생성할 수 있도록 한 방법 등에 관한 것이다.
근래에 TCP/IP(Transmission Control Protocol/Internet Protocol)을 통신 프로토콜로서 사용하는 인터넷의 등장으로, 수많은 서버 컴퓨터와 수많은 클라이언트 컴퓨터가 하나의 네트워크로서 연결되고 있다. 이러한 인터넷을 통하여 일반 사용자들은 회사나 가정에 비치된 컴퓨터, 또는 휴대용 컴퓨터를 사용하여 수많은 정보를 만들어내고 전송하고 수신할 수 있다.
사용자는 예컨대 Netscape
Figure 112004020424156-pat00001
Navigator
Figure 112004020424156-pat00002
또는 Microsoft
Figure 112004020424156-pat00003
Internet Exploror와 같은 웹브라우저를 이용하여 WWW(World Wide Web) 서버 컴퓨터가 운영 하는 웹사이트에 접속할 수 있고, 상기 웹사이트를 통해 제공되는 검색, 커뮤니티 활동, 상거래 활동 등의 각종 서비스를 제공받을 수 있다. 이 경우 일반적으로 데이터는 서버 컴퓨터로부터 클라이언트 컴퓨터의 웹브라우저로 HTTP(Hypertext Transfer Protocol)를 사용하여 전송된다. 웹브라우저로 전송되는 데이터는 웹페이지라고 지칭되며, 통상 HTML(Hypertext Markup Landuage) 문서를 포함한다.
HTML은 웹페이지를 작성하기 위여 널리 사용되는 마크업 언어로서, 일반인들이 쉽게 이해할 수 있다는 장점을 가진다. 더욱이 상업적으로 쉽게 구할 수 있는 HTML 문서 에디터를 사용하면 복잡하고 많은 내용을 가진 HTML문서를 쉽게 작성하고 편집할 수 있다. 이와 같이 HTML 문서를 전문적인 프로그래밍 지식이 없는 일반 사용자들이 쉽게 편집하고 만들어 낼 수 있다는 사실은, 현재 웹의 성공 원인 중 가장 중요한 요인이라 생각되고 있다. 그러나, HTML의 중요한 단점 중 하나는, HTML이 포맷과 레이아웃을 위한 표현 언어이지 데이터를 기술하기 위한 언어는 아니라는 점이다. 따라서 HTML을 사용하여 쉽게 문서를 작성하고 포맷팅할 수 있지만, HTML 문서를 다른 타입의 문서로서 재사용하고자 할 때 및 HTML 문서의 내용을 검색하고자 할 때는 한계가 있다. 더욱이, HTML은 미리 정의된 엘리먼트(예컨대 <HTML>, <BODY>, <TABLE> 등)를 사용하고 있기 때문에, 표현할 수 있는 문서 타입도 한정되어 있다.
이러한 HTML의 한계를 극복하는 해결책의 하나로서 XML(eXtensible Markup Language)가 제안되어 있다. 이러한 XML은 1999년 W3C(World Wide Web Consortium)에 의해 데이터 교환을 위한 표준으로서 채택되었고, 더욱이 XML이 가지고 있는 예 컨대 확장성, 호환성, 정보의 구조화가 가능하다는 점 등의 여러 장점들에 기인하여, 차세대 인터넷 언어로서 주목받고 있다.
그러나 XML이 등장한 지 상당한 시간이 흐른 지금까지도 여전히 웹페이지의 대부분은 XML에 기반하고 있는 것이 아니라 HTML에 기반하고 있는 것이 현실이다. 이는 여러가지 원인이 있겠으나 무엇보다도, XML은 일반 사용자들이 쉽게 배워서 자유롭게 사용하기에는 너무 복잡하다는 것에 기인한다.
종래에 일반 사용자들이 사용할 수 있도록 하기 위한 XML 에디터 기술이 여럿 제안되어 있는데, 이에는 기존의 문서를 XML 문서로 변환시키는 기술과 XML 문서를 작성하기 위한 XML 에디터 기술이 있다. 예컨대, 종래의 HTML, WORD, HWP 등의 문서를 작성하기 위한 워드프로세서는 부가기능으로서 HTML, WORD, HWP 등의 문서를 XML 문서로 변환시키는 기능을 가지고 있다. 한편, 종래에 XML 문서를 편집하기 위한 에디터의 예에는, Microsoft Corporation의 특허 공개번호 US 2003/0237048 (공개일 2003년 12월 25일)이고, 명칭이 "Word Processor For Freestyle Editing of Well-Formed XML Documents"인 공개공보에 개시된 것이 있다. 또한 도 1에는 종래의 XML 문서 생성 방식들(10)을 도식적으로 보여주고 있다. 도시된 바와 같이 종래에, 예컨대 오스트리아 비엔나 소재 Altova 사로부터 상업적으로 구매가능한 XML Spy
Figure 112004020424156-pat00004
와 같은, 웹브라우저 상에서 실행되는 컴포넌트를 사용하는 XML 에디터(11)가 알려져 있다. 또한 예컨대 Microsoft 사로부터 상업적으로 구매가능한 InfoPath
Figure 112004020424156-pat00005
와 같은, 독립적인 EXE 프로그램으로서 실행되는 XML 에디터(12)가 알려져 있다.
이러한 기존의 XML 문서 생성을 위한 에디터 기술에 의하면, 사용자가 입력한 데이터에 의해 최종적으로 XML 문서(19)가 생성된다. 그런데, 이러한 종래의 기술에 따르면, 사용자가 입력한 데이터가 그대로 XML 문서로서 생성될 수 없다. 사용자가 에디터(11,12)를 통해 입력한 데이터는, EXE 프로그램 자체가 가진 포맷(예컨대 ".XSN")(13)이나 Schema(".XSD")(15)를 통해 변환되거나, 또는 데이터베이스(DB)(17)에 저장된다. 그후 별도의 변환 프로그램 즉 XSLT(eXtensible Stylesheet Language Transformations)(18)에 의해서 비로소 원하는 XML 문서(19)가 생성될 수 있다.
이와 같이, 종래의 XML 문서 생성 기술에 의하면, 사용자가 입력한 데이터가 중간 저장이나 변환과정을 거쳐야만 XML 문서로서 생성될 수 있기 때문에, 각각의 중간 과정을 위한 프로그래밍이나 하드코딩이 필요하고, 이는 곧 개발 시간과 비용이 많이 든다는 것을 의미한다. 뿐만 아니라 하나의 XML과 하나의 XSL 문서를 1:1로 대응시켜 프로그래밍, 하드코딩, 변환 등을 통해서 최종 XML 문서를 생성한다. 이에 따라, 종래 기술에 의하면, 수많은 오프라인 상에서 사용되고 있는 각종의 다양한 양식들을 가지는 문서들을 각각의 XML 문서로서 생성하려면, 각각의 문서에 대하여 각각 프로그래밍, 하드코딩이 필요하게 되고. 결과적으로 프로그래밍 지식이 없는 일반 사용자가 사용하기에는 너무 복잡하고 까다로운 문서작성 작업이 될 수 밖에 없다.
따라서 프로그래밍에 대한 지식이 없는 일반 사용자라 하더라도 쉽게 작성할 수 있으면서, 또한 추가 개발비용이나 유지보수 비용이 최소화될 수 있는 방식으로 여러가지 양식들을 가지는 오프라인 상의 문서들을 XML 문서로서 생성하는 기술에 대한 요구가 있었다.
본 발명은, 종래의 XML 문서 생성 기술이 가지는 문제점을 해결하고, 추가적인 장점들을 더 가지는 새로운 XML 문서 생성 방법 등을 제공하고자 하는 것이다.
본 발명의 구체적인 목적은, 소위 3A(Anywhere, Anytime, Any User) 개념에 따라 XML 문서를 생성하는 방법으로서, 프로그래밍에 대한 지식이 없는 일반 사용자라 하더라도 쉽게 작성할 수 있도록 한, 인터넷의 HTTP 프로토콜을 이용하는 웹 브라우저 환경에서 XML 문서를 생성할 수 있는 방법 등을 제공하고자 하는 것이다.
본 발명의 다른 구체적인 목적은, 추가 개발비용이나 유지보수 비용이 최소화될 수 있도록 한, 웹 브라우저에서 실행되는 웹 폼을 이용하여 W3C에서 채택하는 XML 표준 스펙에 따라 XML 문서를 생성하는 방법 등을 제공하고자 하는 것이다.
본 발명의 또 다른 구체적인 목적은, XML 문서 생성 과정을, 특정 양식의 생성하고자 원하는 문서에 대하여 최초에 한번만 소스 파일로서 XML 문서를 생성하는 제 1 과정과, 일반 사용자가 웹 브라우저 상에서 입력하는 데이터를 이렇게 생성되어 있는 하나의 소스 파일의 구조에 삽입하여 복제 문서로서의 XML 문서를 수없이 자동으로 생성할 수 있도록 하는 제 2 과정으로 구성함으로써, 예컨대 이력서, 상거래 계약서, 공문서 등과 같은 정형화된 양식을 가진 XML 문서 생성이 쉽게 이루어질 수 있도록 하는 방법 등을 제공하고자 하는 것이다.
또한 본 발명의 또 다른 구체적인 목적은, 언제 어디서나 누구든지, 별도의 프로그래밍이나 하드코딩없이, 사용자가 웹 브라우저 상의 웹 폼에 데이터를 입력하여 제출(submit)하는 순간에, 입력 데이터가 다른 포맷을 통하거나 DB에 저장되는 과정 및 XSLT에 의한 변환 과정 없이, 직접 XML 문서로서 자동 생성될 수 있도록 하는 방법을 제공하고자 하는 것이다.
상술한 목적들을 성취하기 위하여, 본 발명의 일 양상에 따라 웹브라우저 상에서 XML 문서를 생성하는 방법이 제공된다. 상기 방법은: 웹브라우저로부터 입력 데이터를 수신하는 단계와; 미리 저장되어 있는 소스 XML(eXtensible Stylesheet Language) 문서를 복제하는 단계로서, 상기 소스 XML 문서는 미리 결정된 구조 및 상기 구조에 따라 미리결정된 소스 데이터가 포함되어 있는, 소스 XML 문서를 복제하는 단계와; 상기 복제된 XML 문서에 포함되어 있는 소스 데이터를 상기 수신된 입력 데이터로 치환하는 단계와; 상기 치환 단계에서 생성되는 XML 문서를 새로운 XML 문서로서 저장하는 단계를 포함할 수 있다.
여기서, 상기 미리 저장되어 있는 소스 XML 문서는, HTML(HyperText Markup Language) 문서로부터 변환되어 저장된다. 한편, 상기 웹브라우저로부터 데이터를 수신하는 단계에서 수신되는 데이터는, 적어도 하나의 데이터 입력이 가능한 폼 입력 구조를 포함하는 웹 페이지에 의해 전송될 수 있다. 더 나아가, 상기 복제된 XML 문서에 포함되어 있는 소스 데이터를 상기 수신된 입력 데이터로 치환하는 단계는, 상기 소스 XML 문서의 구조에 액세스하여 그 데이터 값을 설정할 수 있는 DOM(Document Objet Model) 파일을 통해 수행되며, 여기서 상기 DOM 파일은 상기 소스 XML 문서로부터 미리 생성되어 저장되어 있는 것이 바람직하다.
본 발명의 다른 양상에 따라, 제 2의 계층적 구조의 문서에 의해 송신된 데이터를 이용하여 새로운 제 1의 계층적 구조의 문서를 자동 생성하기 위한 소스를 생성하는 방법이 제공된다. 상기 방법은: 제 2의 계층적 구조의 원래 문서로부터, 예비적인 제 1의 계층적 구조의 문서 및 상기 예비적인 제 1의 계층적 구조의 문서와 연관된 예비적인 스타일시트 문서를, 자동 생성하는 단계와; 상기 예비적인 제 1의 계층적 구조의 문서 및 상기 예비적인 스타일시트 문서를 서로 매핑함으로써, 제 1의 계층적 구조의 문서 및 제 1의 계층적 구조의 문서와 연관된 스타일시트 문서를, 생성할 수 있도록 허용하는 단계와; 상기 제 1의 계층적 구조의 문서로부터, 상기 제 1의 계층적 구조의 문서와 연관되고 또한 상기 제 1의 계층적 구조의 문서의 데이터 타입을 정의하고 그 유효성을 검증할 수 있는 타입정의 및 유효성검증 수단을, 자동 생성하는 단계와; 상기 제 1의 계층적 구조의 문서로부터, 상기 제 1의 계층적 구조의 문서와 연관되고 또한 상기 제 1의 계층적 구조의 문서의 구조에 액세스하여 그 데이터 값을 으로 설정할 수 있는 데이터 값 설정 수단을, 자동 생성하는 단계와; 상기 스타일시트 문서와 상기 타입정의 및 유효성검증 문서로부터, 상기 데이터 값 설정 문서에 입력 데이터를 송신하여 새로운 제 1의 계층적 구조의 문서를 생성하도록 하는 작성용 제 2의 계층적 구조의 문서를, 자동 생성하는 단계를 포함할 수 있다.
여기서, 제 2의 계층적 구조의 원래 문서를 생성하거나 열거나 또는 편집하는 단계가 더 포함될 수 있다. 더 나아가, 상기 작성용 제 2의 계층적 구조의 문서 로부터, 상기 새로운 제 1의 계층적 구조의 문서의 데이터를 수정할 수 있도록 하는 수정용 제 2의 계층적 구조의 문서를 자동 생성하는 단계가 더 포함될 수 있다. 본 발명의 바람직한 실시예에 있어서, 상기 제 1의 계층적 구조의 문서는 XML 문서이며, 상기 스타일시트 문서는 XSL 문서이고, 상기 타입정의 및 유효성검증 수단은 DTD 또는 스키마 문서이며, 상기 데이터 값 설정 수단은 서버측스크립트로서 구성된 DOM 이다. 더 나아가 상기 작성용 제 2의 계층적 구조의 문서는 적어도 하나의 폼 입력 부분을 구비하는 HTML 문서인 것이 바람직하다. 또한 상기 방법은 상기 생성된 새로운 제 1의 계층적 구조의 문서를 자동 생성시킬 수 있도록 하는 수단들을 서버로 업로드하는 단계를 더 포함할 수 있다.
또한 본 발명의 다른 양상에 따라 프로그램을 기록한 컴퓨터 판독가능한 기록매체가 제공된다. 상기 기록매체에 기록되는 상기 프로그램은, 위에서 언급하고 있는 방법의 각 단계들을 수행하도록 함으로써, 웹브라우저 상에서 일정한 구조를 가지는 XML 문서를 자동으로 생성하도록 허용하는 컴퓨터 프로그램 명령어들을 포함할 수 있다.
본 발명의 상기 특징들 및 다른 장점들은, 이하에서 첨부된 도면을 참조하여 구체적으로 본 발명을 설명하는 것에 의해 명확하게 이해될 것이다.
도 2에는 본 발명에 의한 XML 문성 생성 과정(20)이 개념적으로 간략하게 도시되어 있다. 본 발명에 따라 사용자(22)는, 예컨대 인터넷에 접속되어 있는 자신의 컴퓨터에서 실행되는, 웹 브라우저 상에 표시되는 웹페이지 내의 웹 폼(24)을 이용하여 데이터를 입력하여 제출할 수 있다. 입력 데이터는 웹 상에 HTTP 프로토 콜에 의해 서버 컴퓨터로 전송될 수 있다. 전송된 입력 데이터는 서버 컴퓨터에서 실행 중인 프로그램인 베이스 XML 엔진(26)으로 전달될 수 있다. 엔진(26)은 입력 데이터를 포함하는 XML 문서(28)를 자동으로 생성할 수 있다.
사용자가 웹 폼을 이용하여 입력한 데이터를 포함하는 XML 문서(28)를 자동으로 생성하기 위한 엔진(26)은, 본 발명의 바람직한 일 실시예에 따라, 인터넷을 통해 사용자의 컴퓨터 즉 클라이언트에 연결될 수 있는 웹 서버 컴퓨터에서 실행되는 소프트웨어 프로그램으로서 구성된다. 그러나 본 발명에 따른 엔진(26)이 반드시 이에만 한정될 필요는 없다. 예컨대, 엔진(26)은 사용자의 컴퓨터 상에서 실행되는 로컬 소프트웨어 프로그램으로서 존재할 수 있고, 다른 식으로, 사용자의 컴퓨터와 LAN에 의해 연결되어 있는 다른 컴퓨터에서 실행되는 로컬 소프트웨어 프로그램으로서 존재할 수도 있다. 더 나아가 상기 엔진(26)의 일부 또는 전부가 하드웨어로서 구성될 수도 있다.
본 발명에 있어서, XML 문서를 자동으로 생성시키는 엔진(26)은, 아래에서 자세하게 설명되는 것과 같은, 미리 저장되어 있는 소스 파일을 복제하는 기술을 이용한다는 특징을 가진다. 상기 미리 저장되어 있는 소스 파일은, 역시 본 발명에 따라 제공되는, 소스 파일 자동 생성 툴에 의해 생성될 수 있다. 소스 파일로는, 일정한 구조 및 데이터를 가지는 XML 문서, 상기 XML 문서를 웹 브라우저 상에 디스플레이하기 위한 양식인 XSL 파일, 상기 XML 문서의 데이터 타입 정의 및 유효성 검사를 위한 DTD 또는 Schema 파일, 상기 XML 문서의 구조를 액세스하여 데이터 값을 세팅할 수 있는 DOM 파일을 포함한다. 이와 같이 본 발명에 따른 XML 문서 생성 과정은, 소스 생성 과정과 상기 소스에 기초하는 XML 문서 생성 과정의 두 개 과정을 포함한다는 특징이 있다.
본 발명의 바람직한 일실시예에 따라 제공되는 소스 파일 자동 생성 툴 및 XML 문서 자동 생성 엔진의 전체적인 작동 과정 및 시스템(200)이 도 3에 개략적인 블록도로서 도시되어 있다. 본 발명의 바람직한 실시예에 따른 전체 시스템(200)은, 사용자(22)가 이용하여 데이터를 입력하기 위한 사용자의 컴퓨터 시스템(270)과, 이 시스템(270)에 예컨대 인터넷(204)을 통해 연결될 수 있는 서버 컴퓨터 시스템(250), 그리고 서버 시스템(250)에 인터넷, 전용망 또는 기타 직접 연결 방식(202)으로 연결될 수 있는 소스 작성자(210)의 컴퓨터(230)를 포함하여 구성될 수 있다. 본 발명에 따른 툴(232)과 엔진(26) 그리고 부수되는 각 소스 파일들이 생성되고 저장되고 실행되는 하드웨어로서의 각 컴퓨터 시스템(230, 250, 270)은 예컨대 메인프레임, 데스크탑 컴퓨터, 노트북 컴퓨터, 팜탑 등과 같이 네트워크로 연결될 수 있는 컴퓨터 시스템이라고 생각될 수 있다. 이러한 시스템의 구체적인 하드웨어 구성에 대해서는 당해 기술분야에서 잘 알려져 있으므로, 여기서는 자세한 설명을 생략한다.
본 발명에 따른 XML 문서 생성 방법에 있어서, 먼저 소스 생성 툴(232)에 의해 소스 파일(233)이 생성되어야만 한다. 소스 작성자(210)는 약간의 프로그래밍 지식을 가진 사용자인 것이 바람직하지만, 약간의 연습 과정을 거치면, 프로그래밍 지식이 없는 일반 사용자도 충분히 소스 작성자(210)로서의 역할을 할 수 있다는 것이, 아래에서 명확해 질 것이다.
본 발명에 따라 제공되는 툴(232)(예컨대, 대한민국 서울 소재의 3KSoft 사에서 제공하는 'DreamXML TOOL
Figure 112004020424156-pat00006
'과 같은)에 의해, 아래에서 상세하게 설명되는 과정들을 거쳐, 소스 파일(233)들이 생성될 수 있다. 소스 파일(233)에는 위에서 언급한 바와 같은, XML 파일(234), XSL 파일(235), DTD/Schema 파일(236), DOM 파일(237) 등이 포함된다. 이러한 소스 파일들(234, 235, 236, 237)은, 엔진(26)에 의해서 XML 문서 생성 과정에서 사용되기 위한 것이며, 일반 사용자(22)에게는 접근가능하지 않게 즉 투명하게 존재한다. 상기 툴(232)은 또한 웹 폼 구조를 가진 웹페이지(이하 단순히 '웹 폼'이라고도 한다)를 생성한다. 생성될 수 있는 웹 폼에는, 사용자(22)가 새로운 XML 문서를 작성하기 위한 입력용(Insert) 웹 폼(238)과 이미 작성되어 있는 XML 문서의 데이터를 수정하기 위한 수정용(Update) 웹 폼(239)이 포함된다.
상기 툴(232)에는 또한 생성된 소스 파일(233)을 예컨대 인터넷이나 LAN 또는 전용망(202)을 통해 서버(250)로 업로드할 수 있는 기능을 더 가질 수 있다. 업로드된 소스 파일들은 폼 저장소(Form Repository)(252)에 하나의 세트(234', 235', 236, 237' 238', 239')로서 저장될 것이다. 이렇게 XML 작성을 위한 예비 과정으로서 소스 파일들이 만들어져 저장된 후, 사용자(22)는 원하는 XML 문서를 작성하기 위하여 웹브라우저(270)를 통해 서버(250)에 접속할 수 있다.
서버(250)는 사용자(22)에게 다양한 XML 문서 작성을 위한 입력용 웹 폼(238')에 대한 링크를 제공할 수 있다. 예컨대 서버(250)는 다수의 입력용 웹 폼(238') 각각과 연결될 수 있는 링크를 포함하는 웹페이지를 사용자(22)에게 제공 할 수 있다. 웹 폼(238')에는 입사지원을 위한 이력서를 작성하기 위한 웹 폼, 기업간 상품 구매 요청서를 작성하기 위한 웹 폼, 또는 동사무소에서 사용하는 전입신고서를 작성하기 위한 웹 폼 등과 같이 다양하게 제공될 수 있다. 사용자(22)는 원하는 문서에 대응하는 웹 폼의 링크를 클릭함으로써 해당 웹 폼이 자신의 브라우저(24) 상에 디스플레이되도록 할 수 있다.
웹 폼(238')을 통해 사용자(22)는 상기 웹 폼(238')에서 요구하는 데이터를 입력할 수 있다. 사용자(22)가 입력할 수 있는 데이터로는, 예컨대, 성명과 같은 텍스트 형식의 데이터, 생년월일과 같은 연도를 나타내는 숫자 형식의 데이터, 사진 이미지와 같은 이미지 데이터 등과 같이, 웹 폼 구조에 의해 입력할 수 있는 다양한 데이터 형태가 포함될 수 있다. 요구되는 데이터를 모두 입력한 사용자(22)는 웹 폼 파일(238')을 서버(250)로 제출(submit) 한다. 그러면, 서버(250)에서 동작중인 XML 문서 자동 생성 엔진(26)(예컨대, 대한민국 서울 소재의 3KSoft에서 제공하는 'BaseXML Engine
Figure 112004020424156-pat00007
'과 같은)이 제출된 입력 데이터를 수신하고, DOM 파일(237')을 이용하여 XML 파일(234')에서 입력 데이터만을 치환할 수 있다. 치환된 파일은 새로운 XML 파일(28)로서 생성되며, 생성된 파일은 추후 사용을 위해 XML 저장소(254)에 저장될 수 있다.
이와 같이 본 발명에 따른 XML 문서 생성 기술에 의하면, 사용자가 웹 폼을 이용하여 입력하는 데이터를 사용하여, 다른 포맷이나 DB 및 XSLT에 의한 변환 과정없이, 미리 저장되어 있는 XML 파일과 DOM 파일 등을 통해 직접 XML 파일을 생성할 수 있다. 이를 위하여 본 발명에 있어서, 사용자가 입력한 데이터는 소스 XML 파일의 구조에 맞는 데이터로서 입력되며, 이것은 웹 폼 구조에 의해 보장될 수 잇다. 또한 본 발명에 있어서, 사용자는 소스 XML과 동일한 구조를 가지지만 데이터만 다른 일종의 복제 XML 문서를 작성하려는 목적을 가지며, 이는 소스 XML 파일의 데이터 구조에 따라 데이터 값을 치환하는 역할을 하는 DOM 파일에 의해 보장될 수 있다.
이와 같이 본 발명에 따른 XML 문서 생성 방법은, 원본 XML 문서와 구조는 같으나 내용이 다른 복제된 XML 문서를 생성하는 기술, 즉 XML 문서 복제 기술이라고 볼 수 있다. 도 4에는 이러한 XML 문서 복제 개념을 나타내는 본 발명에 따른 XML 문서 생성 과정 및 시스템(200)이 도시되어 있다. 도시된 바와 같이, 소스 작성자(210)가 예컨대 오프라인 문서(30) 중 하나인 계약서(32)를 XML 문서로 작성할 수 있도록 하는 소스 파일(233)을 툴(232)을 이용하여 만들어서 서버의 폼 저장소(252)에 올려놓을 수 있다. 소스 작성자(210)는 유사한 방식으로, 주문서(34)를 작성하기 위한 소스 파일을 만들어서 서버에 업로드 시킬 수 있다. 유사한 방식으로 입사지원서(36)를 작성하기 위한 소스 파일을 만들어서 서버에 업로드 시킬 수 있다. 이와 같이, 본 발명에 따라, 소스 작성자(210)는 원하는 양식의 문서 각각에 대하여 단 한번만의 소스 파일 생성 작업 만을 하면 충분하다.
일반 사용자(22)는 계약서(32) XML 문서를 작성하기 위한 웹 폼(238')을 웹 브라우저(24) 상에 표시할 수 있다. 사용자(22)는 웹 폼(238')에 의해 요구되는 데이터를 입력하여 서버로 제출할 수 있다. 서버의 XML 문서 자동 생성 엔진(26)은 제출된 입력 데이터를 원본 계약서 XML 파일(234)의 데이터와 치환함으로써 새로운 복제 계약서 XML 파일(42)을 생성한다. 같은 방식으로 다른 사용자들도 자기에게 맞는 입력데이터를 통해 자기만의 계약서 XML 파일(42)을 자동으로 생성할 수 있다. 유사하게, 원하는 종류의 XML 문서 작성을 위하여, 사용자(22)는 폼 저장소(252)에 업로드되어 있는 웹 폼(238')이 존재하는 것이라면 어떠한 문서{도면의 예에서는 주문서 XML 문서(44), 입사지원서 XML 문서(46)와 같은 XML 문서들(40)}라 하더라도, 단지 웹 폼 구조에 의해 요구되는 데이터를 웹 브라우저 상에서 입력하고 제출하는 것으로 충분하다.
이와 같은 본 발명에 따르면, 사용자(22)는, 누군가가 이미 만들어 놓은 구조의 XML 문서를 작성하기 위한 웹 폼이 존재하는 것을 전제 조건으로, 언제 어디서나 아무런 프로그래밍 지식없이도 간단하고 쉽게 원하는 XML 문서를 작성할 수 있게 된다.
이하에서는, 상기에서 언급하고 있는 소스 파일 자동 생성 툴(232)과 XML 문서 자동 생성 엔진(26)에 의해 수행되는 과정을 도면을 참조하여 더 자세히 설명한다.
도 5에는, 소스 파일 자동 생성 툴(232)에 의한 과정 들이 개략적으로 도시되어 있다. 도시된 바와 같이, 소스 파일 자동 생성 툴(232)에 의해 이루어질 수 있는 소스 파일 생성 과정(300)에는 먼저, XML 문서 작성을 위한 원본이 되는 임의의 HTML 파일을 기초로 예비적인 XML과 XSL 문서로 생성하는 단계(310)가 포함된다. 그후 생성된 예비적인 XML과 XSL 문서를, 예컨대 소스 작성자가, 매핑함으로써 최종적인 소스 XML 및 소스 XSL 파일이 생성되는 단계(32)가 이루어질 수 있다. 소 스 작성자의 선택에 따라, 상기 소스 XML 및 소스 XSL 파일을 기초로 DTD 파일 및/또는 Schema 파일이 자동으로 생성(330)될 수 있다. 한편, 소스 XML 파일을 기초로 DOM 파일이 자동으로 생성(340)될 수 있다. 이 경우 DOM 파일은 서버측 스크립트인 ASP-DOM 또는 JSP-DOM 파일로서 생성될 수 있다. 그후, 소스 XSL 파일을 기초로 입력용 웹 폼 파일 즉 HTML 파일이 자동으로 생성(350)될 수 있고, 입력용 웹 폼 파일을 기초로 수정용 웹 폼 파일 즉 HTML 파일이 자동으로 생성(370)될 수 있다.
도 6 내지 도 8에는 원본 HTML 파일로부터 예비적인 XML 파일 및 예비적인 XSL 파일이 생성되는 단계(310)를 더 자세히 나타내는 흐름도 및 예시적인 프로그램 코드가 도시된다. 도시된 단계(310)에 있어서, 먼저 변환할 원본 HTML 파일을 생성 또는 오픈한다(311). 원본 HTML 파일은, 본 발명에 따라 제공되는 소스 파일 자동 생성 툴에 의해 새로 작성될 수도 있고, 이미 다른 소프트웨어에 의해 작성되어 있는 파일일 수도 있다. 또한 원본 HTML 파일은, 다른 워드 프로세서에 의해 그 워드 프로세서 자체의 포맷을 가진 문서 파일로부터 HTML 포맷으로 변환된 결과물일 수도 있다. 더 나아가 상기 원본 HTML 파일은, 기타 임의의 소스로부터 유래되는 다른 HTML 파일일 수도 있다. 도 8에 도시된 예에서는 'sample.html'(A)을 원본 HTML의 예로서 보여주고 있다. 이 파일(A)을 기초로 예비적인 XML 파일(B)과 예비적인 XSL 파일(C)이 생성된다. 이때 예비적인 XML 파일은 빈 XML 파일로서 생성된다(312). 여기서 "빈" XML 파일이라 함으로, 도 8의 예시적인 코드(sample.xml)로서 보여주고 있는 바와 같이, 기본적으로 미리 정해져 있는 구조를 가지지만 구체적인 데이터가 없는 파일 상태임을 지칭한다. 예비적인 XSL 파일은 원본 HTML 파일 로부터 생성된다(313). 그후, 변환과정에서 생기는 오류를 체크(314)하여, 소스 작성자가 수정(315)할 수 있게 한다. 결과적으로 만들어진 예비적인 XML 파일 및 예비적인 XSL 파일은 이후 계속되는 작업을 위해 저장될 수 있다(316, 317).
원본 HTML 파일로부터 예비적인 XSL 파일로의 변환 단계(313)는 도 7에 의해 더 자세히 도시되어 있다. 먼저 빈 XSL 파일을 생성한다(3131). 그후 생성된 빈 XSL 파일에 미리 정해져 있는 XSL 헤더 부분을 삽입한다(3132). XSL 헤더의 구체적인 코딩은, 도 8의 sample.xsl에서 구체적인 예를 볼 수 있다. 본 발명이 도시된 예에만 한정되는 것이 아님은 당연하며, 당업자가 생각할 수 있는 다양한 변형과 수정도 본 발명의 범위에 포함됨을 지적해둔다. 그후, 원본 HTML 파일의 내용을 첫줄부터 마지막 줄까지 한줄 씩 읽어 변환하게 된다(3133). 이 단계(3133)를 더 자세히 보면, 먼저 한줄을 읽는다(3134). 읽은 줄이 Comment부분인지 여부 즉 실제로 유용한 코딩 부분이 아니라, 설명을 위한 주석에 불과한지 여부를 체크한다(3135). 긍정인 경우에는, 다음 줄을 읽는 단계로 넘어가고, 부정인 경우에는 해당 줄이 다시 자바 스크립트 부분인지를 체크한다(3136). 긍정인 경우 다음 줄로 넘어가고, 부정인 경우에는 블럭(3137)에서 예시한 것과 같이 변환하여, 상기 생성된 XSL 파일에 추가시킨다. 도시된 변환 규칙은 단지 예시에 불과하며, 적절한 경우 추가적인 변환 규칙 또는 대안적인 변환 규칙이 존재할 수 있다는 점을 당업자라면 쉽게 이해할 것이다. 이렇게 한줄이 변환되면, 마지막 줄에 이를때까지 같은 과정이 반복된다. 원본 HTML의 변환이 완료되면, 그 결과로서 생성되는 XSL 파일에, 도 8의 sample.xsl에서 일예를 볼 수 있는 바와 같이, 미리 정해져 있는 XSL Bottom 부분 을 추가한다(3138).
이렇게 생성된 예비적인 XML 파일과 예비적인 XSL 파일을, 소스 작성자가, 도 9 및 도 10에 더 자세하게 도시된 바와 같이 서로 매핑시킴으로써, 최종적인 소스 XML 파일과 최종적인 소스 XSL 파일이 생성될 수 있다(320). 이 단계(320)에서, 먼저 소스 작성자는 화면 상에서 예비 XSL 파일의 코드 중 매핑할 부분을 선택한다(321). 여기서 매핑할 부분이란 해당 문서의 내용 중 새로 만들어질 문서에서 달라지는 데이터 부분에 해당된다. 예컨대, 도 10에서 sample.xsl(C')의 내용 중 a1, b1 으로 표시된 부분이 그러한 매핑될 부분이다. a1, b1 부분은 sample.xml(B')의 대응하는 부분 a2, b2 로 각각 매핑되며, a1, b1 부분은 a4와 같은 내용으로 대체된다. 이러한 매핑 과정을 좀 더 자세히 보면, 소스 작성자가 매핑 명령어를 입력하면 매핑 창이 열린다(322), 사용자는 선택된 매핑된 부분, 예컨대 a1 부분을 매핑시켜 XML 파일 내에 생성할 Tag 명, 예컨대 root/Main/item1 을 입력하고 Submit한다(323). 그러면, XML 파일(B')에는 root 엘리먼트 내의 Main 엘리먼트 내에 item1이라는 엘리먼트가 새로 만들어져, a2 부분과 같은 항목이 삽입된다. 이와 동시에 XSL 파일의 해당 부분, 즉 a1 부분은 <xsl:value-of select="root/Main/item1">으로 치환된다(325). 이렇게 하여 하나의 매핑 과정이 완료된다. 그후 다른 매핑할 부분이 있으면(326), 다음 선택 부분 예컨대 b1 부분에 대해서 유사한 방식으로 매핑이 이루어질 수 있다. 매핑이 완료되면, 결과로서 생성된 XML 파일과 XSL 파일은 소스 파일로서 이후의 과정을 위해 저장될 수 있다(327, 328).
이상에서 설명된 단계들에 의해, 예컨대, 원본 HTML 파일인 다음과 같은 코드를 가지는 sample.html, 즉
<소스 코드 1>
Figure 112004020424156-pat00008
에 대하여, 다음과 같은 코드를 가지는 소스 XML 파일인 sample.xml, 즉
<소스 코드 2>
Figure 112004020424156-pat00009
이 생성되고, 다음과 같은 코드를 가지는 소스 XSL 파일인 sample.xsl, 즉
<소스 코드 3>
Figure 112004020424156-pat00010
이 생성될 수 있다.
도 11 및 도 12에는 생성된 소스 XML 파일로부터 DTD(Document Type Definition) 파일 및/또는 Schema 파일을 자동생성하는 단계가 도시되어 있다. 이 단계에서, 소스 작성자는 소스 XML 파일을 오픈(331)한다. 소스 작성자는, DTD 및/또는 Schema 파일을 자동 생성하도록 하는 명령어를 입력하거나 또는 대응하는 아이콘을 클릭함으로써, 오픈된 소스 XML 파일에 대응하는 DTD파일 및/또는 Schema 파일을 생성할 수 있다(332). 그후 생성된 파일들에 에러가 있는지를 체크(333)하여, 소스 작성자가 직접 코드를 수정하고(334), 완성된 파일들은 소스 파일로서 추후 이용을 위하여 저장된다(335).
소스 작성자가 소스 XML 파일을 오픈한 후 Schema 파일을 생성하도록 지시하는 명령어를 입력하면, 소스 파일 자동 생성 툴에 의해, 도 12에 도시된 Schema 파일 자동 생성 단계들이 순차적으로 실행될 수 있다. DTD, Schema 파일은, 본 발명에 따른 XML 문서 자동 생성을 위한 소스 파일에 반드시 포함되어야 하는 것은 아니고, 경우에 따라 생략될 수도 있다. 본 단계(332)에서, 먼저 빈 Schema 파일이 생성된다(3321). 그후 소스 파일 자동 생성 툴은 오픈된 소스 XML 문서의 구조를 읽는다(3322). 이때 XML 문서 구조의 root부터 하나의 구조씩 끝까지 읽는다(3323). 여기서 하나의 구조란 하나의 엘리먼트(element)를 의미한다. 한 구조를 읽었을 때, 해당 구조가 날짜인지 여부를 체크(3324)하여, 긍정인 경우에는 날짜 데이터 형식을 나타내는 코드로 변환하고(3325), 그렇지 않은 경우에는 스트링 데이터 형성을 나타내는 코드로 변환한다(3326). 변환된 스키마 부분을 생성되어 있는 빈 Schema 파일에 삽입하고(3327), 그 결과로 생성되는 최종 Schema 파일을 저장한다(3328). 그후, 이렇게 생성된 스키마 부분을 나타내는 링크 코드를 소스 XML 파일의 root에 삽입한다(3329).
이렇게 하여 생성된 소스 DTD 파일 및 생성된 소스 Schema 파일의 구체적인 예를 들면, 상기 sample.xml에 대하여, Schema 파일은 다음과 같은 내용을 가지도록 자동 생성된다.
<소스 코드 4>
Figure 112004020424156-pat00011
DTD 파일은 sample.xml의 구조에 따라 자동으로 다음과 같은 내용으로 생성된다.
<소스 코드 5>
Figure 112004020424156-pat00012
도 13 및 도 14에는 소스 DOM(Document Object Model) 파일을 자동 생성하는 단계(340)가 더 상세히 도시되어 있다. 본 발명에 있어서, DOM 파일은 소스 XML 문서의 구조에 사용자가 입력하는 데이터를 채우고, 동일구조의 다른 데이터를 가진 새로운 XML 문서를 자동생성하는 역할을 하게 된다. 이 단계(340)에서, 소스 작성자는 원하는 소스 XML 파일을 오픈하고(341), 원하는 DOM 모드를 선택할 수 있다(342). 예컨대 생성되는 DOM 이 실행될 서버 환경에 따라 ASP-DOM 모드, JSP-DOM 모드 중 어느 하나를 선택할 수 있다. 본 발명에 있어 이러한 모드의 종류가 단지 ASP(Active Server Pages), JSP(Java Server Pages)에만 제한될 필요는 없다. 본 발명에 의한 DOM이 실행될 수 있는 환경이라면, 해당 분야에서 알려져 있거나 앞으로 개발되어질 수 있는 모든 종류의 서버 환경이 고려될 수 있음은 당연하다.
소스 작성자는 모드 선택후, DOM 파일을 생성하도록 하는 명령어를 입력하거나 또는 대응하는 기능의 아이콘을 클릭함으로써, DOM파일이 자동으로 생성되도록 할 수 있다(343). 그후 자동 생성된 소스 DOM 파일의 에러를 체크하여(344), 에러가 있는 경우 수정하고(345), 완성된 소스 DOM 파일을 추후 사용을 위해 저장할 수 있다(346). 소스 자동 생성 툴에 의해 소스 DOM 파일이 소스 XML파일로부터 자동생성되는 과정(343)은, 도 14에 더 자세히 도시된다. 먼저 빈 DOM 파일을 생성한다(3431). 오픈된 소스 XML 문서의 구조를 읽는다(3432). 이 경우, 첫줄부터 끝줄까지 읽게 되는데(3433), 한 구조 단위로 읽는다. 읽은 구조가 날짜부분인지를 체크(3434)하고, 날짜인 경우(3435)와 날짜가 아닌 경우(3436)로 나누어서 date 형식 또는 string 형식을 지정하는 코드로 변환한다. 이렇게 변환된 부분을 이전에 생성되었던 빈 DOM 파일 안에 삽입(3437)함으로써, 소스 DOM 파일이 완성될 수 있 다. 아래에 보여진 예는, 상기 sample.xml 파일로부터 생성된 ASP-DOM 파일의 소스의 일예인 sample.asp 이다.
<소스 코드 6>
Figure 112004020424156-pat00013
도 15 내지 도 17에는 일반 사용자가 웹 브라우저를 이용하여 XML문서 작성을 위한 입력 데이터를 제출할 수 있도록 하는 입력용 웹 폼을 생성하는 과정(350)이 상세히 도시되어 있다. 입력용 웹 폼 파일은, 위에서 자세히 설명한 매핑단계(320)에서 생성되어 있는 소스 XSL 파일로부터 생성될 수 있다. 입력용 웹 폼 생성 단계(350)에서, 소스 작성자는, 본 발명에 따라 제공되는 소스 자동 생성 툴 프로그램을 이용하여, 웹 폼에 의해 만들어지길 원하는 소스 XML 파일과 대응하는 소스 XSL 파일을 오픈한다(351). 대응하는 Schema 파일이 있는지를 체크(352)하고, 존재하지 않는 경우에는, 아래에서 도 16을 참조하여 더 자세히 설명될 단계들을 통해, 입력용 웹폼 파일을 자동 생성(353)하도록 툴을 조작할 수 있다. 생성된 웹폼 파일에 에러가 있는지 체크(357)하여, 에러가 있으면 소스 작성자가 수정할 수 있다(355). 완성된 입력용 웹폼 파일은 이후 사용을 위해 저장(359)될 수 있다.
한편, 단계(352)에서 대응하는 Schema 파일이 존재한다고 판정된 경우에는 상기 툴은 해당 Schema 파일을 오픈한다(361). 툴은 오픈된 Schema 파일을 읽어(362), 아래에서 도 17을 참조하여 더 자세하게 설명될 단계들을 통해, 입력용 웹 폼 파일을 자동으로 생성(363)할 수 있다. 툴은 소스 작성자로 하여금, 생성된 웹 폼 파일에 에러가 있는지 체크(366)할 수 있도록 하고, 에러가 존재하는 경우 웹 폼 파일을 수정(367)할 수 있도록 한다. 완성된 웹 폼 파일은 추후 사용을 위해 저장(368)될 수 있다.
도 16을 참조하여, Schema 파일이 없는 경우, 입력용 웹 폼 파일을 툴이 자동으로 생성하는 단계(353)를 설명한다. 단계(353)가 시작되면, 빈 HTML 파일이 생성된다(3530). 툴은 이전 단계(351)에서 오픈되어 있는 XSL 파일을 처음부터 마지막까지 줄 단위로 읽는다(3531). 한줄을 읽으면(3532), 해당 부분이 자바 스크립트 부분인지를 체크(3533)한다. 자바 스크립트인 경우(yes)에는 무시하고 다음 줄을 읽는다. 자바 스크립트가 아닌 경우(no)에는 그 다음 사항을 체크하고(3534, 3536), 체크 결과에 따라 적절하게 변환(3535, 3537, 3538)할 수 있다. 이미 생성되어 있는 빈 HTML 파일에 위에서 변환된 부분들을 삽입(3539)함으로써, 입력용 웹 폼 파일이 생성될 수 있다.
도 17을 참조하여, Schema 파일이 있는 경우, 입력용 웹 폼 파일을 툴이 자동으로 생성하는 단계(363)를 설명한다. 단계(363)가 시작되면, 툴은 빈 HTML 파일을 생성한다(3631). 그후 이전 단계(351)에서 오픈되어 있는 XSL 파일을 첫줄에서 마지막 줄까지 한줄씩 읽는다(3632, 3633). 읽혀진 부분에 대하여, 예컨대 자바 스크립트 부분인지 여부(3634), 오픈된 Schema 파일 중 정의되어 있는 사항 각각과 일치하는지 여부(3635, 3637, 3639, 3641, 3643, 3645, 3647)를 체크하여, 그 결과에 따라 적절하게 변환(3636, 3638, 3642, 3644, 3646, 3648, 3649)한다. 이렇게 변환된 코드를 이전 단계(3631)에서 생성된 빈 HTML 파일 내에 삽입(3650)함으로써, 입력용 웹 폼 파일이 생성될 수 있다.
여기서 오픈되어 변환과정에서 사용되는 Schema 파일은 위에서 도 11 및 도 12를 참조하여 설명한 단계(330)에 의해 생성된 파일일 수 있고, 바람직하게는 별도로 웹 폼을 정의하여 참조할 수 있도록 한 외부 파일일 수 있다. 도 18 및 도 19에는, Schema 파일에서 정의하고 있고 또한 생성된 웹 폼 파일에서 나타낼 수 있는 웹 폼의 종류 중 일부를 보여주고 있다. 도시된 바와 같이, 웹 폼의 종류에는 짧게 텍스트를 입력할 수 있는 '텍스트 입력 웹 폼', 대량의 텍스트를 입력할 수 있는 '텍스트 영역 웹 폼', 비밀번호와 같이 보안이 필요한 데이터를 입력할 수 있는 '비밀번호 입력 웹 폼', 파일을 첨부할 수 있는 '파일 입력 웹 폼', 미리 정의되어 있 는 다수의 데이터 중 하나를 선택할 수 있는 '콤보박스 웹 폼' 등과 같이 기존에 알려져 있는 임의의 웹 폼이 모두 포함될 수 있다.
더 나아가, 본 발명에 따라 사용될 수 있는 웹 폼에는, 사용자가 정의한 웹 폼이 포함될 수 있다. '사용자 정의 웹 폼'은, 소스 작성자일 수 있는, 사용자가 임의로 정의한 컴포넌트를 웹 폼으로서 사용하는 것이다. '사용자 정의 웹 폼'에는 예컨대 달력을 찾아서 날짜를 선택하도록 하는 '날짜 입력 웹 폼', 우편번호를 입력하여 입력된 우편번호에 대응하는 주소를 찾도록 하는 '우편번호 찾기 웹 폼' 등이 포함될 수 있다. 이러한 '사용자 정의 웹 폼'을 구현하기 위해, 예컨대 사용자 정의 컴포넌트 함수와 사용자 정의 GIF(디스플레이될 호출버튼 이미지)를 미리 서버에 저장한 상태에서 사용자 정의 함수를 연결한 입력용 웹 폼 파일을 생성할 수 있다. 도 18 및 도 19에 예시되어 있는 바와 같이, 이러한 사용자 정의 웹 폼을 사용하는 규칙은 예컨대 'kkkuser_사용자정의명'으로 정의할 수 있다. 예컨대 날짜선택 웹 폼을 kkkuser_calendar로 하고, 우편번호 찾기 웹 폼을 kkkuser_postcode라고 하는 경우 다음의 표 1에 예시된 엘리먼트 들이 사용될 수 있다.
사용자정의명 함수이름 호출버튼 이미지파일 스키마 정의
kkkuser_사용자정의명 사용자정의명('item1') 사용자정의명.gif kkkuser_사용자정의명
kkkuser_calendar calendar('item1') calendar.gif kkkuser_calendar
kkkuser_postcode calendar('item1') postcode.gif kkkuser_postcode
이러한 웹 폼들이 Schema 파일에서 미리 정의되어 있는 경우, 쉽게 본 발명에 따른 툴에 의하여 1:1로 대응하여 소스 코드가 생성될 수 있다. 웹 폼을 미리 정의하고 있는 Schema 파일은, 예컨대 kkk_schema.xsd의 명칭으로 다음과 같은, 즉
<소스 코드 7>
Figure 112004020424156-pat00014
와 같은 소스 코드를 가지도록 만들어질 수 있다. 본 예에서 이 kkk_schema.xsd 는 상기 소스 코드 4에서 볼 수 있듯이, Schema 파일 생성 단계에 의해 생성된 파일 내에 링크로서 삽입되어 있다.
이상에서 설명된 입력용 웹 폼 파일 자동 생성과정에 의해 생성되는, 입력용 웹 폼 파일은 HTML 문서로서 생성될 수 있다. 예컨대 아래와 같은 소스 코드를 가지지는 sample.htm으로서 입력용 웹 폼 파일이 생성될 수 있다.
<소스 코드 8>
Figure 112004020424156-pat00015
소스 코드 8과 같은 입력용 웹 폼은 도 20에 도시되어 있는 바와 같은 화면으로, 사용자의 웹 브라우저 상에서 디스플레이될 수 있다. 도시된 예는 설명을 간단히 하기 위하여 가장 간단한 예를 든 것에 불과하며, 본 발명이 도시된 예에만 한정되는 것이 아니라는 것은 물론이다.
도 21 및 도 22에는 수정용 웹 폼 파일을 생성하는 단계(370)를 자세히 도시하고 있다. 수정용 웹 폼 파일은 사용자로 하여금, 이미 작성되어 있는 대응하는 XML 문서의 데이터를 웹 브라우저 상에서 수정할 수 있도록 하기 위한 수단이다. 수정용 웹 폼 파일은 기본적으로 입력용 웹 폼 파일과 유사하다. 먼저 단계가 시작되면 원하는 소스 XML 파일과 이에 대응하는 입력용 웹 폼이 오픈(371, 372)될 수 있다. 그후 오픈된 XML 파일의 구조에서 데이터 값이 판독되어, 수정용 웹 폼 파일 이 자동 생성(373)될 수 있다. 그후 생성된 수정용 웹 폼 파일의 에러를 체크(375)하고, 에러가 있는 경우 수정(376)할 수 있다. 완성된 수정용 웹 폼 파일은 이후 사용을 위해 저장(377)될 수 있다. 완성된 수정용 웹 폼 파일의 소스 코드의 예를 보이면 다음과 같다.
<소스 코드 9>
Figure 112004020424156-pat00016
자동 생성(373) 과정은 도 23을 참조하여 더 자세히 설명된다. 단계(373)가 시작되면 XML 파일의 구조를 읽는 과정이 시작된다(3731). XML 파일의 구조는 처음부터 마지막까지 구조 단위로 읽는다(3732, 3733). 읽은 구조가 무엇인지, 예컨대 Main인지 여부를 체크(3734)하여, 해당 구조의 값을 변수에 넣어 계산(3735)하고, 계산된 부분은 자바스크립트 함수에 넣는다(3736). 그 결과를 빈 HTML 문서에 삽입(3737)하여 수정용 웹 폼 파일을 생성할 수 있다.
이상에서 설명된 바와 같은 본 발명에 따른 방법에 의해, 하나의 원본 HTML 문서로부터, XML 파일, XSL 파일, DTD/Schema 파일, DOM 파일, 입력용 웹 폼, 수정용 웹 폼과 같은 소스 파일들이, 자동으로 생성될 수 있다. 이러한 소스 파일 자동 생성 과정들 모두 또는 적어도 일부는, 예컨대 로컬 컴퓨터 상에서 실행될 수 있도록 소프트웨어 프로그램 명령어들을 포함하는 하나의 소스 파일 자동 생성 툴(DreamXML TOOL)에 의해 구현될 수 있다. 상기 툴은 생성된 소스 파일들을 로컬 네트워크 또는 광대역 네트워크를 통해 웹 서버 컴퓨터로 업로드하는 기능을 추가로 가질 수 있다. 더 나아가 상기 툴은, 원본 HTML 문서를 수정하거나 새로 작성하거나 또는 다른 포맷의 문서로부터 HTML 문서로 변환시키는 기능을 더 가질 수 있다. 이렇게 상기 툴에 의해 본 발명에 따라 XML 문서 작성을 위한 준비 과정이 완료될 수 있다.
소스 파일들이 웹 서버 컴퓨터로 업로드 된 상태에서, 일반 사용자는 웹 브라우저를 사용하여 웹 서버가 제공하는 웹 폼들 중에서 원하는 웹 폼을 선택하여, 원하는 문서를 XML 문서로서 쉽게 작성할 수 있다. 도 23에는 이러한 XML 문서 작성 과정이 서버측에서 실행되는 과정(400)으로서 자세히 도시된다. 이 과정(400)은 서버측에서 실행되는 엔진에 의해서 수행될 수 있다. XML 문서 생성 과정에 있어서, 이미 언급된 바와 같이, 먼저 사용자가 웹 브라우저를 이용하여 입력용 웹 폼 을 선택한 후, 웹 폼에 의해 요구되는 데이터를 입력한다. 입력된 데이터는 사용자가 웹 폼에 첨부되어 있는 submit 단추를 클릭할 때, 서버측으로 전송된다.
사용자로부터 입력 데이터가 서버측으로 전송되어 오면, 도 23에 도시된 XML 문서 생성 과정(400)이 개시될 수 있다. 엔진은 먼저, 웹 폼으로부터 데이터를 받아 변수를 선언하고(410), 선언된 변수에 전송되어 온 데이터 값을 저장한다(420). 그 다음에 서버에 있는 원본 XML 파일 즉 사용자가 입력 데이터를 전송하는데 사용한 입력용 웹 폼과 대응하는 소스 XML 파일을 오픈한다(430). 원본 XML 파일의 구조를 대응하는 DOM 파일을 이용하여 읽는다(440). 이 경우 첫 구조에서부터 한 구조씩 마지막 구조까지 읽는다(450, 460). 한 구조를 읽으면 해당 구조에 맞는 변수 값을 찾고(470), 찾은 값을 해당 구조의 값으로서 저장한다(480). 이렇게 계산된 구조 값을 가신 XML 파일을 새로 생성된 XML 문서로서 저장한다(490).
이러한 방식에 따라, 사용자가 입력한 데이터는 이미 저장되어 있던 원본 XML 파일로부터 복제된 구조 내에 삽입될 수 있고, 이에 따라 원본 XML 파일과 구조는 동일하나 데이터가 서로 다른 새로운 XML 문서가 복제-생성될 수 있다.
도 24는 본 발명에 따른 XML 문서 생성 과정에 관여되는 여러가지 파일들의 서로 연관된 관계(500)를 보여주는 개략도이다. 본 발명에 따라, 원본 HTML 문서(510)는 자동 생성 단계(571, 572)를 통해 예비적인 XML 파일(522)과 예비적인 XSL 파일(523)과 연관된다. 두 파일(522, 523)은 소스 작성자에 의한 매핑과정(573)을 거쳐 완성된 소스 XML 파일(532)과 소스 XSL 파일(534)로 변환된다. 소스 XML 파일(532)은 DOM 파일(538) 및 Schema/DTD 파일(536)을 자동 생성하 는 과정(575, 574)에 관여된다. 이 때 웹 폼 형식을 미리 정의해둔 스키마 파일(537)이 미리 저장되어 있을 수 있다. 소스 XSL 파일(534)은 입력용 웹 폼 파일(542)을 자동 생성하는 단계(574)에 의해 상기 파일(542)과 연관된다. 수정용 웹 폼 파일(544)은 입력용 웹 폼 파일(542)과 자동생성과정(577)에 의해 연관된다. 사용자는 입력용 웹폼 파일(542)를 이용하여 요구된 데이터를 입력하고, 이 데이터는 서버측 엔진(BaseXML Engine)에 의해 DOM 파일(538)과 소스 XML 파일(532) 등을 기초로 하여 새로운 XML 파일(560)로 생성될 수 있다(590). 수정용 웹 폼(544)은 이렇게 만들어진 새로운 XML 파일을 수정하여 수정된 XML 파일(550)을 생성(580)하기 위하여 사용자에 의해 이용될 수 있다.
이상에서는 본 발명을 첨부된 도면을 참조하여 구체적인 실시예로서 설명하였으나, 본 발명의 사상이 기술된 예에만 한정되는 것은 아니다. 예컨대, 위에서는 본 발명이 서버와 클라이언트로 이루어진 네트워크 상에서 즉 TCP/IP 및 HTTP 프로토콜을 사용하는 통신 네트워크 상에서 구현되는 XML 문서 자동 생성 방법이 설명되었으나, 본 발명이 이러한 네트워크 상에서만 구현될 수 있는 것으로서 국한될 필요는 없다. 본 발명에 따라 제공되는 소스 자동 생성 툴 및 XML 문서 자동 생성 또는 복제 기술은, 임의의 사용자가 접근가능한 하나의 로컬 컴퓨터 상에서, 또는 몇 대의 컴퓨터가 연결되어 있는 로컬 네트워크 상에서, 실행될 수 있는 하나의 패키지 소프트웨어로서 구현될 수도 있다.
한편, 본 발명에 의한 방법들을 구현하는 상기 툴 및 엔진으로서의 소프트웨어 프로그램은, 컴퓨터로 읽을 수 있는 매체, 예컨대 시디롬 디스크, DVD 롬 디스 크, RAM, ROM, 플로피 디스크, 하드 디스크, 광자기 디스크, 광 기록 매체 등과 같은 기록매체에 저장되어, 컴퓨터에 내장되어 있는 마이크로프로세서에 의해 판독되고 실행될 수 있다.
더 나아가 도시되고 설명된 소스 파일 자동 생성 규칙들은 단지 예시적인 것에 불과하며, 본 발명의 사상을 한정하고자 하는 의도는 전혀 없다. 당업자라면 본 발명의 사상을 기초로 경우에 따라 여러가지 변형 및 수정 사항을 쉽게 고안해낼 수 있다. 이와 같이 당업자라면 본 발명의 개시된 내용을 참조하여, 본 발명의 특허청구범위에서 청구하는 본 발명의 범위를 벗어나지 않고도, 여러가지 변형과 수정을 쉽게 생각해 낼 수 있다. 따라서, 본 발명의 보호범위는 개시된 구체적인 실시예에 의해서가 아니라 특허청구범위에 의해서만 해석되어야 함을 지적해둔다.
상술한 본 발명에 따른 XML 문서 생성 방법 등에 따르면, 소위 3A(Anywhere, Anytime, Any User) 개념에 충실한 XML 문서 생성 방법 등이 제공될 수 있다. 다시 말해, 프로그래밍에 대한 지식이 없는 일반 사용자라 하더라도 쉽게 작성할 수 있도록, 인터넷의 HTTP 프로토콜을 이용하는 웹 브라우저 환경에서 XML 문서를 생성할 수 있게 된다. 본 발명에 따라 웹 브라우저에서 실행되는 웹 폼을 이용하여 W3C에서 채택하는 XML 표준 스펙에 따라 XML 문서를 간단히 생성할 수 있으므로, 별도의 에디터 소프트웨어를 이용하여 XML 문서를 생성하는 기존 방법에 비하여 추가 개발비용이나 유지보수 비용이 최소화될 수 있다. 또한, 본 발명에 따라, 특정 양 식의 생성하고자 원하는 문서에 대하여 최초에 한번만 소스 파일로서 XML 문서를 생성하는 제 1 과정과, 일반 사용자가 웹 브라우저 상에서 입력하는 데이터를 이렇게 생성되어 있는 하나의 소스 파일의 구조에 삽입하여 복제 문서로서의 XML 문서를 수없이 자동으로 생성할 수 있도록 하는 제 2 과정으로 구성되며, 이에 따라 예컨대 이력서, 상거래 계약서, 공문서 등과 같은 정형화된 양식을 가진 XML 문서 생성이 쉽게 이루어질 수 있다. 더 나아가, 본 발명에 따르면, 언제 어디서나 누구든지, 별도의 프로그래밍이나 하드코딩없이, 사용자가 웹 브라우저 상의 웹 폼에 데이터를 입력하여 제출(submit)하는 순간에, 입력 데이터가 다른 포맷을 통하거나 DB에 저장되는 과정 및 XSLT에 의한 변환 과정 없이, 직접 XML 문서로서 자동 생성될 수 있는 방법 등에 제공될 수 있다.
이와 같은 장점들을 가지는 본 발명에 따르면, 일반 사용자들은, 상거래나 기타 기업 활동 또는 공공부분에서 다양하게 사용되는 정형화된 문서를 XML로 편리하고 쉽게 작성할 수 있다. 또한 본 발명에 따르면, 일반 사용자들에 의해 작성될 정형화된 문서들을 실제로 보관하고 데이터를 재가공하게 될 기업이나 정부기관과 같은 단체에서는 별도의 프로그래밍이나 하드코딩이 소요되지 않기 때문에 저렴한 비용으로 XML 데이터 시스템을 구축할 수 있게 되는 등의 현저한 효과를 얻을 수 있다.

Claims (11)

  1. 삭제
  2. 삭제
  3. 웹브라우저 상에서 XML 문서를 생성하는 방법으로서,
    웹브라우저로부터, 적어도 하나의 데이터 입력이 가능한 폼 입력 구조를 포함하는 웹페이지에 의해 전송되는 입력 데이터를 수신하는 단계와;
    HTML 문서로부터 변환되어 미리 저장되어 있는 소스 XML 문서를 복제하는 단계로서, 상기 소스 XML 문서는 미리 결정된 구조 및 상기 구조에 따라 미리결정된 소스 데이터가 포함되어 있는, 소스 XML 문서 복제 단계와;
    상기 복제된 XML 문서에 포함되어 있는 소스 데이터를 상기 수신된 입력 데이터로 치환하는 단계로서, 이 치환 단계는 상기 소스 XML 문서의 구조에 액세스하여 그 데이터 값을 설정할 수 있는 DOM, XSL, DTD 또는 Schema 파일을 통해 수행되며, 여기서 상기 DOM, XSL, DTD 또는 Schema 파일은 상기 소스 XML 문서로부터 미리 생성되어 저장되어 있는, 데이터 치환 단계와;
    상기 데이터 치환 단계에서 생성되는 XML 문서를 새로운 XML 문서로서 저장하는 단계를
    포함하는 것을 특징으로 하는, 웹브라우저 상에서 XML 문서를 생성하는 방법.
  4. 제 3 항에 있어서, 상기 폼 입력 구조에 입력되는 데이터에는, 문자, 숫자, 이미지를 포함하는 것을 특징으로 하는, 웹브라우저 상에서 XML 문서를 생성하는 방법.
  5. 제 2의 계층적 구조의 문서에 의해 송신된 데이터를 이용하여 새로운 제 1의 계층적 구조의 문서를 자동 생성하기 위한 소스를 생성하는 방법으로서,
    제 2의 계층적 구조의 원래 문서로부터, 예비적인 제 1의 계층적 구조의 문서 및 상기 예비적인 제 1의 계층적 구조의 문서와 연관된 예비적인 스타일시트 문서를, 자동 생성하는 단계와;
    상기 예비적인 제 1의 계층적 구조의 문서 및 상기 예비적인 스타일시트 문서를 서로 매핑함으로써, 제 1의 계층적 구조의 문서 및 제 1의 계층적 구조의 문서와 연관된 스타일시트 문서를, 생성할 수 있도록 허용하는 단계와;
    상기 제 1의 계층적 구조의 문서로부터, 상기 제 1의 계층적 구조의 문서와 연관되고 또한 상기 제 1의 계층적 구조의 문서의 데이터 타입을 정의하고 그 유효성을 검증할 수 있는 타입정의 및 유효성검증 수단을, 자동 생성하는 단계와;
    상기 제 1의 계층적 구조의 문서로부터, 상기 제 1의 계층적 구조의 문서와 연관되고 또한 상기 제 1의 계층적 구조의 문서의 구조에 액세스하여 그 데이터 값을 설정할 수 있는 데이터 값 설정 수단을, 자동 생성하는 단계와;
    상기 스타일시트 문서와 상기 타입정의 및 유효성검증 문서로부터, 상기 데이터 값 설정 문서에 입력 데이터를 송신하여 새로운 제 1의 계층적 구조의 문서를 생성하도록 하는 작성용 제 2의 계층적 구조의 문서를, 자동 생성하는 단계를
    포함하는 것을 특징으로 하는, 계층적 구조 문서 소스의 생성 방법.
  6. 제 5 항에 있어서, 제 2의 계층적 구조의 원래 문서를 생성하거나 열거나 또는 편집하는 단계를 더 포함하는 것을 특징으로 하는, 계층적 구조 문서 소스의 생성 방법.
  7. 제 5 항에 있어서, 상기 작성용 제 2의 계층적 구조의 문서로부터, 상기 새로운 제 1의 계층적 구조의 문서의 데이터를 수정할 수 있도록 하는 수정용 제 2의 계층적 구조의 문서를 자동 생성하는 단계를 더 포함하는 것을 특징으로 하는, 계층적 구조 문서 소스의 생성 방법.
  8. 제 5 항에 있어서, 상기 제 1의 계층적 구조의 문서는 XML 문서이며, 상기 스타일시트 문서는 XSL 문서이고, 상기 타입정의 및 유효성검증 수단은 DTD 또는 스키마 문서이며, 상기 데이터 값 설정 수단은 서버측스크립트로서 구성된 DOM인 것을 특징으로 하는, 계층적 구조 문서 소스의 생성 방법.
  9. 제 5 항에 있어서, 상기 작성용 제 2의 계층적 구조의 문서는 적어도 하나의 폼 입력 부분을 구비하는 HTML 문서인 것을 특징으로 하는, 계층적 구조 문서 소스의 생성 방법.
  10. 제 5 항에 있어서, 상기 생성된 새로운 제 1의 계층적 구조의 문서를 자동 생성시킬 수 있도록 하는 수단들을 서버로 업로드하는 단계를 더 포함하는 것을 특징으로 하는, 계층적 구조 문서 소스의 생성 방법.
  11. 프로그램을 기록한 컴퓨터 판독가능한 기록매체로서, 상기 프로그램은, 제 3 항 내지 제 11 항 중 어느 한 항에 기재되어 있는 방법의 각 단계들을 수행하도록 함으로써, 웹브라우저 상에서 일정한 구조를 가지는 XML 문서를 자동으로 생성하도록 허용하는 컴퓨터 프로그램 명령어들을 포함하는 것을 특징으로 하는, 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
KR1020040034358A 2004-05-14 2004-05-14 웹브라우저 상에서 xml 문서를 생성하는 방법 KR100627587B1 (ko)

Priority Applications (11)

Application Number Priority Date Filing Date Title
KR1020040034358A KR100627587B1 (ko) 2004-05-14 2004-05-14 웹브라우저 상에서 xml 문서를 생성하는 방법
US11/568,921 US7831904B2 (en) 2004-05-14 2004-06-15 Method of creating an XML document on a web browser
AU2004319606A AU2004319606A1 (en) 2004-05-14 2004-06-15 Method of creating an XML document on a web browser
CN2004800430396A CN1954312B (zh) 2004-05-14 2004-06-15 在web浏览器上创建xml文档的方法
RU2006144457/09A RU2332708C1 (ru) 2004-05-14 2004-06-15 СПОСОБ СОЗДАНИЯ XML-ДОКУМЕНТА В Web-БРАУЗЕРЕ
JP2007513048A JP2007537531A (ja) 2004-05-14 2004-06-15 ウェブブラウザ上でxml文書を作成する方法
EP04773925A EP1763779A4 (en) 2004-05-14 2004-06-15 METHOD FOR CREATING AN XML DOCUMENT ON A WEB BROWSER
CA2566294A CA2566294C (en) 2004-05-14 2004-06-15 Method of creating an xml document on a web browser
PCT/KR2004/001418 WO2005111844A1 (en) 2004-05-14 2004-06-15 Method of creating an xml document on a web browser
JP2011158642A JP2011253548A (ja) 2004-05-14 2011-07-20 ウェブブラウザ上でxml文書を生成する方法
JP2014055484A JP2014167797A (ja) 2004-05-14 2014-03-18 ウェブブラウザ上でxml文書を生成する方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040034358A KR100627587B1 (ko) 2004-05-14 2004-05-14 웹브라우저 상에서 xml 문서를 생성하는 방법

Publications (2)

Publication Number Publication Date
KR20050108919A KR20050108919A (ko) 2005-11-17
KR100627587B1 true KR100627587B1 (ko) 2006-09-25

Family

ID=35394332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040034358A KR100627587B1 (ko) 2004-05-14 2004-05-14 웹브라우저 상에서 xml 문서를 생성하는 방법

Country Status (9)

Country Link
US (1) US7831904B2 (ko)
EP (1) EP1763779A4 (ko)
JP (3) JP2007537531A (ko)
KR (1) KR100627587B1 (ko)
CN (1) CN1954312B (ko)
AU (1) AU2004319606A1 (ko)
CA (1) CA2566294C (ko)
RU (1) RU2332708C1 (ko)
WO (1) WO2005111844A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132906A1 (en) * 2004-10-27 2009-05-21 Justsystems Corporation Document processing device and document processing method
US7844966B1 (en) * 2005-07-12 2010-11-30 American Express Travel Related Services Company, Inc. System and method for generating computing system job flowcharts
JPWO2007132568A1 (ja) * 2006-05-15 2009-09-24 株式会社ジャストシステム データ処理サーバ及びデータ処理方法
US8055997B2 (en) * 2006-06-26 2011-11-08 Lexmark International Technology, S.A. System and method for implementing dynamic forms
US8683315B2 (en) * 2006-11-06 2014-03-25 Eci Software, Inc. System and method for creating integrated web form and database applications
US9594731B2 (en) 2007-06-29 2017-03-14 Microsoft Technology Licensing, Llc WYSIWYG, browser-based XML editor
US20100057783A1 (en) * 2008-08-27 2010-03-04 Ching-Min Huang On-line Documentation System
RU2011107294A (ru) * 2011-02-28 2012-09-10 Александр Игоревич Новиков (RU) Создание сайтов и интернет-страниц
KR101122629B1 (ko) 2011-11-18 2012-03-09 김춘기 데이터베이스의 데이터를 변환하여 xml 문서를 생성하는 방법
US10225249B2 (en) 2012-03-26 2019-03-05 Greyheller, Llc Preventing unauthorized access to an application server
US10229222B2 (en) * 2012-03-26 2019-03-12 Greyheller, Llc Dynamically optimized content display
US9898449B1 (en) * 2012-04-06 2018-02-20 Cdw Llc System and method for automatically replacing information in a plurality electronic documents
KR101416712B1 (ko) * 2012-07-12 2014-07-09 김영근 정형 및 비정형 데이터를 xml 문서에 구현하는 방법
CN104572744B (zh) * 2013-10-23 2018-12-25 北大方正集团有限公司 结构化文档生成方法和装置
CN104112004A (zh) * 2014-07-15 2014-10-22 浪潮通用软件有限公司 一种用户界面上智能拷贝数据的方法
US20220051109A1 (en) * 2018-06-27 2022-02-17 Workdone, Inc. System of intelligence learning agents leveraging expertise capture for work heuristics management
KR102404194B1 (ko) * 2020-06-12 2022-05-30 송동섭 웹페이지 관리 플랫폼 시스템
US20230267268A1 (en) * 2022-02-18 2023-08-24 Equisolve, Inc. System and method for providing accessibility of files over a communications network
KR102663420B1 (ko) * 2023-08-01 2024-05-07 인스피언 주식회사 애플리케이션 서비스 제공 장치, 애플리케이션 서비스 제공 방법 및 애플리케이션 서비스를 제공하는 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020059344A1 (en) 1999-01-29 2002-05-16 Kathryn H. Britton Systems, methods and computer program products for tailoring web page content in hypertext markup language format for display within pervasive computing devices using extensible markup language tools

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487566B1 (en) * 1998-10-05 2002-11-26 International Business Machines Corporation Transforming documents using pattern matching and a replacement language
US6590589B1 (en) * 1998-11-30 2003-07-08 International Business Machines Corporation Automatic generation of fastpath applications
US6718516B1 (en) * 1999-09-30 2004-04-06 International Business Machines Corporation Method for verifying context between multiple related XML tags in document object model (DOM)
US6941510B1 (en) * 2000-06-06 2005-09-06 Groove Networks, Inc. Method and apparatus for efficient management of XML documents
US6681223B1 (en) * 2000-07-27 2004-01-20 International Business Machines Corporation System and method of performing profile matching with a structured document
US6654734B1 (en) * 2000-08-30 2003-11-25 International Business Machines Corporation System and method for query processing and optimization for XML repositories
KR20020061887A (ko) * 2001-01-18 2002-07-25 장문성 문서변환 방법 및 그 프로그램의 기록매체
KR20020069795A (ko) * 2001-02-28 2002-09-05 (주)모든넷 공용 문서 원형 정의를 활용하여 마크업 언어를 자유롭게인식할 수 있는 방법 및 그 방법에 의해 기록된 기록매체
JP2003085165A (ja) * 2001-09-10 2003-03-20 Toshiba Corp 情報生成手段の生成方法及びプログラム並びに装置、情報生成方法及びプログラム並びに装置
KR200269795Y1 (ko) 2001-12-19 2002-03-23 장운영 물품걸이대지지구
JP4291999B2 (ja) 2002-01-18 2009-07-08 株式会社インターネットディスクロージャー 書類作成システム及び作成管理プログラム
US7765255B2 (en) * 2002-07-30 2010-07-27 Sap Ag Extended web infrastructure for business applications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020059344A1 (en) 1999-01-29 2002-05-16 Kathryn H. Britton Systems, methods and computer program products for tailoring web page content in hypertext markup language format for display within pervasive computing devices using extensible markup language tools

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1020020025853
1020020061887

Also Published As

Publication number Publication date
JP2011253548A (ja) 2011-12-15
RU2332708C1 (ru) 2008-08-27
RU2006144457A (ru) 2008-06-20
EP1763779A4 (en) 2009-09-30
WO2005111844A1 (en) 2005-11-24
EP1763779A1 (en) 2007-03-21
US7831904B2 (en) 2010-11-09
CN1954312A (zh) 2007-04-25
CN1954312B (zh) 2010-05-12
CA2566294A1 (en) 2005-11-24
KR20050108919A (ko) 2005-11-17
JP2007537531A (ja) 2007-12-20
CA2566294C (en) 2013-07-16
JP2014167797A (ja) 2014-09-11
AU2004319606A1 (en) 2005-11-24
US20080195934A1 (en) 2008-08-14

Similar Documents

Publication Publication Date Title
KR100627587B1 (ko) 웹브라우저 상에서 xml 문서를 생성하는 방법
JP4291999B2 (ja) 書類作成システム及び作成管理プログラム
US9239821B2 (en) Translation file
US7496837B1 (en) Structural editing with schema awareness
US7313757B2 (en) Method and system for cross-platform form creation and deployment
US7281018B1 (en) Form template data source change
US6912538B2 (en) System and method for dynamic generation of structured documents
US20080172608A1 (en) Site builder
US20040237030A1 (en) System and method of implementing calculation fields in an electronic form
US20050268222A1 (en) Method of creating, processing and storing HTML documents
US20090019358A1 (en) Extensible business reporting language (xbrl) enabler for business documents
US20180165253A1 (en) Information architecture for the interactive environment
US20080155390A1 (en) Automated generation of multiple versions of a publication
JP2004501450A (ja) Dhtmlおよびxsltを使用した任意のxmlドキュメントの作成
US20070182990A1 (en) Reproduction of documents into requested forms
Wood Programming the Web: the W3C DOM specification
WO2007001670A2 (en) Automated presentation layer generation
JP2007034571A (ja) 文書処理プログラム、文書処理方法
JP4012234B2 (ja) 書類作成システム、書類作成方法及び書類作成プログラム
US8205010B1 (en) User system applicaton interaction for a system as a service
JP2007501464A (ja) Xml文書の確率に基づく検証のための方法およびシステム
AU2001216013B2 (en) Method and system for translating data associated with a relational database
Williams et al. Professional InfoPath 2003
Aldous et al. Applying web technologies to capture and exchange complex documents
El-Kwae et al. Document image representation using XML technologies

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120903

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130906

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140902

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150910

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161021

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170913

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180827

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190812

Year of fee payment: 14