KR20090035933A - 웹문서 편집 방법 및 장치 - Google Patents

웹문서 편집 방법 및 장치 Download PDF

Info

Publication number
KR20090035933A
KR20090035933A KR1020070100979A KR20070100979A KR20090035933A KR 20090035933 A KR20090035933 A KR 20090035933A KR 1020070100979 A KR1020070100979 A KR 1020070100979A KR 20070100979 A KR20070100979 A KR 20070100979A KR 20090035933 A KR20090035933 A KR 20090035933A
Authority
KR
South Korea
Prior art keywords
node
editing
temporary
nodes
web document
Prior art date
Application number
KR1020070100979A
Other languages
English (en)
Other versions
KR100958786B1 (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
Application filed by 엔에이치엔(주) filed Critical 엔에이치엔(주)
Priority to KR1020070100979A priority Critical patent/KR100958786B1/ko
Priority to JP2008260391A priority patent/JP4861389B2/ja
Priority to US12/247,948 priority patent/US8281284B2/en
Publication of KR20090035933A publication Critical patent/KR20090035933A/ko
Application granted granted Critical
Publication of KR100958786B1 publication Critical patent/KR100958786B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

웹문서의 자유로운 편집을 위해 웹문서 상에서 사용자가 선택한 영역의 객체를 직접 획득함으로써 사용자가 선택한 영역의 객체를 편집할 수 있는 본 발명의 일 측면에 따른 웹문서 편집 장치는 웹문서 중 편집을 위해 사용자에 의해 선택된 제1 영역 정보 및 상기 제1 영역에 대한 제1 편집 요청을 사용자로부터 수신하는 단계; 상기 제1 영역 정보를 기초로 하여 상기 제1 영역의 시작점과 종료점에 제1 및 제2 임시노드를 삽입하는 단계; 상기 제1 및 제2 임시노드 사이에 포함된 모든 노드를 추출하는 단계; 및 상기 제1 편집 요청에 상응하는 제1 편집 속성을 상기 추출된 노드 중 적어도 하나의 노드에 적용하는 단계를 포함한다.
이러한 방법을 통해 웹문서 상에서 사용자가 선택한 영역의 객체를 직접 획득함으로써 사용자가 선택한 영역의 객체를 자유롭게 편집할 수 있어 사용자 편의성을 극대화할 수 있다는 효과가 있다.
노드, 웹브라우저, 에디터, 편집, 웹문서, 텍스트, 태그

Description

웹문서 편집 방법 및 장치{Method and Apparatus for Editing Web Document}
본 발명은 인터넷 상에서의 문서 가공에 관한 것으로서 보다 상세하게는 웹문서를 자유롭게 편집할 수 있는 방법에 관한 것이다.
인터넷 및 통신 기술의 발달로 인해 다양한 서비스들이 인터넷을 통해 사용자들에게 제공되고 있다. 이러한 인터넷 서비스 중 대표적인 것으로 웹메일 서비스 또는, 커뮤니티, 블로그, 카페 등과 같은 서비스(이하, '커뮤니티 서비스'라 함)가 있다. 사용자들은 이러한 웹메일 서비스나 커뮤니티 서비스가 제공하는 다양한 인터페이스를 이용하여 인터넷 상에서 메일 또는 문서(이하, '웹문서'라 함)를 작성하거나 작성된 웹문서를 편집할 수 있다.
여기서, 웹문서 편집이란 웹메일 서비스를 이용하는 과정에서 작성된 메일 또는 커뮤니티 서비스를 이용하는 과정에서 작성된 게시물에 포함된 텍스트의 크기, 폰트, 색상을 변경하는 것을 의미한다.
이러한 웹문서 편집은 대부분 웹기반의 위지윅(Wysiwyg: What you see is what you get) 에디터(이하 '웹에디터'라 함)를 이용하여 수행되는데, 웹에디터는 사용자 단말기에 설치된 웹브라우저에서 제공되는 기능을 이용하여 웹문서에 포함 된 텍스트 또는 이미지와 같은 객체를 편집할 수 있는 기능을 제공할 수 있었다.
그러나, 웹문서에 포함된 객체를 편집하기 위해 종래의 웹브라우저에서 제공하는 기능은 매우 제한적이었기 때문에, 이러한 웹브라우저를 이용하여 웹문서 편집기능을 제공하는 웹에디터가 제공할 수 있는 웹문서 편집 기능도 제한적일 수 밖에 없었다.
예컨대, 종래 웹에디터의 경우 텍스트의 크기나 폰트를 변경할 수는 있었지만, 종래의 웹브라우저에서 텍스트의 줄간격을 변경할 수 있는 기능은 지원되지 않았기 때문에, 이러한 웹에디터 또한 텍스트의 줄간격을 변경할 수 없다는 문제가 있었다.
또한, 종래 웹에디터의 경우 폰트 크기를 변경할 수 있는 기능을 지원하고 있었지만, 종래 웹브라우저에서 제공되는 폰트 크기 변경은 픽셀단위의 변경을 지원하지 않고 사전에 정해진 단위로의 변경만을 지원하였기 때문에, 종래 웹에디터 또한 폰트의 크기를 진정한 의미의 픽셀 단위로는 변경할 수 없었다는 문제점이 있었다.
한편, 이러한 문제점 이외에도 종래의 웹에디터의 경우, 웹브라우저와 연동을 위해 웹브라우저 판별 코드를 함수마다 삽입하여 해당 함수를 실행할 때마다 웹브라우저의 종류를 판단하여야 하는 불편함이 존재하였다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 웹문서의 자유로운 편집을 위해 웹문서 상에서 사용자가 선택한 영역의 객체를 직접 획득함으로써 사용자가 선택한 영역의 객체를 편집할 수 있는 웹문서 편집 방법 및 장치를 제공하는 것을 기술적 과제로 한다.
또한, 본 발명은, 웹문서 상에서 사용자가 선택한 영역의 객체를 직접 획득하여 편집을 수행함으로써 기존의 웹브라우저에서 제공되지 않던 다양한 편집 기능을 제공할 수 있는 웹문서 편집 방법 및 장치를 제공하는 것을 다른 기술적 과제로 한다.
또한, 본 발명은 종래의 모든 웹브라우저와 연동하되 웹브라우저 종류를 판단하는 횟수를 최소화할 수 있는 웹문서 편집 방법 및 장치를 제공하는 것을 또 다른 기술적 과제로 한다.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 웹문서 편집 장치는 웹문서 중 편집을 위해 사용자에 의해 선택된 제1 영역 정보 및 상기 제1 영역에 대한 제1 편집 요청을 사용자로부터 수신하는 단계; 상기 제1 영역 정보를 기초로 하여 상기 제1 영역의 시작점과 종료점에 제1 및 제2 임시노드를 삽입하는 단계; 상기 제1 및 제2 임시노드 사이에 포함된 모든 노드를 추출하는 단계; 및 상기 제1 편집 요청에 상응하는 제1 편집 속성을 상기 추출된 노드 중 적어도 하나의 노드에 적용하는 단계를 포함한다.
이때, 상기 노드 추출단계는, 상기 제1 및 제2 임시노드 사이의 모든 노드를 포함하는 부모노드 정보를 획득하는 단계; 상기 부모노드에 포함된 모든 노드들을 상기 제1 임시노드가 발견될 때까지 스캐닝하는 단계; 및 상기 제1 임시노드가 발견되면 이후에 기록된 모든 노드를 상기 제2 임시노드가 발견될 때까지 추출하는 단계를 포함하는 것을 특징으로 한다. 여기서, 상기 부모노드란 상기 제1 및 제2 임시노드 사이의 모든 노드들을 포함하는 소정 태그쌍 내에 포함된 노드를 의미한다.
한편, 상기 제1 편집 속성은 상기 추출된 노드 중 텍스트 노드에 적용하는 것을 특징으로 하는데, 구체적으로, 상기 제1 편집 속성 적용 단계는, 상기 추출된 노드 중 텍스트 노드를 제1 태그쌍으로 감싸는 단계; 및 상기 제1 태그쌍에 상기 제1 편집 속성을 부여하는 단계를 포함하는 것을 특징으로 한다. 이때, 상기 제1 태그쌍은 스팬(Span) 태그쌍인 것을 특징으로 한다.
본 발명의 일 실시예에 따른 웹문서 편집방법은, 사용자 단말기에 설치된 웹브라우저의 종류를 판단하는 단계; 및 상기 판단된 웹브라우저의 종류에 따라 상기 노드 추출을 위해 사전에 정해진 함수 묶음들을 호출하는 단계를 더 포함할 수 있다. 이때, 상기 판단된 웹브라우저가 상기 제1 및 제2 임시노드의 삽입기능을 지원하지 않는 웹브라우저인 경우, 상기 제1 및 제2 임시노드 삽입단계에서, 소스 코드 형태의 임시노드를 상기 제1 영역의 시작점과 종료점에 삽입하는 것을 특징으로 한다.
또한, 변형된 실시예에 따른 웹문서 편집방법은 상기 노드 추출단계 이후에, 상기 추출된 노드에 미리 정해진 특정 타입의 객체가 존재하는지를 판단하는 단계; 및 존재하는 경우 상기 특정 타입의 객체가 포함되었음을 알리는 메시지 또는 상기 제1 편집 요청이 수행될 수 없음을 알리는 메시지를 사용자에게 제공하는 단계를 더 포함할 수 있다.
한편, 상술한 실시예들에 있어서, 웹문서 편집방법은 상기 제1 및 제2 임시노드를 상기 제1 영역으로부터 삭제하는 단계를 더 포함할 수 있다.
상술한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 웹문서 편집장치는 웹문서 중 편집을 위해 사용자에 의해 선택된 제1 영역 정보 및 상기 제1 영역에 대한 제1 편집 요청을 사용자로부터 수신하는 인터페이스부; 상기 인터페이스부에 의해 수신된 제1 영역 정보를 기초로 하여 상기 제1 영역의 시작점과 종료점에 제1 및 제2 임시노드를 삽입하는 임시노드 삽입부; 상기 제1 및 제2 임시노드 사이에 포함된 모든 노드를 추출하는 선택노드 추출부; 및 상기 제1 편집 요청에 상응하는 제1 편집 속성을 상기 추출된 노드 중 적어도 하나의 노드에 적용하는 편집부를 포함한다.
상술한 바와 같이 본 발명에 따르면, 웹문서 상에서 사용자가 선택한 영역의 객체를 직접 획득함으로써 사용자가 선택한 영역의 객체를 자유롭게 편집함으로써 사용자 편의성을 극대화할 수 있다는 효과가 있다.
또한, 본 발명은, 웹문서 상에서 사용자가 선택한 영역의 객체를 직접 획득 하여 편집을 수행함으로써 기존의 웹브라우저에서 제공되지 않던 다양한 편집 기능, 예컨대, 웹문서의 줄간격 조절, 폰트 크기를 픽셀단위로 조정할 수 있다는 효과가 있다.
또한, 본 발명은, 라이브러리 초기화시에 웹브라우저의 종류를 판단하여 각 웹브라우저별 함수 묶음을 호출하여 둠으로써 매 함수 실행시마다 웹브라우저의 종류를 판단할 필요가 없어 웹브라우저의 종류를 판단하는 횟수를 최소화할 수 있다는 효과가 있다.
이하 첨부된 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 구성을 설명하기 이전에 본 발명에서 사용되는 용어를 간략히 정의하기로 한다. 본 발명에서 사용되는 노드란 소정 태그에 의해 감싸져 있는 객체를 의미하는 것으로서, 여기서 객체는 텍스트, 이미지, 테이블 등을 포함하는 개념이다. 특히, 객체가 텍스트인 경우 하나의 텍스트라 하더라도 텍스트 내부에 임시노드가 삽입되어 있는 경우 임시노드를 전후로 복수개의 텍스트 노드로 구분될 수 있다.
도 1은 본 발명의 일 실시예에 따른 웹문서 편집장치의 개략적인 블록도이다. 도시된 바와 같이 웹문서 편집장치(10)는 사용자 단말기(미도시)에 탑재되는 것으로서, 사용자에 의해 발생되는 웹문서 편집요청을 수신하고, 수신된 웹문서 편집요청에 상응하여 웹문서를 편집하는 기능을 수행한 후 편집이 완성된 웹문서를 인터넷(12)을 통해 연결된 웹서버(14)로 전송한다. 여기서, 웹서버(14)란 블로그 서버나 메일 서버와 같이 웹문서 제작을 지원하는 서버를 의미한다.
웹문서 편집장치(10)가 웹문서 편집기능을 수행함에 있어서, 웹문서 편집장치(10)는 사용자 단말기에 설치되어 있는 웹브라우저(미도시)와 연동함으로써 웹문서 편집기능을 수행하게 된다. 이러한 웹문서 편집장치(10)는 인터페이스부(16), 임시노드 삽입부(18), 선택노드 추출부(20), 편집부(22), 및 임시노드 삭제부(24)를 포함한다.
인터페이스부(16)는 사용자로부터 웹문서 중 편집을 위해 사용자가 선택한 제1 영역에 대한 정보와 제1 영역에 대한 편집 요청을 수신한다. 예컨대, 인터페이스부(16)는 작성된 웹문서 중 사용자가 마우스 등과 같은 입력장치를 이용하여 드래그한 영역에 대한 정보를 수신함과 동시에 선택한 영역의 폰트 크기를 변경한다거나, 줄간격을 변경한다거나, 색상을 변경하거나, 선택한 영역에 하이퍼링크를 설정하는 등의 편집 요청을 수신하는 것이다.
일 실시예에 있어서, 인터페이스부(16)는 사용자 단말기에 설치된 웹브라우저의 종류를 판단함으로써 각 브라우저별로 노드 추출을 위해 미리 정해진 함수들을 호출할 수 있다. 예컨대, 인터페이스(16)는 웹브라우저가 파이어폭스(Fire Fox, 이하 'FF'라 함)인지, 또는 인터넷 익스플로러(Internet Explorer, 이하 'IE'라 함)인지를 구분하여 노드 추출을 위해 각 브라우저별로 미리 정해진 함수들을 호출하는 것이다.
이를 위해, 본 발명의 일 실시예에 있어서, 노드 추출에 이용되는 함수들은 크게 FF와 IE가 공통적으로 사용하는 함수 묶음과, FF전용 함수 묶음, 및 IE전용 함수 묶음으로 분리된다.
즉, 본 발명에서는 노드 추출에 이용되는 함수들 중 FF와 IE의 구현 방법이 다른 함수들을 별도의 묶음으로 분리하여 둠으로써, 브라우저 판별코드를 매 함수마다 삽입할 필요가 없이, 인터페이스부(16)가 라이브러리 초기화시에 한번만 판단하여 각 브라우저별 함수 묶음 및 각 브라우저가 공통으로 사용하는 함수 묶음을 호출함으로써 브라우저별로 적절한 함수가 어플라이 메쏘드(Apply Method)를 통해 노드 추출에 적용되도록 하는 것이다.
이때, 노드 추출을 위해 각 브라우저마다 그 구현방법이 다른 함수에는 제1 영역에 시작노드 또는 임시노드(시작노드와 임시노드에 대해서는 노드 삽입부의 설명 부분에서 상술하기로 함)를 삽입하는 "insertNodeClone(node)"함수, 제1 영역의 폭이 0인지 아닌지 확인하는 "isCollasped()"함수, 시작노드와 종료노드를 기준으로 영역을 설정하는 "defineRange(selstarNode, selEndNode)"함수, 및 제1 영역을 모두 포함하는 부모 노드(부모노드에 관해서는 노드 추출부의 설명 부분에서 상술하기로 함)를 가져오는 "getCommonAncesterContainer()"함수 등이 있다.
상술한 실시예에 있어서는 웹브라우저가 FF 또는 IE인 것으로 설명하였지만, 이는 설명의 편의를 위한 것일 뿐 본 발명이 FF나 IE에 한정되지 않는다는 것은 자명한 사실이다.
임시노드 삽입부(18)는 인터페이스부(16)에 의해 수신된 제1 영역 정보를 기초로 하여 제1 영역의 시작점에 제1 임시노드를 삽입하고, 제1 영역의 종료점에 제2 임시노드를 삽입한다. 일 실시예에 있어서, 임시노드 삽입은 사용자가 선택한 제1 영역의 HTML(Hyper Text Markup Language)소스 코드 상에서, 시작점과 종료점 에 스팬 태그(Span Tag)쌍을 삽입함으로써 수행될 수 있다. 즉, 제1 영역의 시작점에 스팬 태그쌍을 삽입함으로써 제1 임시노드를 삽입하고, 제1 영역의 종료점에 다른 스팬 태그쌍을 삽입함으로써 제2 임시노드를 삽입하는 것이다.
이때, 삽입된 스팬 태그들은 단순히 시작점과 종료점을 나타내는 임시노드 삽입을 정의하기 위한 것이므로 각 스팬 태그에는 어떠한 속성도 부여되지 않지만, 스팬 태그 내에 임시노드라는 것을 구분하기 위한 소정 텍스트를 삽입할 수는 있다.
선택노드 추출부(20)는 임시노드 삽입부(18)에 의해 제1 영역의 시작점과 종료점에 삽입된 제1 및 제2 임시노드 사이의 모든 노드를 추출하여 임시 저장영역(미도시)에 저장한다. 여기서, 선택노드의 추출은, 사용자가 선택한 제1 영역이 모두 포함되어 있는 부모노드를 가져온 후, 부모노드에 포함된 모든 자식노드들을 제1 임시노드가 발견될 때까지 순차적으로 스캐닝해 가면서, 제1 임시노드가 발견되면 제1 임시노드 이후에 기록된 모든 자식노드들을 제2 임시노드가 발견될 때까지 추출함으로써 수행된다. 이때, 부모노드는 인터페이스부(16)에 의해 호출되는 함수인 "getCommonAncesterContainer()"에 의해 획득할 수 있다.
상술한 임시노드 삽입 및 선택노드 추출 기능은 웹브라우저가 FF와 같이 노드 삽입기능을 지원하는 경우에 수행될 수 있는 기능으로서, IE와 같이 웹브라우저가 노드 삽입 기능을 지원하지 않는 경우에는 임시노드 삽입부(18)가 상술한 방법으로는 임시노드를 삽입할 수 없다.
따라서, 인터페이스부(16)에 의해 판단된 웹브라우저가 IE와 같이 노드 삽입 기능을 지원하지 않는 웹브라우저인 경우, 임시노드 삽입부(18)는 소스 코드 형태로 된 임시노드를 제1 영역의 시작점과 종료점에 삽입한다. 이를 위해 본 발명의 일 실시예에 따른 웹문서 편집장치(10)는, 사전에 제1 영역의 시작점에 삽입될 소스 코드 형태의 임시노드에 제1 식별자를 부여하고, 제1 영역의 종료점에 삽입될 소스 코드 형태의 임시노드에 제2 식별자를 부여하는 식별자 생성부(26)를 더 포함한다. 이때, 제1 식별자 및 제2 식별자는 웹문서 중 다른 노드에 부여된 식별자와 중첩되지 않도록 부여되는 것이 바람직하다.
이러한 식별자를 통해 웹문서 편집 장치(10)는 제1 식별자가 부여되어 있는 소스 코드 형태의 임시노드를 제1 임시노드로 인식하고, 제2 식별자가 부여되어 있는 소스 코드 형태의 가상의 임시노드를 제2 임시노드로 인식하게 되는 것이다.
이후, 선택노드 추출부(20)는 부모노드에 포함된 모든 자식노드들을 제1 임시노드가 발견될 때까지 순차적으로 스캐닝해 가면서, 제1 임시노드가 발견되면 제1 임시노드 이후에 기록된 모든 노드들을 제2 임시노드가 발견될 때까지 추출함으로써 선택노드를 추출한다.
편집부(22)는 제1 편집 요청에 상응하는 제1 편집 속성을 선택노드 추출부(20)에 의해 추출된 선택노드 중 텍스트 노드에 적용함으로써 사용자가 선택한 제1 영역 중 텍스트 객체에 대한 편집을 수행한다. 일 실시예에 있어서, 편집부(22)는 선택노드 중 텍스트 노드를 스팬 태그쌍으로 감싸고, 스팬 태그에 제1 편집 속성을 부여함으로써 사용자가 선택한 제1 영역에 포함된 텍스트 객체를 편집한다.
예컨대, 도 2a에 도시된 바와 같이, "본문의 내용이 이렇게 적혀 있습니다."라는 텍스트에서 사용자에 의해 "용이 이렇게 적"이라는 텍스트가 선택된 후 해당 텍스트에 대한 폰트 색상을 변경하는 제1 편집 요청이 생성된 경우, 편집부(22)는 "본문의 내<span style="제1 편집속성">용이 이렇게 적</span>혀 있습니다."와 같이 선택된 텍스트 노드의 HTML 소스 코드상에서 해당 텍스트 노드를 스팬 태그로 감싼 후 스팬 태그에 제1 편집 속성을 부여함으로써 텍스트 노드를 편집한다.
한편, 텍스트 노드 중 일부 텍스트 영역에 이미 다른 편집 속성이 부여되어 있는 경우, 편집부(22)는 선택된 텍스트 노드를 일괄적으로 스팬 태그로 감싸는 것이 아니라, 선택된 텍스트 노드를 스팬 태그를 기준으로 복수개의 텍스트 노드로 분리한 후, 이미 편집 속성이 부여되어 있는 텍스트 노드에 대해서는 이미 부여된 편집 속성을 새로운 편집 속성으로 변환하고, 편집 속성이 부여되어 있지 않은 텍스트 노드에 대해서는 새로운 편집 속성을 부여한다.
이때, 이미 부여된 편집 속성과 새로 부여된 편집 속성은 동일한 종류의 편집 속성을 의미한다. 예컨대, 이미 부여된 편집속성과 새로 부여된 편집속성이 모두 폰트 색상 변경에 관한 것이거나, 모두 폰트 크기 변경에 관한 것인 경우를 의미한다.
즉, 편집부(22)는 선택된 텍스트 노드 중 제2 스팬 태그로 감싸져 있는 텍스트 노드에 대해서는 제2 스팬 태그에 부여되어 있는 제2 편집 속성을 제1 편집 속성으로 변환하고, 제2 스팬 태그에 의해 감싸져 있지 않은 텍스트 노드에 대해서는 제1 스팬 태그로 감싼 후 제1 스팬 태그에 제1 편집 속성을 부여함으로써 해당 텍 스트 노드를 편집한다.
예컨대, 도 2b에 도시된 바와 같이, 사용자에 의해 "본문의 내용이 이렇게 적혀 있습니다."라는 텍스트 노드가 선택됨과 동시에 선택된 텍스트 노드에 대해 제1 편집 요청이 생성된 경우, 텍스트 노드 중 "이렇게 적"이라는 영역에 이미 제2 편집 속성이 부여되어 있으므로, 제1 편집 속성을 부여하기 이전의 선택된 텍스트 노드에 대한 소스 코드는 "본문의 내<span style="제2 편집속성">용이 이렇게 적</span>혀 있습니다."가 된다.
이때, 도 2c에 도시된 바와 같이, 텍스트 노드 중 일부 텍스트 영역에 이미 제2 편집속성이 부여되어 있음에도 불구하고, 선택된 텍스트 노드 전체를 스팬 태그로 감싸게 되면, "<span style="제1 편집속성">본문의 내<span style="제2 편집속성">용이 이렇게 적</span>혀 있습니다.</span>"와 같이 되어, 제1 편집속성은 제2 편집속성이 적용되어 있는 텍스트 영역에는 영향을 미치지 못하게 되어 원하는 결과를 얻을 수 없다.
따라서, 이러한 경우, 도 2d에 도시된 바와 같이, 선택된 텍스트 노드를 제2 스팬 태그를 기준으로 "본문의 내", "용이 이렇게 적", "혀 있습니다."와 같이 3개의 텍스트 노드로 분리한 후, 제2 스팬 태그로 감싸져 있지 않은 텍스트 노드인 "본문의 내"와 "혀 있습니다."는 제1 스팬 태그로 감싼 후 제1 편집 속성을 부여하고, 제2 스팬 태그로 감싸져 있는 텍스트 노드인 "용이 이렇게 적"은 제2 편집속성을 제1 편집속성을 변환시킴으로써 선택된 텍스트 노드에 대한 편집을 수행한다.
한편, 도 2b에 도시된 바와 같은 텍스트 노드 중 사용자에 의해 "본문의 내 용이"라는 영역이 선택됨과 동시에 제1 편집요청이 생성된 경우, 도 2e에 도시된 바와 같이, 선택된 "본문의 내용이"라는 영역 전체를 제1 스팬 태그로 감싸게 된다면, "<span style="제1 편집속성">본문의 내<span style="제2 편집속성">용이</span>이렇게 적</span>혀 있습니다."와 같이 되어 원하는 결과를 얻을 수 없다.
따라서, 이러한 경우, 도 2f에 도시된 바와 같이, 먼저, 선택된 텍스트 노드를 제2 스팬 태그를 기준으로 "본문의 내"와 "용이"와 같이 2개의 텍스트 노드로 분리하고, 제2 스팬 태그로 감싸져 있지 않은 텍스트 노드인 "본문의 내"는 제1 스팬 태그로 감싼 후 제1 편집 속성을 부여한다. 한편, "용이"라는 텍스트 노드의 경우 제2 편집 속성이 부여되어 있긴 하지만, 제2 스팬 태그로 완전히 감싸져 있지 않기 때문에, "본문의 내"라는 텍스트 노드와 같이 제1 스팬 태그로 감싼 후 제1 편집 속성을 부여하되, 제2 스팬 태그는 그대로 남겨둔다.
임시노드 삭제부(24)는 제1 영역에서 임시노드 삽입부(18)에 의해 삽입된 제1 및 제2 임시노드를 삭제한다. 임시노드 삽입부(18)에 의해 삽입된 임시노드들은 사용자가 시각적으로 인지할 수 없을 수 있기 때문에, 임시노드들을 삭제하지 않을 수도 있으므로, 임시노드 삭제부(24)는 선택적으로 포함될 수 있다.
한편, 본 발명의 일 실시예에 따른 웹문서 편집장치(10)는 선택노드 추출부(20)에 의해 추출된 노드에 사전에 정해진 특정 객체가 포함되어 있는지 여부를 판단하는 객체 판단부(28)를 더 포함함으로써, 객체 판단부(28)에 의해 선택노드에 특정 객체가 포함되어 있는 것으로 판단되는 경우, 인터페이스부(16)가 선택노드에 특정 객체가 포함되어 있음을 알리는 메시지 또는 선택된 노드에는 사용자에 의해 발생된 제1 편집 요청이 수행될 수 없음을 알리는 메시지를 사용자에게 제공하도록 할 수 있다.
예컨대, 객체 판단부(28)에 의해 선택노드에 스토리 포토와 같은 객체가 존재하는 것으로 판단되는 경우, 인터페이스부(16)는 도 3에 도시된 바와 같이 사용자에 의해 선택된 제1 영역에는 하이퍼링크를 설정할 수 없다는 경고 메시지를 사용자에게 제공할 수 있다.
상술한 바와 같이 본 발명의 일 실시예에 따른 웹문서 편집 장치는 웹브라우저에서 제공되는 편집기능만을 이용하여 웹문서를 편집하는 것이 아니라, 웹문서 상에서 사용자가 선택한 영역에 직접 접근하여 편집을 수행할 수 있기 때문에, 기존의 웹브라우저를 이용한 웹문서 편집장치가 제공할 수 없었던 다양한 편집기능을 제공할 수 있게 된다.
예컨대, 도 4a에 도시된 바와 같이, 종래의 FF와 같은 웹브라우저와 연동되는 웹문서 편집장치의 경우, 배경색 변경을 선택하면 텍스트뿐만 아니라 배경색도 모조리 변경되었지만, 본 발명의 일 실시예에 따른 웹문서 편집장치를 이용하는 경우 사용자가 선택한 영역에 직접 접근하여 편집을 수행하므로 도 4b에 도시된 바와 같이 사용자가 선택한 영역 중 텍스트 영역의 색상만이 변경되도록 할 수 있다.
또한, 기존의 웹문서 편집 장치의 경우 웹브라우저에서 줄간격 조절기능을 지원하지 않아 웹문서의 편집 과정에서 줄간격을 조절할 수 없었지만, 본 발명의 일 실시예에 따른 웹문서 편집장치는 사용자가 선택한 영역에 직접 접근하여 편집 을 수행하므로 도 5에 도시된 바와 같이 웹문서의 줄간격을 조절할 수도 있다.
또한, 기존의 웹문서 편집장치의 경우, 도 6a에 도시된 바와 같이, 폰트 크기를 픽셀 단위로 조절할 수 없어 웹브라우저에서 정의하고 있는 크기 만으로 조절할 수밖에 없었지만, 본 발명의 일 실시예에 따른 웹문서 편집장치는 사용자가 선택한 영역에 직접 접근하여 편집을 수행하므로 도 6b에 도시된 바와 같이 폰트 크기를 픽셀 단위로 조절할 수 있어 폰트 크기를 다양하게 조절할 수 있다.
이하에서는, 상술한 웹문서 편집 장치를 이용하여 웹문서를 편집하는 방법을 도 7을 참조하여 구체적으로 설명한다.
먼저, 라이브러리 초기화 시에 사용자 단말기에 설치되어 있는 웹브라우저의 종류를 판단한다(제100단계). 일 실시예에 있어서, 웹브라우저의 종류에는 FF와 IE가 포함된다. 제100단계에서 판단된, 웹브라우저가 FF인 경우에는, FF용 노드 추출을 위한 함수 묶음을 호출한다(제110단계). 이때, FF용 노드 추출을 위한 함수 묶음과 함께 각 웹브라우저가 공통적으로 사용하는 함수 묶음들도 함께 호출하는 것이 바람직하다.
이후, 사용자로부터 웹문서 중 사용자가 편집을 위해 선택한 제1 영역에 대한 정보 및 제1 영역에 대한 편집 요청을 수신한다(제120단계). 수신된 제1 영역에 대한 정보를 기초로 하여 제1 영역의 시작점에 제1 임시노드를 삽입하고, 제1 영역의 종료점에 제2 임시노드를 삽입한다(제130단계).
다음으로, 제110단계에서 호출된 함수들 중 부모노드를 가져오는 함수를 이용하여 제1 영역 모두를 포함하고 있는 부모노드를 획득한 후(제140단계), 부모노 드에 포함된 자식노드들을 제1 임시노드가 발견될 때까지 스캐닝하되(제150단계), 스캐닝 과정에서 제1 임시노드가 발견되면 제1 임시노드 이후의 모든 자식노드들을 제2 임시노드가 발견될 때까지 추출한다(제160단계).
이후, 추출된 노드들 중 텍스트 노드를 소정 태그쌍으로 감싼 뒤 소정 태그쌍에 제1 편집 요청에 상응하는 편집 속성을 부여하여 추출된 텍스트 노드를 편집한다(제170단계). 이때, 텍스트 노드를 감싸는 태그쌍으로는 스팬 태그쌍을 이용한다. 텍스트 노드에 제1 편집속성을 적용하는 방법에 대해서는 편집부(20)의 설명 부분에서 이미 기술하였으므로 상세한 설명은 생략하기로 한다.
마지막으로, 삽입되었던 제1 및 제2 임시노드를 삭제함으로써 선택된 텍스트에 대한 편집을 완료한다(제180단계).
한편, 제100단계에서 판단된 웹브라우저가 IE인 경우, 제100단계 이후, IE용 노드 추출을 위한 함수 묶음을 호출한다(제190단계). 이후, 사용자로부터 웹문서 중 사용자가 편집을 위해 선택한 제1 영역에 대한 정보 및 제1 영역에 대한 편집 요청을 수신한다(제200단계). 다음으로, 수신된 제1 영역의 정보를 기초로 하여 제1 영역의 시작점과 종료점에 소스 코드 형태의 임시노드를 삽입한다(제210단계).
이때, 제1 영역의 시작점에 삽입될 소스 코드 형태의 임시노드에는 제1 식별자가 부여되어 있고, 제1 영역의 종료점에 삽입될 소스 코드 형태의 임시노드에는 제2 식별자가 부여되어 있다.
다음으로, 이러한 제1 및 제2 식별자를 이용하여, 제1 식별자가 부여되어 있는 소스 코드 형태의 임시노드는 제1 임시노드로 인식되도록 하고, 제2 식별자가 부여되어 있는 소스 코드 형태의 임시노드는 제2 임시노드로 인식되도록 한다(제220단계). 즉, 웹문서 편집장치(10)는 소스 코드 형태의 임시노드들을 제1 및 제2 임시노드로 인식하게 되는 것이다.
이후, 상술한 제140단계 내지 제180단계를 수행함으로써 웹문서에 대한 편집을 완료한다.
한편, 본 발명의 일 실시예에 따른 웹문서 편집 방법의 경우, 제160단계 또는 제250단계에서 추출된 노드에 사전에 정해진 특정 타입의 객체가 존재하는지 여부를 판단하고, 판단결과 사전에 정해진 특정 타입의 객체가 존재하는 경우 추출된 노드에는 제1 편집 요청이 수행될 수 없음을 알리는 메시지 또는 선택 노드에 특정 타입의 객체가 포함되어 있음을 알리는 메시지를 사용자에게 전송할 수도 있다.
상술한 웹문서 편집 방법을 이용하여 웹문서를 실제적으로 편집하는 과정을 도 8a 내지 8f를 참조하여 구체적으로 설명한다.
먼저, 도 8a에 도시된 바와 같은 텍스트 및 이미지가 기록된 웹문서 상에서, 사용자가 도 8b에 도시된 바와 같이 소정 텍스트 및 이미지 객체를 선택한 후, 도 8c에 도시된 바와 같이 폰트의 크기를 변경하는 편집 요청을 생성하는 경우, 도 8d에 도시된 바와 같이 선택된 영역의 시작점에 제1 임시노드인 "[S-point]"를 삽입하고, 종료점에 제2 임시노드인 "[E-point]"를 삽입한다. 이러한 임시노드 삽입을 HTML 소스 코드 관점에서 살펴보면, 제1 영역의 시작점에 제1 임시노드로써 "<span>[S-point]</span>"이 삽입되어 있고, 제1 영역의 종료점에 제2 임시노드로써 "<span>[E-point]</span>"이 삽입되어 있음을 알 수 있다. 이러한 제1 및 제2 임시노드 삽입을 통해 제1 및 제2 임시노드 사이의 모든 노드가 추출대상이 되는 선택노드임을 알 수 있게 된다.
다음으로, 도 8e에 도시된 HTML 소스 코드에서 알 수 있는 바와 같이, 추출된 선택노드 중 텍스트 노드인 "텍스트1"과 "텍스트2"와 "텍스" 각각을 스팬 태그쌍으로 감싸고, 각 스팬 태그에 텍스트 노드의 폰트 크기를 변경하는 편집속성을 부여함으로써 선택된 텍스트를 편집한다.
이후, 도 8f에 도시된 바와 같이 삽입되었던 제1 및 제2 임시노드를 삭제함으로써 텍스트 편집을 완료하게 된다.
상술한 웹문서 편집 방법은 다양한 컴퓨터 수단을 이용하여 수행될 수 있는 프로그램 형태로도 구현될 수 있는데, 이때 웹문서 편집 방법을 수행하기 위한 프로그램은 하드 디스크, CD-ROM, DVD, 롬(ROM), 램, 또는 플래시 메모리와 같은 컴퓨터로 판독할 수 있는 기록 매체에 저장된다.
상술한 웹문서 편집 방법을 프로그램 형태로 구현하기 위한 소스코드가 도 9a 내지 도 9d에 도시되어 있다. 먼저, 도 9a는 사용자 단말기에 설치된 웹브라우저의 종류를 판단하여 노드 추출을 위해 각 웹브라우저가 공통적으로 사용하는 함수 묶음을 호출하거나 노드 추출을 위해 각 웹브라우저별로 구현되는 함수 묶음을 호출하여 적용하기 위한 소스코드를 보여준다.
다음으로, 도 9b는 판단된 웹브라우저의 종류가 FF인 경우 임시노드 삽입과 선택노드 추출을 위한 소스 코드를 보여준다. 첫 번째 단락(30)은 제1 영역의 시작점과 종료점을 정의하기 위한 소스 코드이고, 두 번째 단락(32)은 제1 영역의 시 작점에 스팬태그를 이용하여 제1임시노드를 삽입하기 위한 소스 코드이며, 세 번째 단락(34)은 제1 영역의 종료점에 스팬 태그를 이용하여 제2 임시노드를 삽입하기 위한 소스 코드이다.
네 번째 단락(36)은 제1 임시노드와 제2 임시노드를 모두 포함하는 노드를 부모노드로 정의하기 위한 소스 코드이고, 다섯 번째 단락(38)은 선택노드를 추출하기 위한 소스 코드로써 부모 노드에 속한 모든 자식 노드를 제1 임시노드가 발견될 때까지 스캐닝하고, 제1 임시노드가 발견되면 제2 임시노드가 발견될 때까지 그 사이의 모든 자식 노드를 추출하여 저장하기 위한 소스 코드이며, 여섯 번째 단락(40)은 삽입되었던 제1 및 제2 임시노드를 삭제하기 위한 소스 코드이다.
도 9c는 판단된 웹브라우저의 종류가 IE인 경우 임시노드 삽입과 선택노드 추출을 위한 소스 코드를 보여준다. 도 9c의 경우, 실제 임시노드가 아닌 소스 코드 형태의 임시노드를 삽입하고, 이러한 소스 코드 형태의 임시노드를 제1 및 제2 임시노드로 인식되게 한다는 것을 제외하고는 도 9b와 동일하므로 여기서는 도 9b와 상이한 점에 대해서만 설명하기로 한다.
먼저, 두 번째 단락(42)은 제1 영역의 시작점에 삽입될 소스 코드 형태의 임시노드(가상 임시노드)를 스팬 태그를 이용하여 삽입하기 위한 소스 코드이며, 세 번째 단락(44)은 제1 영역의 종료점에 삽입될 소스 코드 형태의 임시노드(가상 임시노드)를 스팬 태그를 이용하여 삽입하기 위한 소스 코드이다. 여기서, 소스 코드 형태의 임시노드에는 각각 별도의 식별자가 부여되는데, 이들 식별자는 웹문서상에서 다른 노드에 부여되지 않은 식별자가 부여된다. 일 실시예에 있어서, 제 1 영역의 시작점에 삽입될 소스 코드 형태의 임시노드에는 제1 식별자를 부여하고, 제1 영역의 종료점에 삽입될 소스 코드 형태의 임시노드에는 제2 식별자를 부여한다
네 번째 단락(46)은 제1 식별자가 부여되어 있는 소스 코드 형태의 임시노드를 실제 제1 임시노드로 인식시키고, 제2 식별자가 부여되어 있는 소스 코드 형태의 임시노드를 실제 제2 임시노드로 인식시키기 위한 소스 코드이다.
도 9d는 선택된 노드에 사전에 정해진 특정 객체가 포함된 경우 사용자에게 이에 대한 경고 메시지를 제공하기 위한 소스 코드를 보여준다. 구체적으로, 선택된 노드 중에 클래스 네임이 스토리 포토인 객체가 포함되어 있는 경우 사용자에게 "스토리 포토가 선택된 상태입니다"라는 경고 메시지를 제공하기 위한 소스 코드이다. 변형된 실시예에 있어서는, 이러한 경고 메시지 이외에 사용자에게 선택된 영역에는 소정 편집 요청이 수행될 수 없음을 알리는 경고 메시지를 사용자에게 제공하도록 소스 코드를 작성할 수도 있을 것이다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
예컨대, 상술한 실시예에 있어서는 본 발명의 웹문서 편집장치가 웹브라우저 중 FF 또는 IE와 연동되는 것으로 설명하였지만, 변형된 실시예에 있어서는 상술한 FF나 IE이외에 넷스케이프(Netscape), 모질라(Mozilla), 아이캔 브라우저(Ican Browser), 오페라(Opera)등 다양한 웹브라우저와도 연동 가능할 것이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명의 일 실시예에 따른 웹문서 편집 장치의 개략적인 블록도.
도 2a 내지 도 2f는 본 발명의 일 실시예에 따라 텍스트 노드에 편집 속성을 부여하는 예를 보여주는 도면.
도 3은 선택노드에 특정 객체가 포함되어 있는 경우 사용자에게 제공되는 경고메시지가 디스플레이된 화면을 캡쳐하여 보여주는 도면.
도 4a는 종래의 웹문서 편집장치를 이용하여 웹문서의 배경색을 변경한 결과를 보여두는 도면.
도 4b는 본 발명의 일 실시예에 따른 웹문서 편집장치를 이용하여 웹문서의 배경색을 변경한 결과를 보여주는 도면.
도 5는 본 발명의 일 실시예에 따른 웹문서 편집장치를 이용하여 웹문서의 줄간격을 조절하는 화면을 캡쳐하여 보여주는 도면.
도 6a는 종래의 웹문서 편집장치에서 폰트 크기를 조절하기 위한 메뉴를 보여주는 도면.
도 6b는 본 발명의 일 실시예에 따른 웹문서 편집장치에서 폰트 크기를 조절하기 위한 메뉴를 보여주는 도면.
도 7은 본 발명의 일 실시예에 따른 웹문서 편집방법을 보여주는 플로우차트.
도 8a 내지 8f는 웹문서를 편집하는 과정의 예시화면을 캡쳐하여 보여주는 도면.
도 9a 내지 도 9d는 본 발명의 일 실시예에 따른 웹문서 편집방법을 프로그래밍하기 위한 소스코드를 보여주는 도면.
<도면의 주요부분에 대한 부호의 설명>
10: 웹문서 편집 장치 12: 인터넷
14: 웹서버 16: 인터페이스부
18: 임시노드 삽입부 20: 선택노드 추출부
22: 편집부 24: 임시노드 삭제부
26: 식별자 생성부 28: 객체 판단부

Claims (24)

  1. 웹문서 중 편집을 위해 사용자에 의해 선택된 제1 영역 정보 및 상기 제1 영역에 대한 제1 편집 요청을 사용자로부터 수신하는 단계;
    상기 제1 영역 정보를 기초로 하여 상기 제1 영역의 시작점과 종료점에 제1 및 제2 임시노드를 삽입하는 단계;
    상기 제1 및 제2 임시노드 사이에 포함된 모든 노드를 추출하는 단계; 및
    상기 제1 편집 요청에 상응하는 제1 편집 속성을 상기 추출된 노드 중 적어도 하나의 노드에 적용하는 단계를 포함하는 것을 특징으로 하는 웹문서 편집방법.
  2. 제1항에 있어서, 상기 노드 추출단계는,
    상기 제1 및 제2 임시노드 사이의 모든 노드를 포함하는 부모노드 정보를 획득하는 단계;
    상기 부모노드에 포함된 모든 노드들을 상기 제1 임시노드가 발견될 때까지 스캐닝하는 단계; 및
    상기 제1 임시노드가 발견되면 이후에 기록된 모든 노드를 상기 제2 임시노드가 발견될 때까지 추출하는 단계를 포함하는 것을 특징으로 하는 웹문서 편집방법.
  3. 제2항에 있어서, 상기 부모노드는 상기 제1 및 제2 임시노드 사이의 모든 노 드들을 포함하는 소정 태그쌍 내에 포함된 노드인 것을 특징으로 하는 웹문서 편집방법.
  4. 제1항에 있어서, 상기 제1 편집 속성은 상기 추출된 노드 중 텍스트 노드에 적용하는 것을 특징으로 하는 웹문서 편집방법.
  5. 제4항에 있어서, 상기 제1 편집 속성 적용 단계는,
    상기 추출된 노드 중 텍스트 노드를 제1 태그쌍으로 감싸는 단계; 및
    상기 제1 태그쌍에 상기 제1 편집 속성을 부여하는 단계를 포함하는 것을 특징으로 하는 웹문서 편집방법.
  6. 제5항에 있어서, 상기 제1 태그쌍은 스팬(Span) 태그쌍인 것을 특징으로 하는 웹문서 편집방법.
  7. 제4항에 있어서, 상기 제1 편집 속성 적용단계에서, 상기 추출된 텍스트 노드 중 일부 영역에 이미 제2 편집 속성이 적용되어 있는 경우, 상기 제2 편집 속성이 적용되어 있지 않은 영역에 대해서는 상기 제1 편집 속성을 적용시키고, 상기 제2 편집 속성이 적용되어 있는 영역에 대해서는 상기 제2 편집 속성을 상기 제1 편집 속성으로 변경시키는 것을 특징으로 하는 웹문서 편집방법.
  8. 제7항에 있어서, 상기 제1 편집 속성과 제2 편집 속성은 동일한 종류의 편집 속성인 것을 특징으로 하는 웹문서 편집방법.
  9. 제1항에 있어서, 상기 웹문서 편집방법은,
    사용자 단말기에 설치된 웹브라우저의 종류를 판단하는 단계; 및
    상기 판단된 웹브라우저의 종류에 따라 상기 노드 추출을 위해 사전에 정해진 함수 묶음들을 호출하는 단계를 더 포함하는 것을 특징으로 하는 웹문서 편집방법.
  10. 제9항에 있어서, 상기 판단된 웹브라우저가 상기 제1 및 제2 임시노드의 삽입기능을 지원하지 않는 웹브라우저인 경우, 상기 제1 및 제2 임시노드 삽입단계에서, 소스 코드 형태의 임시노드를 상기 제1 영역의 시작점과 종료점에 삽입하는 것을 특징으로 하는 웹문서 편집방법.
  11. 제10항에 있어서, 상기 임시노드 삽입 단계 이전에, 상기 제1 영역의 시작점에 삽입될 소스 코드 형태의 임시노드에 제1 식별자를 부여하고 상기 제1 영역의 종료점에 삽입될 소스 코드 형태의 임시노드에 제2 식별자 부여하는 단계를 더 포함하고, 상기 제1 식별자가 부여되어 있는 소스 코드 형태의 임시노드는 제1 임시노드로 인식되고, 제2 식별자가 부여되어 있는 소스 코드 형태의 임시노드는 제2 임시노드로 인식되는 것을 특징으로 하는 웹문서 편집방법.
  12. 제1항에 있어서, 상기 노드 추출단계 이후에,
    상기 추출된 노드에 미리 정해진 특정 타입의 객체가 존재하는지를 판단하는 단계; 및
    존재하는 경우 상기 특정 타입의 객체가 포함되었음을 알리는 메시지 또는 상기 제1 편집 요청이 수행될 수 없음을 알리는 메시지를 사용자에게 제공하는 단계를 더 포함하는 것을 특징으로 하는 웹문서 편집방법.
  13. 제1항에 있어서, 상기 제1 및 제2 임시노드를 상기 제1 영역으로부터 삭제하는 단계를 더 포함하는 것을 특징으로 하는 웹문서 편집방법.
  14. 제1항 내지 제13항 중 어느 하나의 항에 기재된 방법을 수행하기 위한 프로그램이 기록된 기록매체.
  15. 웹문서 중 편집을 위해 사용자에 의해 선택된 제1 영역 정보 및 상기 제1 영역에 대한 제1 편집 요청을 사용자로부터 수신하는 인터페이스부;
    상기 인터페이스부에 의해 수신된 제1 영역 정보를 기초로 하여 상기 제1 영역의 시작점과 종료점에 제1 및 제2 임시노드를 삽입하는 임시노드 삽입부;
    상기 제1 및 제2 임시노드 사이에 포함된 모든 노드를 추출하는 선택노드 추출부; 및
    상기 제1 편집 요청에 상응하는 제1 편집 속성을 상기 추출된 노드 중 적어도 하나의 노드에 적용하는 편집부를 포함하는 것을 특징으로 하는 웹문서 편집장치.
  16. 제15항에 있어서, 상기 선택노드 추출부는, 상기 제1 및 제2 임시노드 사이의 모든 노드를 포함하는 부모노드를 상기 제1 임시노드가 발견될 때까지 스캐닝해 가면서 상기 제1 임시노드가 발견되면 상기 제1 임시노드 이후에 기록된 모든 노드를 상기 제2 임시노드가 발견될 때까지 추출하는 것을 특징으로 하는 웹문서 편집장치.
  17. 제15항에 있어서, 상기 편집부는 상기 제1 편집 속성을 상기 추출된 노드 중 텍스트 노드에 적용하는 것을 특징으로 하는 웹문서 편집장치.
  18. 제17항에 있어서, 상기 편집부는 상기 텍스트 노드를 제1 태그쌍으로 감싸고, 상기 제1 태그쌍에 상기 제1 편집 속성을 부여하는 것을 특징으로 하는 웹문서 편집장치.
  19. 제18항에 있어서, 상기 제1 태그쌍은 스팬(Span) 태그쌍인 것을 특징으로 하는 웹문서 편집장치.
  20. 제15항에 있어서, 상기 인터페이스부는 사용자 단말기에 설치된 웹브라우저의 종류를 판단하고, 웹브라우저의 종류에 따라 상기 노드 추출을 위해 사전에 정해진 함수 묶음을 호출하는 것을 특징으로 하는 웹문서 편집장치.
  21. 제20항에 있어서, 상기 판단된 웹브라우저가 상기 임시노드 삽입기능을 지원하지 않는 웹브라우저인 경우, 상기 임시노드 삽입부는 소스 코드 형태의 임시노드를 상기 제1 영역의 시작점과 종료점에 삽입하는 것을 특징으로 하는 웹문서 편집장치.
  22. 제21항에 있어서, 상기 웹문서 편집장치는 상기 제1 영역의 시작점에 삽입될 소스 코드 형태의 임시노드에 제1 식별자를 부여하고 상기 제1 영역의 종료점에 삽입될 소스 코드 형태의 임시노드에 제2 식별자를 부여하는 식별자 생성부를 더 포함하고, 상기 1 식별자가 부여되어 있는 소스 코드 형태의 임시노드는 제1 임시노드로 인식하고, 제2 식별자가 부여되어 있는 소스 코드 형태의 임시노드는 제2 임시노드로 인식하는 것을 특징으로 하는 웹문서 편집장치.
  23. 제15항에 있어서, 상기 웹문서 편집장치는,
    상기 선택노드 추출부에 의해 추출된 노드에 미리 정해진 특정 타입의 객체가 존재하는지를 판단하는 객체 판단부를 더 포함하고,
    상기 미리 정해진 특정 타입의 객체가 존재하는 것으로 판단되는 경우, 상기 인터페이스부는 상기 특정 타입의 객체가 포함되었음을 알리는 메시지 또는 상기 제1 편집 요청이 수행될 수 없음을 알리는 메시지를 사용자에게 제공하는 것을 특징으로 하는 웹문서 편집장치.
  24. 제15항에 있어서, 상기 웹문서 편집장치는,
    상기 임시노드 삽입부에 의해 삽입된 상기 제1 및 제2 임시노드를 상기 제1 영역으로부터 삭제하는 임시노드 삭제부를 더 포함하는 것을 특징으로 하는 웹문서 편집장치.
KR1020070100979A 2007-10-08 2007-10-08 웹문서 편집 방법 및 장치 KR100958786B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070100979A KR100958786B1 (ko) 2007-10-08 2007-10-08 웹문서 편집 방법 및 장치
JP2008260391A JP4861389B2 (ja) 2007-10-08 2008-10-07 ウェブ文書編集方法及び装置
US12/247,948 US8281284B2 (en) 2007-10-08 2008-10-08 Method and software for editing web documents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070100979A KR100958786B1 (ko) 2007-10-08 2007-10-08 웹문서 편집 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20090035933A true KR20090035933A (ko) 2009-04-13
KR100958786B1 KR100958786B1 (ko) 2010-05-18

Family

ID=40524398

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070100979A KR100958786B1 (ko) 2007-10-08 2007-10-08 웹문서 편집 방법 및 장치

Country Status (3)

Country Link
US (1) US8281284B2 (ko)
JP (1) JP4861389B2 (ko)
KR (1) KR100958786B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101115523B1 (ko) * 2009-12-29 2012-02-27 전자부품연구원 테일러링을 지원하는 멀티미디어 웹 에디터 장치 및 방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727538B2 (en) * 2010-12-10 2017-08-08 International Business Machines Corporation Editing a fragmented document
US9753699B2 (en) * 2011-06-16 2017-09-05 Microsoft Technology Licensing, Llc Live browser tooling in an integrated development environment
US9460224B2 (en) 2011-06-16 2016-10-04 Microsoft Technology Licensing Llc. Selection mapping between fetched files and source files
US9563714B2 (en) 2011-06-16 2017-02-07 Microsoft Technology Licensing Llc. Mapping selections between a browser and the original file fetched from a web server
US10540416B2 (en) 2011-06-23 2020-01-21 Microsoft Technology Licensing, Llc Linking source code to running element
US10534830B2 (en) 2011-06-23 2020-01-14 Microsoft Technology Licensing, Llc Dynamically updating a running page
US20130227397A1 (en) * 2012-02-24 2013-08-29 Microsoft Corporation Forming an instrumented text source document for generating a live web page
DE102012102797B4 (de) * 2012-03-30 2017-08-10 Beyo Gmbh Kamerabasiertes Mobilfunkgerät zur Konvertierung eines Dokuments anhand von aufgenommenen Bildern in ein Format zur optimierten Anzeige auf dem kamerabasierten Mobilfunkgerät
US20140237346A1 (en) * 2013-02-20 2014-08-21 Adobe Systems Inc. Method and apparatus for importing hyper text markup language (html) web projects into a web content management system
CN104899184B (zh) * 2014-03-04 2019-10-15 腾讯科技(深圳)有限公司 文字处理方法、装置及***
US10579737B2 (en) * 2018-03-06 2020-03-03 Adobe Inc. Natural language image editing annotation framework
CN109597976B (zh) * 2018-10-11 2023-07-25 创新先进技术有限公司 一种文档编辑方法及装置
US11003837B2 (en) * 2019-05-03 2021-05-11 Microsoft Technology Licensing, Llc Controlling mark positions in documents
CN112686003B (zh) * 2019-10-18 2023-12-26 珠海金山办公软件有限公司 电子文档中段落间距的处理方法、装置、存储介质和设备
CN114518908B (zh) * 2022-02-17 2024-03-22 杭州网易云音乐科技有限公司 服务编排方法、介质、装置和计算设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100419568B1 (ko) * 2000-11-16 2004-02-19 안종선 네트워크 기반 홈페이지 자동 편집 방법
KR20030069629A (ko) * 2002-02-22 2003-08-27 주식회사 인포웨어 웹문서 저작시스템 및 저작방법
KR20030073001A (ko) * 2002-03-08 2003-09-19 (주) 오픈랩 웹사이트 제작을 위한 웹페이지 생성 및 편집방법
US7340673B2 (en) * 2002-08-29 2008-03-04 Vistaprint Technologies Limited System and method for browser document editing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101115523B1 (ko) * 2009-12-29 2012-02-27 전자부품연구원 테일러링을 지원하는 멀티미디어 웹 에디터 장치 및 방법

Also Published As

Publication number Publication date
US20090094579A1 (en) 2009-04-09
KR100958786B1 (ko) 2010-05-18
JP2009093658A (ja) 2009-04-30
US8281284B2 (en) 2012-10-02
JP4861389B2 (ja) 2012-01-25

Similar Documents

Publication Publication Date Title
KR100958786B1 (ko) 웹문서 편집 방법 및 장치
JP5947888B2 (ja) 統合開発環境におけるライブ・ブラウザー・ツーリング
US10229115B2 (en) System and method for creating an internationalized web application
JP6514244B2 (ja) 差異検出装置及びプログラム
KR100784273B1 (ko) 통합문서를 이용한 웹서비스 운용 방법
JP2010055483A (ja) 情報再取得手順生成プログラム及び情報再取得手順生成装置
CN112269576A (zh) 一种组件展示方法、装置、服务器和存储介质
JP6723976B2 (ja) テスト実行装置及びプログラム
WO2019000894A1 (zh) 一种生成文章大纲的方法和装置
CN113360106B (zh) 一种网页打印方法和装置
CN113448569A (zh) 一种站点页面的处理***、方法、设备和存储介质
US10198408B1 (en) System and method for converting and importing web site content
CN113111044A (zh) 数据处理方法及装置、服务端设备及存储介质
KR100850021B1 (ko) 웹문서 스타일 변경 시스템 및 방법
JP2006065467A (ja) データ抽出定義情報生成装置およびデータ抽出定義情報生成方法
CN102193789A (zh) 一种实现可配置跳转链接的方法和设备
CN110232019A (zh) 页面测试方法及相关产品
JP2006065467A5 (ko)
CN110928549B (zh) 一种重编辑前端脚本程序的方法及装置
CN114676671A (zh) 文档在线编辑方法及其装置、计算机可读存储介质
KR20130059866A (ko) 웹 문서 변환 장치 및 방법
JP5476867B2 (ja) マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法
CN110705210A (zh) 中文字体的加载方法及装置
JP5428316B2 (ja) 識別子短縮表示プログラム,識別子短縮表示装置および識別子短縮表示方法
CN110489130A (zh) 一种基于客户端的业务数据提取方法及装置

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: 20130329

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160329

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 10