首页 / 专利库 / 电脑图像 / 绘图软件 / 所见即所得 / 무선 인터넷용 웹 문서 편집기 및 이를 이용한 편집 방법

무선 인터넷용 웹 문서 편집기 및 이를 이용한 편집 방법

阅读:184发布:2020-11-22

专利汇可以提供무선 인터넷용 웹 문서 편집기 및 이를 이용한 편집 방법专利检索,专利查询,专利分析的服务。并且PURPOSE: A web document editor for the wireless Internet and an editing method thereof are provided to generate/correct a web document of a different format according to a different mobile communication network and a different wireless Internet browser through one editing, and smoothly configure/write the web document by offering the same interface as a browser screen. CONSTITUTION: A storage(100) stores/separates the information for the web document into the common information commonly used in other wireless Internet language and the extension information used in each wireless Internet language. A web document editor(200) generates or converts the web document into an WYSIWYG(What You See Is What You Get) mode, transmits the common/extension information to the storage by extracting/converting the web document, and generates or corrects the web document through the common/extension information. A source editor(300) generates or corrects the web document by generating or changing a source, transmits the common/extension information to the storage by parsing the source, and generates or corrects the source of other wireless Internet language through the common/extension information.,下面是무선 인터넷용 웹 문서 편집기 및 이를 이용한 편집 방법专利的具体信息内容。

  • 웹 문서에 관한 정보를 서로 다른 무선 인터넷 언어에서 공통으로 사용하는 공통정보와 각각의 무선 인터넷 언어에서 사용하는 확장 정보로 분리하여 저장하는 저장수단;
    무선 인터넷용 상기 웹 문서를 WYSIWYG방식으로 생성 또는 변경하고 상기 웹 문서에 관련된 정보를 추출 또는 변환하여 공통 정보와 확장 정보를 상기 저장수단에 전송하거나, 상기 저장수단에 저장된 상기 공통 정보와 상기 확장 정보를 통해 상기 웹 문서를 생성 또는 수정하는 웹 문서 편집 수단; 및
    서로 다른 무선 인터넷용 언어에 해당하는 각기 다른 소스를 생성 또는 변경함으로서 상기 웹 문서를 생성 또는 수정하고 상기 소스를 파싱하여 공통 정보와 확장 정보를 상기 저장수단에 전송하거나, 상기 저장수단에 저장된 상기 공통 정보와 상기 확장 정보를 통해 서로 다른 무선 인터넷용 언어에 해당하는 각기 다른 소스를 생성 또는 수정하는 소스 편집 수단을 포함하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집기.
  • 제 1 항에 있어서, 상기 웹 문서 편집 수단은,
    상기 웹 문서를 구성하는 카드 또는 하위 아이템을 생성 또는 변경하는 오브젝트 생성 및 변경 수단;
    상기 카드 또는 상기 하위 아이템의 속성을 입력받고 이를 표시하기 위한 속성 표시 수단; 및
    상기 카드 또는 상기 하위 아이템의 생성 또는 변경 정보와 상기 카드 또는 상기 하위 아이템의 속성 정보를 추출하고 이를 서로 다른 무선 인터넷 언어에서 공통으로 사용하는 상기 공통 정보와 각각의 무선 인터넷 언어에서 사용하는 확장 정보 형태로 변환하거나, 상기 저장 수단의 상기 공통 정보와 상기 확장 정보를 통해 상기 카드 또는 상기 하위 아이템의 생성 또는 변경과 상기 카드 또는 상기 하위 아이템 속성 정보를 생성하기 위한 명령을 상기 오브젝트 생성 및 변경 수단에 전송하는 변환 수단을 포함하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집기.
  • 제 1 항에 있어서, 상기 소스 편집 수단은,
    서로 다른 무선 인터넷용 언어에 해당하는 각기 다른 소스를 생성 또는 변경하는 소스 생성 및 변경 수단;
    상기 생성 또는 변경된 소스를 파싱하여 상기 웹 문서를 구성하는 카드 또는 하위 아이템에 해당하는 속성, 구성 및 입력데이터와 태그를 포함하는 토큰을 분리하는 파싱수단; 및
    상기 토큰을 서로 다른 무선 인터넷 언어에서 공통으로 사용하는 상기 공통 정보와 각각의 무선 인터넷 언어에서 사용하는 확장 정보 형태로 변환하거나, 상기 저장 수단의 상기 공통 정보와 상기 확장 정보를 통해 서로 다른 무선 인터넷 언어에서 사용하는 소스로 변경하기 위한 명령을 상기 소스 생성 및 변경 수단에 전송하는 변환 수단을 포함하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집기.
  • 제 1 항에 있어서, 상기 공통 정보는,
    상기 웹 문서를 구성하는 카드 또는 하위 아이템의 속성에 관한 정보, 각 카드간의 링크에 관련된 정보 및 상기 카드 또는 하위 아이템의 구성에 관한 정보인 것을 특징으로 하는 무선 인터넷용 웹 문서 편집기.
  • 제 1 항에 있어서, 상기 확장 정보는,
    텍스트에 관한 정보, 이미지에 관한 정보, 스크립트에 관한 정보, 특수문자에 관한 정보, 입력상자에 관한 정보, 옵션버튼에 관한 정보 및 리스트에 관한 정보를 포함하되, 이들 각각은 서로 다른 무선 인터넷 언어에 맞는 형태와 속성별로 변환되어 있는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집기.
  • 제 1 항에 있어서, 상기 서로 다른 무선 인터넷용 언어에 해당하는 각기 다른 소스를 생성 또는 변경하는 것은,
    현재 작업중인 상기 소스를 사용하는 상기 무선 인터넷 언어와 변경될 소스를 사용하는 무선 인터넷 언어가 동일한 언어의 계열인지 판단하여, 동일한 계열일 경우는 상기 현재 작업중인 소스를 파싱하여 소스의 공통된 부분만을 반영하여 소스를 생성하고, 동일한 계열이 아닐 경우는 상기 현재 작업중인 소스를 파싱하여 이를 무선 인터넷 언어에서 사용하는 공통의 소스로 변환하고 상기 공통된 소스를반영하여 소스를 생성하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집기.
  • (a)웹 문서 편집 수단을 통해 웹 문서를 구성하는 카드를 생성 또는 수정하거나, 하위 아이템을 생성 또는 수정하는 단계;
    (b)상기 생성된 카드 또는 상기 하위 아이템을 활성화한 후 상기 카드 또는 상기 하위 아이템의 속성, 입력데이터 또는 구성관계를 포함하는 정보를 입력받는 단계;
    (c)상기 카드 또는 상기 하위 아이템의 속성, 입력데이터 또는 구성관계에 관한 정보를 무선 인터넷 언어들에서 공통으로 사용하는 공통 정보와 각각의 무선 인터넷 언어에서 사용하는 확장 정보로 변환하여 저장 수단에 저장하는 단계; 및
    (d)소스 편집 수단을 통해 상기 공통 파일에 저장된 상기 공통 정보와 상기 확장 정보를 이용하여 각 무선 인터넷 언어에 맞게 소스를 생성하는 단계를 포함하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집 방법.
  • 제 7 항에 있어서, 상기 저장수단은,
    현재 작업중인 모든 카드에 관한 속성정보, 카드들의 링크 관계정보, 하위 아이템의 구성 및 속성정보를 저장 하되, 상기 모든 카드에 관한 속성정보, 상기 카드들의 링크 관계정보 및 하위 아이템의 구성 정보들을 상기 무선 인터넷 언어에서 공통으로 사용하는 공통정보로 저장하고, 상기 하위 아이템의 속성에 관한 정보를 각각의 무선 인터넷 언어에서 사용하는 확장정보로 저장하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집 방법.
  • 제 8 항에 있어서, 상기 확장 정보는,
    텍스트에 관한 정보, 이미지에 관한 정보, 스크립트에 관한 정보, 특수문자에 관한 정보, 입력상자에 관한 정보, 옵션버튼에 관한 정보 및 리스트에 관한 정보를 포함하되, 이들 각각은 서로 다른 무선 인터넷 언어에 맞는 형태와 속성별로 변환되어 있는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집 방법.
  • 제 7 항에 있어서, 상기 (d)단계는,
    상기 공통 정보와 상기 확장 정보를 상기 무선 인터넷 언어 각각에서 사용하는 태그 또는 속성들과 비교하여 소스를 생성하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집 방법.
  • 제 7 항에 있어서, 상기 (c)단계는,
    상기 저장 수단 핸들러인 프로젝트 아이엔 아이와 속성입력을 위함 함수인 라이트 스트링 함수를 이용하여 상기 저장 수단에 정보를 저장하되, 함수의 속성 양식을 보면 현재 작업중인 카드 또는 하위 아이템을 나타내는 대구분 영역과, 속성의 명칭을 나타내는 속성영역과, 속성에 해당하는 데이터를 나타내는 값영역으로 구분하여 작업중인 카드 또는 하위 아이템의 속성 값을 상기 저장 수단에 저장하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집 방법.
  • 제 7 항에 있어서, 상기 하위 아이템은,
    이미지, 스크립트, 특수문자, 입력, 옵션 또는 리스트인 것을 특징으로 하는 무선 인터넷용 웹 문서 편집 방법.
  • 제 12 항에 있어서, 상기 (a)단계와 상기 (b)단계사이에, 상기 생성 또는 수정되는 하위 이이템이 이미지, 스크립트 또는 특수문자일 경우는 각각에 해당하는 속성을 입력받기 위한 다이얼로그 박스를 표시하는 단계를 더 포함하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집 방법.
  • (a)소스 편집 수단을 통해 카드 또는 하위 아이템에 해당하는 소스를 생성 또는 편집하는 단계;
    (b)상기 생성 및 편집된 소스를 파싱하여 태그 또는 상기 카드 또는 상기 하위 아이템에 해당하는 속성, 구성 및 입력데이터를 포함하는 토큰으로 분리하는 단계;
    (c)상기 분리된 토큰을 무선 인터넷 언어들에서 공통으로 사용하는 공통 정보와 각각의 무선 인터넷 언어에서 사용하는 확장 정보로 변환하여 공통 파일에 저장하는 단계;
    (d)상기 각각의 무선 인터넷 언어에 맞는 소스를 생성하는 단계; 및
    (e)상기 공통 파일에 저장된 상기 공통 정보와 상기 확장 정보인 상기 카드또는 상기 하위 아이템에 해당하는 속성, 구성 및 입력데이터를 바탕으로 웹 문서 편집 수단을 통해 상기 카드 또는 상기 하위 아이템을 생성 또는 수정하는 단계를 포함하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집 방법.
  • 제 14 항에 있어서, 상기 저장수단은,
    현재 작업중인 모든 카드에 관한 속성정보, 카드들의 링크 관계정보, 하위 아이템의 구성 및 속성정보를 저장 하되, 상기 모든 카드에 관한 속성정보, 상기 카드들의 링크 관계정보 및 하위 아이템의 구성 정보들을 상기 무선 인터넷 언어에서 공통으로 사용하는 공통정보로 저장하고, 상기 하위 아이템의 속성에 관한 정보를 각각의 무선 인터넷 언어에서 사용하는 확장정보로 저장하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집 방법.
  • 제 15 항에 있어서, 상기 확장 정보는,
    텍스트에 관한 정보, 이미지에 관한 정보, 스크립트에 관한 정보, 특수문자에 관한 정보, 입력상자에 관한 정보, 옵션버튼에 관한 정보 및 리스트에 관한 정보를 포함하되, 이들 각각은 서로 다른 무선 인터넷 언어에 맞는 형태와 속성별로 변환되어 있는 것을 특징으로 하는 무선 인터넷용 웹 에디터.
  • 제 14 항에 있어서, 상기 (c)단계는,
    상기 저장수단 핸들러인 프로젝트 아이엔 아이와 속성입력을 위함 함수인 라이트 스트링 함수를 이용하여 상기 저장 수단에 정보를 저장하되, 함수의 속성 양식을 보면 현재 작업중인 카드 또는 하위 아이템을 나타내는 대구분 영역과, 속성의 명칭을 나타내는 속성영역과, 속성에 해당하는 데이터를 나타내는 값영역으로 구분하여 작업중인 카드 또는 하위 아이템의 속성 값을 상기 저장 수단에 저장하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집 방법.
  • 제 14 항에 있어서, 상기 (d)단계는,
    상기 파싱 결과를 이용하여 변환될 소스가 동일한 계열의 무선인터넷 언어일 경우는 공통된 부분만을 변환하여 소스를 생성하고, 변환될 소스가 동일한 계열의 무선 인터넷 언어가 아닐 경우는 무선 인터넷 언어에서 공통으로 사용되는 부분만을 변환하여 소스를 생성하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집 방법.
  • 제 14 항에 있어서, 상기 하위 아이템은,
    이미지, 스크립트, 특수문자, 입력, 옵션 또는 리스트인 것을 특징으로 하는 무선 인터넷용 웹 문서 편집 방법.
  • 说明书全文

    무선 인터넷용 웹 문서 편집기 및 이를 이용한 편집 방법{Wireless internet web document editor and method of editing using the same}

    본 발명은 무선 인터넷용 웹 문서 편집기 및 이를 이용한 편집 방법에 관한 것으로, 특히 무선 인터넷 서비스를 제공하는 각 회사의 브라우저에 맞는 형식으로 웹 페이지를 자동적으로 전환할 수 있고, 인터페이스가 무선 인터넷의 웹 브라우저 형식인 카드 형식으로 되어, 무선 인터넷용 웹 페이지의 생성, 편집 및 관리를 쉽게 할 수 있는 무선 인터넷용 웹 편집기 및 이를 이용한 편집 방법에 관한 것이다.

    정보산업기술의 발달에 힘입어, 디지털 오디오, 전자상거래, 실시간 비디오 스트리밍(Real Time Video Streaming)과 같은 미래의 음성, 데이터, 비디오 기능 등 첨단기능을 사용할 수 있는 무선 인터넷(Wireless Internet) 접속의 실현이 빠르게 구체화되고 있다. 무선 인터넷이란 이동통신(Mobile Communication)과 인터넷(Internet)의 결합을 통해 개인휴대정보단말기(Personal Digital Assistant; PDA)나 이동 전화기(Cellular Phone)와 같은 이동형 단말기로 인터넷에 접근할 수 있는 환경을 말한다.

    최근에는 무선 인터넷 통신을 원하는 사용자가 증가하면서 각 이동통신업체들은 경쟁적으로 무선 인터넷 서비스를 제공하고 있다. 집 또는 회사 등에서 인터넷 망(Internet Network)으로 접속하는 유선 인터넷은 대용량의 동영상 데이터도 볼 수 있을 정도로 고속화되고 다양해졌지만, 망의 안전성 여부, 보안성 문제, 고급 정보 부재 등의 단점을 안고 있다. 또한, 직업이나 전문적인 목적을 가지고 있는 사용자 외에 일반 사용자들은 얼마간의 인터넷 여행을 하고 나면, 일상적으로 사용하는 아이템(Item)은 고정되어지고 단순히 메일(Mail)이나 증권, 뉴스 정도로 단순해진다.

    인터넷은 무료(無料)라는 인식 때문에 아직까지 인터넷은 수익사업으로 자리 잡지 못하고 있지만, 무선 인터넷은 무선이라는 고비용 자원이라도 이동통신의 휴대성과 나만의 번호를 가지고 언제 어디서나 무선 인터넷 서비스를 받을 수 있다는 개인성의 장점 때문에 관심이 높아지고 있다. 이러한 이동전화 및 관련된 휴대용 무선장비를 통한 웹 컨텐츠(Web Contents) 이용자의 확대는 데이터 통신량의 급격한 증가를 가져올 것이고, 엄청난 국내외적인 무선 접속 수요를 불러일으킬 것이다. 휴대용 무선 장비를 위한 웹 컨텐츠 제공 서비스는 현행 이동전화 서비스뿐만 아니라 차세대 서비스로 일컬어지는 시디엠에이-2000(Code Division Multiple Access-2000; CDMA-2000) 및 아이엠티-2000(International Mobile Telecommunications - 2000; IMT-2000) 서비스와 같은 멀티미디어를 중심으로 하는 통신서비스에서는 필수적인 기능이라 하겠다.

    그러나, 기존의 웹 기반 응용 업무를 지원하기 위한 언어인 HTML(HyperText Markup Language)로서는 제한된 자원을 가진 휴대용 무선장비를 통해 많은 정보를 효율적으로 나타내는 데는 무리가 있다. 현재 무선 인터넷을 주도하는 기술은 무선응용통신규약(Wireless Application Protocol; 이하 'WAP'라 함)이다. WAP는 원래 'Unwired Planet'(현재 'Phone.com'으로 회사명 변경) 이라는 모 벤처기업이 제안하고, 노키아, 에릭슨, 모토로라와 같은 대형 통신 업체들이 지지하고 나서서, 현재는 WAP 포럼(forum)을 결성해서 관리구역을 넓혀가고 있다. 또한, 국내에서는 삼성전자가 'AnyWeb'이라는 순수 국산 기술로 무선 인터넷 서비스를 가능하게 하고 있으며, 일본에서는 'I-mode'라는 'NTTDoCoMo'가 만들어 놓은 독자적인 기술표준이 있다.

    WAP는 현재 사용되고 있는 웹을 기반으로 생성되었기 때문에 전반적으로 웹과 매우 관련이 깊으며 많은 부분에서 유사하다. 웹의 구조는 HTML로 표현되며 웹브라우저(web browser)에 의해 처리된다. 클라이언트(client)에서 사용자가 원하는 데이터 객체를 웹 서버에 요청하면, 웹서버는 표준 포맷을 사용하여 코드화된 데이터로 클라이언트에 응답하게 된다. WAP 프로그래밍 모델은 WAP 응용개발자들에게 편리한 몇 가지 기능을 제공한다. 예를 들어, 사용자에게 익숙한 프로그래밍 모델, 안정된 구조, 그리고 현재 사용되고 있는 도구인 웹서버나 XML(eXtensible Markup Language) 저작 도구 등과의 호환능력 등이 있다.

    한편, 사용자의 입장에서는 제공기술이나 무선통신기기보다 더 관심이 가는 것은 당연히 제공 컨텐츠이다. 유선 인터넷의 화려한 인터페이스(interface)와 넓은 화면을 보다가, 무선 인터넷의 적은 화면에서 버튼으로 작동하려면 불편한 점이 많다. 그러나, 전문 콘텐츠 공급업체(Contents Provider; 이하 'CP'라 함)들은 자체적으로 이러한 불편을 감수하고, 사용하려는 소비자들의 구미에 맞도록 다양한 컨텐츠를 제공하고 있다. 일례로, 'Hansol M.com'에서 제공하는 컨텐츠를 보면 엔터테인먼트, 뉴스/날씨, 교통/예약/여행, 영화/이벤트/공연, 쇼핑/경매/쿠폰,금융/재테크, 취미/레저, 교육/취업, 생활/문화, 여성/성/건강 등 테마별로 다양한 컨텐츠를 제공하고 있고, 셀 방식을 통한 가입자 위치확인 서비스 등의 GIS(Geographic Information System) 서비스도 볼 수 있다. 특히, ME(Mobile Explorer) 환경에 맞도록 일반 사용자들이 손쉽게 무선 웹 사이트(Wireless Web Site; Homepage)를 제작할 수 있도록 무선 인터넷 저작 도구가 제작되어 배포되고 있다.

    그러나, 현재 출시된 제품들의 경우에는, 아직 무선 인터넷 저작 도구에 대한 시장이 미비한 상태에서 개발되어 소스(Source) 수정 등의 고급 사용자에 대한 지원이 미흡하고, 일반 웹 저작 도구에 익숙한 사용자를 배제하여, 아직 시장에 충분한 어필(Appeal)을 하고 있지 못하고 있는 상태이다. 특히, 무선 인터넷 환경을 위한 무선 웹 문서 작성을 위해서는 기존의 무선 인터넷 저작 도구를 이용하여 각각 별도의 웹 문서를 작성하고 있는 실정이다. 예를 들어, 무선 인터넷 웹 문서를 작성하기 위해 사용자는 별개의 도구를 이용하든지, 하나의 도구를 이용하여 각각의 웹 문서를 작성하여야 한다.

    또한, 무선 인터넷 환경은 이동 통신망과 연동하여 서비스가 이루어지므로 각각의 무선 인터넷용 웹 문서를 이동통신망과 연동하여야 하지만, 이동 통신망 사업자가 제공하는 웹 접속 환경이 상이하므로 이동 통신망 사업자별로 무선 인터넷 웹 문서 접속 환경을 별도로 맞추어야 하는 문제점이 있다. 또한, 기존의 무선 인터넷 저작 도구의 언어인 WML(Wireless Markup Language)의 구조를 설명하기 위한 형태로 트리(tree) 형태의 저작 도구가 대부분인데, 이로 인해 기본적으로 WML의구조에 대해 익숙하여야 한다는 문제점과 전체적인 구조를 파악하는데 직관적이지 못하는 단점이 있다. 또한, 소스 편집에 대한 기능을 지원하지 않아, 저 수준의 태그(tag) 속성만 가능할 뿐만 아니라, 고급 사용자의 경우에는 에디터(editor) 형태의 개발을 할 수 없다.

    또한, 무선 인터넷 환경은 이동 통신망과 연동하여 서비스가 이루어지므로 각각의 무선 인터넷용 웹 문서를 이동통신망과 연동하여야 하지만, 이동 통신망 사업자가 제공하는 웹 접속 환경이 상이하므로 이동 통신망 사업자별로 무선 인터넷 웹 문서 접속 환경을 별도로 맞추어야 하는 문제점이 있다.

    따라서, 본 발명은 상기의 문제점을 해결하기 위하여 서로 상이한 이동 통신망과 상이한 무선 인터넷 브라우저에 따른 서로 다른 포맷의 웹 문서를 한번의 편집을 통하여 생성 및 수정할 수 있고, 브라우저 화면과 동일한 인터페이스를 제공함으로서 웹 문서의 구조나 작성을 원활히 할 수 있고, 소스 편집 창을 제공함으로서 고급 사용자에 의한 웹 문서의 수정을 가능하게 하고, 소스 편집 창과 브라우저 화면과 동일한 인터페이스 화면간의 변화가 실시간으로 이루어질 수 있는 무선 인터넷용 웹 문서 편집기 및 이를 이용한 편집 방법을 제공하는데 그 목적이 있다.

    도 1은 본 발명에 따른 무선 인터넷 용 웹 에디터를 설명하기 위한 블록도이다.

    도 2는 본 발명에 따른 무선 인터넷용 웹 에디터의 인터페이스 화면을 나타낸 도면이다.

    도 3은 본 발명에 따른 저장 수단을 설명하기 위한 개념도이다.

    도 4는 본 발명에 따른 무선 인터넷용 웹 에디터의 인터페이스 화면을 바탕으로 웹 문서 편집 수단을 설명하기 위한 도면이다.

    도 5는 본 발명에 따른 웹 문서 편집 수단에서 이루어지는 동작을 설명하기 위한 흐름도이다.

    도 6은 본 발명에 따른 소스 편집 수단과 웹 문서 편집 수단이 실시간으로 연동되는 것을 설명하기 위한 도면이다.

    도 7은 카드 편집창에 카드 생성 또는 속성 변경시의 동작을 설명하기 위한 개념도이고, 도 8은 카드 편집창에 카드 생성 또는 속성 변경시의 동작을 설명하기 위한 흐름도이다.

    도 9는 카드내에 하위 아이템의 생성 또는 속성 변경시의 동작을 설명하기위한 개념도이고, 도 10은 카드내에 하위 아이템의 생성 또는 속성 변경시의 동작을 설명하기 위한 흐름도이다.

    도 11은 이동 통신사 별로 설정된 탭을 이동하였을 때의 소스 편집창의 화면을 나타낸 도면이다.

    도 12는 다른 이동 통신사의 탭을 선택하였을 경우 실시되는 과정을 설명하기 위한 흐름도이다.

    도 13은 본 발명의 소스 편집창을 통해 소스를 생성 및 변경하였을 경우를 설명하기 위한 개념도이다.

    도 14는 본 발명의 소스 편집창 통해 소스를 생성 및 변경하였을 경우를 설명하기 위한 흐름도이다.

    도 15는 본 발명에 따른 소스 편집창의 하이라이트 처리방법을 설명하기 위한 흐름도이다.

    <도면 주요 부호에 대한 설명>

    10 : 도구 모음창12 : 소스 편집창

    14 : 카드 편집창16 : 트리 뷰어창

    100 : 저장 수단200 : 웹 문서 편집 수단

    210 : 오브젝트 생성 및 변경 수단

    220 : 속성 표시 수단230 : 제 1 변환 수단

    300 : 소스 편집 수단320 : 하이라이팅 수단

    310 : 소스 생성 및 변경 수단

    330 : 파싱 수단340 : 제 2 변환 수단

    본 발명에 따른 웹 문서에 관한 정보를 서로 다른 무선 인터넷 언어에서 공통으로 사용하는 공통정보와 각각의 무선 인터넷 언어에서 사용하는 확장 정보로 분리하여 저장하는 저장수단과, 무선 인터넷용 상기 웹 문서를 WYSIWYG방식으로 생성 또는 변경하고 상기 웹 문서에 관련된 정보를 추출 또는 변환하여 공통 정보와 확장 정보를 상기 저장수단에 전송하거나, 상기 저장수단에 저장된 상기 공통 정보와 상기 확장 정보를 통해 상기 웹 문서를 생성 또는 수정하는 웹 문서 편집 수단 및 서로 다른 무선 인터넷용 언어에 해당하는 각기 다른 소스를 생성 또는 변경함으로서 상기 웹 문서를 생성 또는 수정하고 상기 소스를 파싱하여 공통 정보와 확장 정보를 상기 저장수단에 전송하거나, 상기 저장수단에 저장된 상기 공통 정보와 상기 확장 정보를 통해 서로 다른 무선 인터넷용 언어에 해당하는 각기 다른 소스를 생성 또는 수정하는 소스 편집 수단을 포함하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집기를 제공한다.

    웹 문서 편집 수단을 통해 웹 문서를 구성하는 카드를 생성 또는 수정하거나, 하위 아이템을 생성 또는 수정하는 단계와, 상기 생성된 카드 또는 상기 하위 아이템을 활성화한 후 상기 카드 또는 상기 하위 아이템의 속성, 입력데이터 또는 구성관계를 포함하는 정보를 입력받는 단계와, 상기 카드 또는 상기 하위 아이템의 속성, 입력데이터 또는 구성관계에 관한 정보를 무선 인터넷 언어들에서 공통으로 사용하는 공통 정보와 각각의 무선 인터넷 언어에서 사용하는 확장 정보로 변환하여 저장 수단에 저장하는 단계 및 소스 편집 수단을 통해 상기 공통 파일에 저장된 상기 공통 정보와 상기 확장 정보를 이용하여 각 무선 인터넷 언어에 맞게 소스를 생성하는 단계를 포함하는 것을 특징으로 하는 무선 인터넷용 웹 문서 편집 방법을 제공한다.

    소스 편집 수단을 통해 카드 또는 하위 아이템에 해당하는 소스를 생성 또는편집하는 단계와, 상기 생성 및 편집된 소스를 파싱하여 태그 또는 상기 카드 또는 상기 하위 아이템에 해당하는 속성, 구성 및 입력데이터를 포함하는 토큰으로 분리하는 단계와, 상기 분리된 토큰을 무선 인터넷 언어들에서 공통으로 사용하는 공통 정보와 각각의 무선 인터넷 언어에서 사용하는 확장 정보로 변환하여 공통 파일에 저장하는 단계와, 상기 각각의 무선 인터넷 언어에 맞는 소스를 생성하는 단계 및 상기 공통 파일에 저장된 상기 공통 정보와 상기 확장 정보인 상기 카드 또는 상기 하위 아이템에 해당하는 속성, 구성 및 입력데이터를 바탕으로 웹 문서 편집 수단을 통해 상기 카드 또는 상기 하위 아이템을 생성 또는 수정하는 단계를 포함하는 것을 특징으로 � �는 무선 인터넷용 웹 문서 편집 방법을 제공한다.

    이하, 첨부된 도면을 참조하여 본 발명의 실시예를 더욱 상세히 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 도면상에서 동일 부호는 동일한 요소를 지칭한다.

    본 실시예에서는 무선 인터넷 단말기에 보이는 무선 인터넷용 웹 문서의 한 페이지를 하나의 카드로 정의하고, 각 카드 내에는 단말기에 보여지는 다양한 오브젝트들이 존재한다. 또한 카드 자체적으로도 다양한 속성을 가지고 있고, 카드 내부에 존재하는 오브젝트 또한 다양한 속성을 가질 수 있다.

    후술되는 파서(Parser)는 소스에 대한 정의를 만든 사전을 통하여 소스의 구문분석과 이를 해석하는 프로세스를 지칭한다. 또한 토큰은 파서 과정을 통해서 나오는 일련의 문자열을 지칭한다. 구체적으로, 웹 문서의 소스 내용이 '<a btn name = "prev"> 이전 </a>'이라고 하여 파싱 프로세스에 관해 설명하면, 상기 소스를 분석하여 '<a btn>', 'name = "prev"', '이전'과 '</a>'로 각 값들을 변환한다. 이때 변환된 각 문자열이 토큰이 된다. 상기 문자열을, '<a btn>'-> 링크 오브젝트, 'name = "prev"'-> 링크 오브젝트 속성, '이전'-> 링크 오브젝트 속성과 '</a>'-> 링크 오브젝트 끝으로 해석하여 카드 편집창 및 공통 파일을 생성한다.

    도 1은 본 발명에 따른 무선 인터넷 용 웹 에디터를 설명하기 위한 블록도이다.

    도 1을 참조하면, 본 발명의 무선 인터넷 용 웹 에디터는 웹 문서에 관련된 정보를 저장하는 저장 수단(100), 웹 문서를 직접 편집하기 위한 웹 문서 편집 수단(200)과 웹 문서의 소스를 편집하기 위한 소스 편집 수단(300)을 포함하여 이루어진다.

    본 발명의 웹 문서는 웹 문서의 틀을 나타내는 카드, 그 내부에 구성된 하부 아이템과 서로 다른 웹 문서간의 링크를 나타내는 링크부로 구성된다.

    구체적으로, 웹 문서 저장 수단(100)은 웹 문서에 관한 정보를 서로 다른 무선 인터넷 언어에서 공통으로 사용하는 공통정보와 각각의 무선 인터넷 언어에서 사용하는 확장 정보를 저장한다.

    웹 문서 편집 수단(200)은 웹 문서를 구성하는 카드/ 하위 아이템을 생성하기 위한 오브젝트 생성 및 변경 수단(210), 속성 표시 수단(220)을 포함하고, 무선 인터넷용 웹 문서를 WYSIWYG(What You See is What You Get)방식으로 생성 또는 수정을 한다. 오브젝트 생성 및 변경 수단(210)을 통해, 웹 문서를 구성하는 카드 또는 하위 아이템을 생성 또는 변경하고, 이에 관련된 속성을 속성 표시 수단을 통해 입력받는다. 카드 또는 하위 아이템의 생성 또는 변경은 무선 인터넷 단말기에 보일 화면과 동일하게 형성된다.

    제 1 변환 수단(230)을 포함하여 웹 문서 편집 수단(200)에서 생성 또는 수정된 웹 문서에 관한 정보인, 웹 문서에 관련된 속성정보, 웹 문서들의 링크정보, 웹 문서의 전체적인 구성정보와 웹 문서를 이루고 있는 하위 아이템의 구성 정보를 추출하고 이를 서로 다른 무선 인터넷 언어에서 공통으로 사용하는 공통정보와 각각의 무선 인터넷 언어에서 사용하는 확장 정보 형태로 변환하거나, 저장 수단(100)에 저장된 정보(공통 정보 또는 확정 정보)를 웹 문서에 관련된 속성정보, 웹 문서들의 링크정보, 웹 문서의 전체적인 구성정보와 웹 문서를 이루고 있는 하위 아이템의 구성 정보로 변환한다.

    소스 편집 수단(300)은 하이라이팅 처리 수단(320), 파싱 수단(330) 및 소스 생성 및 변경 수단(310)을 포함하고, 서로 다른 무선 인터넷용 언어에 해당하는 각기 다른 소스를 생성 또는 수정함으로서 웹 문서를 생성 또는 수정한다. 제 2 변환 수단(340)을 포함하여 소스 편집 수단(300)에서 생성 또는 수정된 소스를 파싱 수단(330)을 통해 파싱하여 웹 문서에 관련된 속성정보, 웹 문서들의 링크정보, 웹 문서의 전체적인 구성정보와 웹 문서를 이루고 있는 하위 아이템의 구성 정보를 추출하고 이를 서로 다른 무선 인터넷 언어에서 공통으로 사용하는 공통정보와 각각의 무선 인터넷 언어에서 사용하는 확장 정보 형태로 변환하거나, 저장 수단(100)에 저장된 정보(공통 정보 또는 확정 정보)를 이용하여 무선 인터넷 언어에서 사용하는 소스로 변경한다.

    이하 본 발명의 인터페이스 화면을 예를 들어 구체적으로 설명하기로 한다. 이하의 인터페이스 화면은 웹 문서 편집 수단(200), 소스 편집 수단(300)과 저장 수단(100)을 전체 표시한 것이 아니라 이들의 동작을 설명하기 위한 것으로 이에 한정되지 않고 다양한 형태로 구현 될 수 있다.

    도 2는 본 발명에 따른 무선 인터넷용 웹 에디터의 인터페이스 화면을 나타낸 도면이다.

    도 2를 참조하면, 본 발명의 무선 인터넷용 웹 에디터의 화면은 웹 문서 편집 수단(200)에 포함되는 도구모음창(10), 카드 편집창(14) 및 트리 뷰어창(16)을 포함하고, 소스 편집 수단(300)에 포함되는 소스 편집창(12)을 포함하여 이루어진다. 또한 미도시된 저장 수단(100)에 포함되는 공통 파일을 포함한다.

    도구모음창(10)은 무선 인터넷용 웹 에디터의 속성, 화면구성 및 실행에 관련된 기능 설정을 할 수 있는 많은 도구들을 포함하고, 자주 사용하는 오프젝트 모음이나 메뉴를 포함한다.

    소스 편집창(12)은 웹 문서의 소스{WML, MHTML, cHTML}가 전부 표시되어 직접 소스를 수정할 수 있도록 한다. 소스 편집창(12)의 구체적인 기능은 모든 망 사업자를 지원하는 소스 편집 기능을 제공하고, 무선 인터넷 언어별 하이라이트 기능을 지원하고, 무선 인터넷 스크립트 언어별 하이라이트 기능을 지원하여 소스 편집을 용이하게 할 수 있다. 즉, 편집창 내에는 소스편집을 쉽고 원활히 하기 위해 라인 번호를 두고, 각 테그와 속성을 색깔별로 분류하여 나타낸다. 또한 각 이동 통신사(무선 인터넷 서비스 사업자)별로 별도의 탭을 두어 탭의 이동시 마다, 이동 통신사에서 제공하는 무선 웹 브라우저에 맞는 소스(WAP, ME 및 I-MODE)로 현재 작업 중인 소스가 변환된다. 소스 편집창(12)에 보이는 소스는 카드 편집창(14)에서 선택된 카드화면이거나, 트리 뷰어 창에서 선택된 카드목록이다. 소스 편집창에서 생성 또는 편집된 소스를 파싱하여 이를 토큰 분리하고, 공통된 정보와 확장 정보로 분할한다.

    카드 편집창(14)은 사용자가 웹 문서 작성을 위한 마크업 언어를 모르더라도 쉽게 웹 페이지를 WYSIWYG 방식으로 웹 문서를 작성 할 수 있도록 카드를 제공한다. 각 카드는 무선 인터넷 단말기(핸드폰의 한 화면)에 나타날 하나의 웹 문서가 되고, 그 화면내에 별도의 소스 입력 없이 일반적인 문서 작성과 동일한 양식으로 쉽게 카드의 내용을 작성할 수 있다. 카드 편집창(14)은 서로 다른 카드의 연결 관계(하이퍼링크)가 표시되어 있어서, 전체적인 웹 문서의 구조 파악이 쉽도록 하였다. 또한 카드는 텍스트 외의 다양한 오브젝트를 포함할 수 있고, 유선 웹에서 사용하는 다양한 스크립트도 포함할 수 있다. 카드 속성을 바로 입력 받을 수 있는 속성 윈도우 창을 포함하여 카드 또는 하위 아이템에 관련된 속성을 입력받고, 이러한 속성을 각 무선 인터넷 언어에서 사용할 수 있는 확장 정보와 공통 정보로 분할한다. 트리 뷰어창(16)은 카드 및 카드 내의 각 오브젝트를 쉽게 관리하기 위해 오브젝트의 구조를 트리형태로 나타낸다. 이는 카드 편집창(14)에서 만든 순서대로 나열되고, 카드의 명칭이 최 상단에 위치하고, 내부의 오브젝트가 설정한 순서대로하단부에 위치한다.

    또한, 본 발명의 무선 인터넷용 웹 에디터는 따로 존재하거나 도구모음창(10)에 속할 수 있는 기능을 갖고 있으며, 다양한 오브젝트를 포함하는 오프젝트 윈도우를 더 포함할 수 있다.

    본 발명의 무선 인터넷용 웹 에디터는 크게 두가지 방법으로 웹 문서(카드)를 작성하는데, 카드 편집창(14)에서 카드 에디터를 이용하여 WYSIWYG방식으로 문서를 작성하는 방법과 소스 편집창(12)에서 직접 HTML 또는 WML 태그를 입력하여 작성한다. 이때 카드 편집창(14)에서 수정된 내용은 실시간으로 소스 편집창(12)에 반영되고, 이와 반대로 소스 편집창(12)에서 수정된 내용 또한 실시간으로 카드 편집창(14)에 반영된다. 즉, 제작된 카드에 대해 자동으로 소스를 생성하며 소스 편집창(12)에 표시함으로서 카드 편집창(14)에서 쉽게 화면을 구성한 다음 소스 편집창(12)에서 간단한 편집 작업이 가능하다.

    도 3은 본 발명에 따른 저장 수단을 설명하기 위한 개념도이다.

    도 3을 참조하면, 저장 수단(100)에 포함된 공통 파일의 구성을 살펴보면 카드 속성과 하위 아이템의 속성으로 나뉘고, 카드 속성 내에는 카드의 속성, 카드의 연결관계 및 하위 아이템의 구성이 저장되어 있으며, 하위 아이템 속성 내에는 하위 아이템의 오브젝트의 속성이 소스 편집창(12)의 탭 순서대로 저장되어 있다.

    공통파일은 웹 문서 편집 수단(200)과 소스 편집 수단(300)을 통해 생성 또는 변경된 카드의 속성, 구성, 카드의 연결관계, 하위 아이템의 속성을 저장하고 있다. 변경된 내용을 각 창에 반영시 공통파일에 저장된 내용을 참조하게 된다. 공통파일은 압축되어 있어서 필요시에 압출을 풀어 데이터를 입력하거나 출력한다.

    구체적으로, 각 카드별로 'TITLE', 'NEWCONTEXT', 'ONTIMERLINK', 'ONTIMERTIME', 'ONENTERFORWARD' 및 'ONENTERBACKWARD'와 같은 카드의 속성을 저장하고 있고, 'PREV', 'PREV_URL', 'NEXT' 및 'NEXT_URL'과 같은 카드의 연결 관계에 관한 정보를 저장하고 있으며, 'TEXT1', 'TEXT2', 'TEXT3', 'IMAGE1' 및 'LIST1'과 같은 카드내의 하위 아이템의 구성에 관한 정보를 저장하고 있다.

    각 하위 아이템의 오브젝트 속성을 각 이동 통신사별로 저장하고 있다. 예를 들어 하위 아이템이 이미지일('[IMAGE1] ')경우 'SKT URL = D:\Mirage\Mirage\Project\프로젝트19\image\2C\any1.wbmp', 'KTP URL = D:\Mirage\Mirage\Project\프로젝트19\image\256C\any1.gif', 'LGT URL = D:\Mirage\Mirage\Project\프로젝트19\image\2C\any1.wbmp'와 'NTT URL = D:\Mirage\Mirage\Project\프로젝트19\image\256C\any1.gif'처럼 각 통신사에 해당하는 이미지의 형태와 위치와 같은 속성을 저장하고 있다. 이때 저장되는 속성은 각 언어 계열을 통합하는 공통 속성 뿐만아니라 개개의 언어에 따른 확장 속성까지 함께 저장된다.

    <웹 문서 편집 수단>

    도 4는 본 발명에 따른 무선 인터넷용 웹 에디터의 인터페이스 화면을 바탕으로 웹 문서 편집 수단을 설명하기 위한 도면이다.

    도 4를 참조하면, 카드 편집창(14)에서는 카드의 생성과 수정 및, 카드의 속성 및 카드내의 하위 아이템의 오브젝트 속성 등을 추가, 수정 및 삭제를 쉽게 할수 있다. 또한, 카드간의 링크 관계가 표시되어 있어 하이퍼링크를 쉽게 연결하거나 연결설정을 조정할 수 있다. 즉, 카드 편집창(14)은 카드 편집을 위해 WYSWYG 형태의 편리한 편집을 지원하고, 무선 인터넷에 익숙하지 않은 초보자라도 쉽게 오브젝트(카드 및 하위 아이템)를 선택하여 카드를 편집할 수 있다. 즉, 일반적으로 사용되는 하위 아이템의 오브젝트를 모아 놓은 오브젝트 윈도우 화면을 두어 카드내에 쉽게 하위 아이템을 추가 및 편집할 수 있고, 새로이 생성한 하위 아이템의 오브젝트 또는 카드에 대한 속성 처리를 속성 윈도우 화면을 제시하여 쉽게 처리할 수 있다.

    카드 화면은 크게 외부에 보여지는 전체적인 카드화면 내에 하위 아이템의 오브젝트들이 형성되는 오브젝트 영역과, 링크를 설정할 수 있는 영역으로 크게 구분된다.

    오브젝트 윈도우 화면은 마우스 포인터, 새카드, 텍스트 상자, 이미지, 옵션버튼, 특수문자, 링크, 스크립트 및 드레그 앤 드롭 등과 같은 다양한 종류의 컨트롤이 아이콘화 되어 있다. 속성 윈도우 화면은 오브젝트 윈도우 화면에서 선택한 컨트롤 또는 직접 입력한 하위 아이템의 오브젝트 속성 설정에 관한 내용을 입력할 수 있도록 되어 있다.

    도 5는 본 발명에 따른 웹 문서 편집 수단에서 이루어지는 동작을 설명하기 위한 흐름도이다.

    도 5를 참조하면, 웹 문서 편집 수단(200)에서 카드 또는 하위 아이템의 오브젝트 추가, 수정 및 삭제와 같은 작업을 실시하여 카드 편집 작업을실시한다(S10). 편집 작업이 카드에 대한 작업인지 카드 내의 하위 아이템의 오브젝트에 대한 작업인지 판단한다(S12).

    카드 변경일 경우, 카드의 추가, 삭제 및 속성을 변경한다(S14). 구체적으로, 카드 추가는 카드 속성을 정의하는 속성 파일을 생성한 다음 기본적인 속성값을 적용하고 저장수단에 이를 저장한다. 저장수단에 저장된 속성 값을 이용하여 카드에 대한 소스를 소스 편집 수단(300)을 통해에 새로이 로드하며, 카드에 대한 정보를 트리 뷰어창에 표시한다. 카드 삭제는 웹 문서 편집 수단(200)에서 작성되고 있는 카드를 삭제하고, 저장수단에 저장된 카드 정보를 제거하고, 소스 편집 수단(300)에 로드된 카드 소스를 언로드하며, 카드에 대한 정보를 트리 뷰어창에서 제거한다. 카드 속성 변경은 웹 문서 편집 수단(200)을 통해 카드의 속성을 변경하고, 저장 수단(100)에 저장된 카드 정보를 변경하고, 소스 편집 수단(300)에 로드된 카드 소스를 재설정하고, 카드에 대한 변경 정보를 트리 뷰어창에 재설정한다.

    하위 아이템의 오브젝트 변경일 경우 오브젝트의 추가, 삭제 및 속성을 변경한다(S16). 구체적으로, 하위 아이템의 오브젝트 추가는 웹 문서 편집 수단(200)을 통해 카드내에 하위 아이템을 생성하고, 오브젝트 속성을 정의하는 속성 파일을 저장 수단(100)내에 생성한 다음 기본적인 속성값을 정의하여 카드 속성버퍼와 연결하고, 오브젝트 속성 소스를 소스 편집 수단(300)에 추가하며, 오브젝트 정보를 트리 뷰어창에 나타낸다. 하위 아이템의 오브젝트 삭제는 웹 문서 편집 수단(200)에서 해당 오브젝트를 제거하고, 오브젝트 속성을 정의하는 배열을 저장 수단(100)내에서 제거하고, 소스 편집 수단(300)에서 해당 오브젝트 속성 부분을 제거하며, 오브젝트 정보를 트리 뷰어창에서 제거한다. 하위 아이템의 오브젝트 속성변경은 웹 문서 편집 수단(200)에 하위 아이템의 속성변경을 반영하고, 저장 수단(100)내의 오브젝트 속성을 정의하는 배열에서 속성을 수정하고, 소스 편집 수단(300)에서 해당 오브젝트 속성 부분을 수정하여 재설정하며, 오브젝트 정보를 트리 구조창에서 재설정한다.

    도 6은 본 발명에 따른 소스 편집 수단과 웹 문서 편집 수단이 실시간으로 연동되는 것을 설명하기 위한 도면이다.

    도 6을 참조하면, 소스 편집 수단(300)이나, 웹 문서 편집 수단(200)을 통해 웹 문서를 편집하게 되면, 편집된 내용이 두 곳에 동시에 반영된다. 즉, 소스 편집 수단(300)에서 태그와 함께 문자를 입력하게 되면, 웹 문서 내에 소스 편집 수단(300)에 입력된 문자가 태그 속성에 맞게 표시(입력)된다. 또한, 웹 문서 편집 수단(200)을 통해 웹 문서 내에 문자를 입력하고 문자 속성을 주게 되면, 소스 편집 수단(300)에 입력한 문자와 함께 속성에 관련된 태그가 입력(생성)된다.

    예컨대, 카드 내에 하위 아이템의 오브젝트로 텍스트 문자와 입력 박스를 다음과 같이 형성하였을 경우,

    "소스에서 변경되는 내용이

    카드 편집창에 반영되는 부분입니다."라고 텍스트 문자를 입력하고, 그 하부에 텍스트를 입력 받을 수 있는 상자를 생성하였다면(도 6 참조), 웹 문서 편집 수단(200)을 통해 변경된 내용이 공통 파일에 저장되고, 변경된 카드, 하위 아이템의 오브젝트의 속성에 해당하는 값들을 변환하여 소스 편집창(12)에 다음과 같이 표시한다.

    <? xml version = "1.0" encoding = "KS_C_5601-1987"?>

    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "">

    <wml>

    <card name = "card1_edit">

    <p>소스에서 변경되는 내용이</p>

    <p>카드 편집창에 반영되는 부분입니다.</p>

    <input type = "text" name = "input" format = "", value = "입력" emptyok = "" maxlength = "10" size=""/>

    </card>

    </wml>과 같이 텍스트는 텍스트에 맞게 변환되고, 텍스트 입력 상자는 상자의 속성에 관련된 부분들이 소스로 변환되어 소스 편집창(12)에 표시된다. 한편, 이와 반대로 소스 편집창(12)에서 상기와 같은 소스 코드를 작성하거나, 편집하게 되면 그에 따른 텍스트 문서와 텍스트를 입력받을 수 있는 상자가 카드 편집창(14)에 형성되게 된다.

    카드 편집창(14)을 편집하였을 경우에 대해서 흐름도와 그에 따른 구체적인 프로그램을 참조하여 설명하기로 한다.

    도 7은 카드 편집창에 카드 생성 또는 속성 변경시의 동작을 설명하기 위한 개념도이고, 도 8은 카드 편집창에 카드 생성 또는 속성 변경시의 동작을 설명하기 위한 흐름도이다.

    도 7 및 도 8을 참조하면, 오브젝트 윈도우 창의 카드 생성 아이콘을 선택후 카드 편집창(14)을 클릭하여 새로운 카드를 생성하는 것인지, 카드 편집창(14) 내에 위치하는 카드를 선택하여 카드의 속성을 변경하는지를 판단한다(S70).

    카드 생성일 경우, 카드 편집창(14) 내에 새로운 카드의 기본적인 오브젝트 속성을 생성하고, 마우스가 클릭한 위치에 카드를 생성한다(S72). 생성된 카드를 활성화 하고(S74), 카드 속성을 입력받기 위한 화면을 디스플레이 한다(S76). 카드에 관한 속성을 입력받고, 생성된 카드의 오브젝트 속성에 관련된 값들을 공통 파일에 저장한다(S78).

    카드 변경일 경우, 마우스 클릭을 통하여 변경할 카드를 활성화하고(S80), 속성 입력창을 디스플레이 한다(S82). 속성 입력창을 통해 카드의 속성을 변경하거나 키 입력을 통하여 카드에 관련된 오브젝트 속성을 변경한다(S84). 변경된 내용의 값들을 공통 파일에 저장한다(S86).

    상술한 바와 같이 카드의 생성이나 변경을 통해 공통 파일이 변경되면, 변경된 내용을 소스 편집창(12)과 트리 뷰어창(16)에 반영한다.

    변경된 공통 파일에 저장된 값을 통하여 각 속성에 해당하는 공통 소스를 생성하고(S88), 이를 바탕으로 각 탭(이동 통신사)별로 서로 다른 언어의 소스를 생성한다(S90)(도 6 참조). 공통 파일에 변화된 속성값에 따라 트리 뷰어창(16)에 나타난 속성을 변경한다(S92).

    구체적으로, 오브젝트 윈도우 창에서 카드 생성 선택후 카드 편집창(14)을 클릭하였을 경우, 크리에이트 카드(CreatCard())라는 함수를 호출하여 카드 오브젝트를 생성하고, 공통 파일에 카드 아이디(ID) 값과 카드 속성 값을 저장하며, 생성된 카드를 활성화한다.

    크리에이트 카드라는 함수는 카드의 생성과 속성 변경을 담당하고, 현재의 마우스 위치를 판단하여 카드 속성 오브젝트를 생성한다. 또한, 카드 속성 오브젝트 안에 필요한 오브젝트 영역을 생성하고, 카드 구분을 위한 라인, 타이틀 및 링크영역을 형성한다. 카드 편집창(14) 내에 형성된 카드 중 어떠한 카드가 선택되었는지 알려주고 이를 처리하는 카드 에디트 마우스 다운(CardEdit_MouseDown)이라는 함수를 포함한다. 오브젝트 선택시 키입력을 판단하여 알려주고 이를 처리하는 카드 에디트 키 다운(CardEdit_KeyDown)과 카드 에디트 키 업(CardEdit_KeyUp)이라는 함수를 포함한다. 글자의 속성 또는 파라의 속성이 변경을 알려주어 이를 처리하는 카드 에디트 텍스트 스타일 체인지드(CardEdit_TextStyleChanged)와 카드 에디트 텍스트 파라 스타일 체인지드(CardEdit_ParaStyleChanged)라는 함수를 포함한다. 카드 내용에 변화가 발생하였을때 알려주고 이를 처리하는 카드 에디트 체인지(CardEdit_Change)라는 함수를 포함한다. 마우스에 의해 카드가 이동하였을 경우 이를 처리 하는 카드 에디트 마우스 무브(CardEdit_MouseMove)라는 함수를 포함한다. 또한, 라이트스트링(WriteString()) 함수를 호출하여 공통파일에 카드의 아이디(ID)와 초기속성을 입력하게 된다. 트리뷰 아이템 에드(TreeView.Item.Add())라는 함수를 호출하여 트리 뷰어창에 카드 노드를 삽입한다.

    크리에이트 카드 함수내의 중요 프로그램 소스이다.

    새로운 카드 오브젝트를 생성하기 위한 프로그램 소스이다.

    TPanel.Create(Self).Name := card_name;

    with TPanel(FindComponent(card_name)) do

    begin

    Parent := ParentControl;

    Width := 132;

    Height := 168;

    Bevelouter := bvNone;

    Left := CardBox.ScreenToClient(Position).x;

    Top := CardBox.ScreenToClient(Position).y;

    end;

    마우스의 현재 포인트 위치를 판단한 다음 위치의 값을 가지고 카드의 오브젝트를 형성한다.

    카드에 변화가 발생하였는지를 판단하여 그에 해당하는 함수를 호출하기 위한 프로그램 소스이다.

    OnRVMouseDown := CardEdit_MouseDown;

    OnKeyDown := CardEdit_KeyDown;

    OnKeyUp := CardEdit_KeyUp;

    OnCurTextStyleChanged := CardEdit_TextStyleChanged;

    OnCurParaStyleChanged := CardEdit_ParaStyleChanged;

    OnChange := CardEdit_Change;

    OnMouseMove := CardEdit_MouseMove;

    마우스에 의해 카드가 선택된 것인지, 오브젝트가 키입력에 의해 선택된 것인지, 글자나 기타 속성들이 변경된 것인지, 카드 내부에 변화가 발생한것인지 또는 카드가 이동했는지를 알려준다.

    공통 파일에 카드의 아이디와 초기속성을 입력하기 위한 프로그램 소스이다.

    Project_ini.WriteString(card_name,'TITLE','');

    Project_ini.WriteString(card_name,'NEWCONTEXT','TRUE');

    Project_ini.WriteString(card_name,'ONTIMERLINK','');

    Project_ini.WriteString(card_name,'ONTIMERTIME','0');

    Project_ini.WriteString(card_name,'ONENTERFORWARD','');

    Project_ini.WriteString(card_name,'ONENTERBACKWARD','');

    Project_ini.WriteString(card_name,'PREV',' 이전');

    Project_ini.WriteString(card_name,'PREV_URL','');

    Project_ini.WriteString(card_name,'NEXT',' 확인');

    Project_ini.WriteString(card_name,'NEXT_URL','');

    프로젝트 아이엔아이의 라이트 스트링 함수(Project_ini.WriteString())를 이용하여 생성된 카드의 기본적인 속성들을 공통 파일에 저장한다.

    카드 편집창(14) 내에 카드를 선택하였을 경우 발생하는 이벤트를 이용하여 카드 에디트 마우스다운(CardEdit_MouseDown()), 카드 에디트 마우스업(CardEdit_MouseUp()), 카드 에디트 키 다운CardEdit_KeyDown()) 또는 카드 에디트 키업 함수(CardEdit_KeyUp())를 호출하여 현 카드나 하위 오브젝트를 활성 링크 오브젝트(Active Link Object)를 통해 카드를 연결한다. 카드 안의 내용이 변경 되었을 경우는 카드 에디트 체인지 함수(CardEdit_Change())를 호출하여 변경된 내용을 공통 파일에 저장하고, 만인 속성 입력창에서 속성을 수정하였을 경우는 셋 프로퍼티 카드 함수(SetPorpertyCard())를 호출하여 수정된 카드의 속성을 공통 파일에 저장한다.

    다음은 카드안의 내용이 변경되었을 경우 실행되는 프로그램의 소스이다.

    procedure TMainForm.CardEdit_Change(Sender: TObject);

    line := 1;

    cnt := TRichViewEdit(Active_Card).LineCount;

    For i := 0 to cnt-1 do

    begin

    case TRichViewEdit(Active_Card).GetItemStyle(i) of

    rvsComponent:

    begin

    TRichViewEdit(Active_Card).GetControlInfo(i,str,ctrl,VAlign,Tag);

    Project_ini.WriteString(Active_Name,IntToStr(line),ctrl.Name);

    line := line + 1;

    end;

    0:

    begin

    TRichViewEdit(Active_Card).GetTextInfo(i,str,Tag);

    str := RVU_UnicodeToAnsi(CP_ACP, str);

    Text_String := Text_String + str;

    Text_Cnt := Text_Cnt + 1;

    Project_ini.WriteString(Active_Name,IntToStr(line),'Text'+IntToStr(Text_Cnt));

    Text_String := '';

    line := line + 1;

    end

    else

    begin

    TRichViewEdit(Active_Card).GetTextInfo(i,str,Tag);

    str := RVU_UnicodeToAnsi(CP_ACP, str);

    Text_String := Text_String + str;

    end;

    end;

    end;

    카드안에 변경된 내용이 카드의 속성인지, 하위 아이템에 대한 변경인지 또는 기타 속성이 변경되었는지를 판단한 후 프로젝트 아이엔아이의 라이트 스트링 함수를 이용하여 공통 파일에 변경된 내용을 저장한다.

    상기의 프로젝트 아이엔아이의 라이트 스트링 함수는 공통 파일에 속성을 입력하는 함수이고, 프로젝트 아이엔아이의 라이트 스트링 함수는 공통 파일에서 속성을 가지고 오는 함수이다. 프로젝트 아이엔아이는 공통 파일 핸들러 이고, 함수의 표현 양식은 'Project_ini.WriteString([대구분], [속성], [값])'또는, 'Project_ini.WriteRea야ng([대구분], [속성], [값])'와 같이 표현되고, 이때 '대분류'는 현재 활성화된 카드 또는 하위 아이템을 나타내고, '속성'은 활성화된 카드 또는 하위 아이템의 속성의 명칭을 나타내고, '값'은 상기 속성에 해당하는 정보를 나타낸다.

    본 발명에서는 카드 프로퍼티를 이용하여 카드 속성을 변경할 경우 이를 판별하여 공통 파일에 카드에 대한 속성을 저장하게 된다. 다음은 카드의 속성이 변경되었을 경우 실행되는 프로그램 소스이다.

    Procedure TPropertyForm.SetCardProperty;

    begin

    if MainForm.Active_Name <> ' ' then

    begin

    MainForm.Project_Ini.WriteString(ManiForm.Active_Name, 'TITLE', BasicFrame1.CardTitle.Text);

    MainForm.Project_Ini.WriteString(ManiForm.Active_Name, 'NEWCONTEXT',BasicFrame1.CardNewContext.Text);

    MainForm.Project_Ini.WriteString(ManiForm.Active_Name, 'ONTIMERLINK', BasicFrame1.CardOnTimerLink.Text);

    MainForm.Project_Ini.WriteString(ManiForm.Active_Name, 'ONTIMERTIME', BasicFrame1.CardOnTimerTime.Text);

    MainForm.Project_Ini.WriteString(ManiForm.Active_Name, 'ONENTERFORWARD', ExtendFrame1.CardOnEnterForward.Text);

    MainForm.Project_Ini.WriteString(ManiForm.Active_Name, 'ONENTERBACKWARD', ExtendFrame1.CardOnEnterBackward.Text);

    end;

    end;

    카드의 속성이 변경 되었는지를 판단한 다음, 카드 속성을 변경된 내용과 함께 프로젝트 아이엔아이 라이트 스트링함수를 이용하여 공통 파일에 저장한다.

    카드 윈도우 안에 오브젝트가 생성 또는 변경되거나 그에 대한 속성이 변경되었을 경우 카드 에디트 체인지(CardEdit_Change)함수가 수행되어 공통 파일에 이를 저장하고, 저장된 내용을 소스 편집창(12)과 트리 뷰어창(16)에 반영한다.

    체이지 이벤트가 발생하면 카드 에디트 투 소스(CardEdit_ToSource())함수는 공통 파일을 읽어 오브젝트 내용과 속성을 가지고 소스를 생성한다. 이때, 서로 다른 이동 통신사에서 사용하는 언어 별로 각기 다른 소스를 생성한다.

    구체적으로, 프로젝트 아이엔아인의 리드 스트링(Project_ini.ReadString())을 이용하여 공통파일에 저장되어 있는 카드의 속성을 가져와서 SKT, KTF, LGT 및 NTT각각의 이동통신사에서 사용하는 언어에 맞는 소스를 생성한다.

    다음은 카드 에디트 투 소스 중 공통 파일에서 카드의 속성을 가져와서 카드의 헤더부분을 생성하기 위한 프로그램의 소스이다.

    CardTitle := Project_ini.ReadString(CardName,'TITLE',temp);

    CardNewContext := Project_ini.ReadString(CardName,'NEWCONTEXT',temp);

    CardOnTimerLink := Project_ini.ReadString(CardName,'ONTIMERLINK',temp);

    CardOnTimerTime := Project_ini.ReadString(CardName,'ONTIMERTIME',temp);

    CardOnEnterForward := Project_ini.ReadString(CardName,'ONENTERFORWARD',temp);

    CardOnEnterBackward := Project_ini.ReadString(CardName,'ONENTERBACKWARD',temp);

    if Project_Ext = 'ASP' then

    begin

    SKTEditor.Text := SKTEditor.Text + '<% Response.ContentType="text/vnd.wap.wml" %>'+#13#10;

    KTFEditor.Text := KTFEditor.Text + '<% Response.ContentType="text/html" %>'+#13#10;

    LGTEditor.Text := LGTEditor.Text + '<% Response.ContentType="text/vnd.wap.wml" %>'+#13#10;

    NTTEditor.Text := NTTEditor.Text + '<% Response.ContentType="text/html" %>'+#13#10;

    end;

    SKTEditor.Text := SKTEditor.Text + '<?xml version="1.0" encoding="KS_C_5601-1987"?>'+#13#10;

    SKTEditor.Text := SKTEditor.Text + '<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'+#13#10;

    SKTEditor.Text := SKTEditor.Text + '<wml>'+#13#10;

    SKTEditor.Text := SKTEditor.Text + '<head>'+#13#10;

    SKTEditor.Text := SKTEditor.Text + '<meta http-equiv="Cache-Control" content="max-age=0" forua="true"/>'+#13#10;

    SKTEditor.Text := SKTEditor.Text + '</head>'+#13#10;

    SKTEditor.Text := SKTEditor.Text + '<card id = "'+CardName+'" title = "' + CardTitle + '" NewContext = "' + CardNewContext + '" OnTimer = "' + CardOnTimerLink + '" OnEnterForward = "' + CardOnEnterForward + '" OnEnterBackward = "' + CardOnEnterBackward + '">'+#13#10;

    KTFEditor.Text := KTFEditor.Text + '<mhtml>'+#13#10;

    KTFEditor.Text := KTFEditor.Text + '<head>'+#13#10;

    KTFEditor.Text := KTFEditor.Text + '<meta http-equiv="Content-Type"content="text/html; charset=euc-kr">'+#13#10;

    KTFEditor.Text := KTFEditor.Text + '<meta forua="true" http-equiv="Cache-Control" content="no-cache"/>'+#13#10;

    KTFEditor.Text := KTFEditor.Text + '<meta forua="true" http-equiv="Cache-Control" content="max-age=0"/>'+#13#10;

    KTFEditor.Text := KTFEditor.Text + '<meta forua="true" http-equiv="Cache-Control" content="must-revalidate"/>'+#13#10;

    KTFEditor.Text := KTFEditor.Text + '</head>'+#13#10;

    LGTEditor.Text := LGTEditor.Text + '<?xml version="1.0" encoding="KS_C_5601-1987"?>'+#13#10;

    LGTEditor.Text := LGTEditor.Text + '<!DOCTYPE wml PUBLIC "-//PHONE.COM//DTD WML 1.1//EN" "http://www.phone.com/dtd/wml11.dtd">'+#13#10;

    LGTEditor.Text := LGTEditor.Text + '<wml>'+#13#10;

    LGTEditor.Text := LGTEditor.Text + '<head>'+#13#10;

    LGTEditor.Text := LGTEditor.Text + '<meta http-equiv="Cache-Control" content="max-age=0" forua="true"/>'+#13#10;

    LGTEditor.Text := LGTEditor.Text + '</head>'+#13#10;

    LGTEditor.Text := LGTEditor.Text + '<card id = "'+CardName+'" title = "' + CardTitle + '" NewContext = "' + CardNewContext + '" OnTimer = "' +CardOnTimerLink + '" OnEnterForward = "' + CardOnEnterForward + '" OnEnterBackward = "' + CardOnEnterBackward + '">'+#13#10;

    NTTEditor.Text := NTTEditor.Text + '<html>'+#13#10;

    NTTEditor.Text := NTTEditor.Text + '<head>'+#13#10;

    NTTEditor.Text := NTTEditor.Text + '<meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS">'+#13#10;

    NTTEditor.Text := NTTEditor.Text + '</head>'+#13#10;

    NTTEditor.Text := NTTEditor.Text + '<body>'+#13#10;

    먼저, 리드 스트링을 이용하여 공통 파일로부터 현재 활성화 되어 있는 카드에 해당하는 속성인 'TITLE', 'NEWCONTEXT', 'ONTIMERLINK', 'ONTIMETIME', 'ONENTERFORWARD'과 'ONENTERBACKWARD'를 가지고 온다. 속성값들을 SKT 에디터의 텍스트, KTF 에디터의 텍스트, LGT 에디터의 텍스트와 NTT 에디터의 텍스트를 이용하여 각 통신사에서 사용하는 언어계열에 맞는 소스 파일을 생성한다. 또는 카드 생성시에는 WML언어 계열의 소스를 생성할 수 있는 SKT 소스 크리에이트(SKTSource_Create()) 함수와 LGT 소스 크리에이트(LGTSource_Create()) 함수, HTML언어 계열의 소스를 생성할 수 있는 KTF 소스 크리에이트(KTFSource_Create()) 함수 와 NTT 소스 크리에이트(NTTSource_Create()) 함수를 이용하여, 각 언어에 해당하는 기본 소스를 생성한다.

    또한 디스플레이 트리(DisplayTree())함수를 이용하여 공통 파일내에 변경된오브젝트의 값을 가지고와서 트리 뷰어창(16)에 이를 표시한다.

    상술한 바와 같이 카드의 생성 및 속성의 변경시 발생하는 프로세스를 도 7를 참조하여 구체적인 예를 들어 설명하면 다음과 같다. 도 7에서와 같이 새로운 카드를 생성하게 되면, 크리에이트 카드함수의 'Project_ini.WriteString (card_name,'TITLE','');'에 의해 공통 파일 내에 카드 속성인 타이들이 형성되고 초기에는 아무런 텍스트가 입력되지 않는다. 이때, 카드의 타이틀을 'MAIN CARD'로 수정하게 되면, 셋 카드 프로퍼티 함수의 'MainForm.Project_Ini.WriteString (ManiForm.Active_Name, 'TITLE', BasicFrame1.CardTitle.Text);'에 의해 공통 파일 내에 카드 속성인 타이들이 'MAIN CARD'라는 텍스트로 바뀌게 된다.

    공통 파일에 변화가 생기게 되면 카드 에디트 투 소스 함수의 'CardTitle := Project_ini.ReadString(CardName,'TITLE',temp);'을 통해 공통 파일에서 변경된 타이틀 텍스트를 가지고 와서, 4개의 소스를 생성하게 된다. 처음 카드 생성시에는 텍스트에 아무런 텍스트가 없기 때문에, 'SKTEditor.Text := SKTEditor.Text + '<card id = "'+CardName+'" title = "' + CardTitle + '" NewContext = "' + CardNewContext + '" OnTimer = "' + CardOnTimerLink + '" OnEnterForward = "' + CardOnEnterForward + '" OnEnterBackward = "' + CardOnEnterBackward + '">'+#13#10;'에 의해 소스창에 '<card id = 'CARD1' title = " " NewContext = "FALSE" OnTimer = " " OnEnterForward = " " OnEnterBackward = " ">에 표시된다. 이때 타이들의 속성이 'MAIN CARD'로 바뀌게 되면, 카드 에디트 투 소스 함수에 의해 소스창에 '<card id = 'CARD1' title = "MAIN CARD" NewContext = "FALSE"OnTimer = " " OnEnterForward = " " OnEnterBackward = " ">와 같이 표시되어 타이들 내의 속성이 바뀌게 된다.

    카드내에 하위 아이템을 생성 및 수정하였을 경우에 대해서 흐름도와 그에 따른 구체적인 프로그램을 참조하여 설명하기로 한다.

    도 9는 카드내에 하위 아이템의 생성 또는 속성 변경시의 동작을 설명하기 위한 개념도이고, 도 10은 카드내에 하위 아이템의 생성 또는 속성 변경시의 동작을 설명하기 위한 흐름도이다.

    도 9 및 도 10을 참조하면, 하위 아이템을 생성하거나, 하위 아이템의 속성 변경을 수행할 카드를 선택하여 활성화한다(S100). 활성화된 카드내에 하위 아이템을 생성할 것인지 변경할 것인지를 판단한다(S102).

    하위 아이템을 생성할 경우, 생성될 하위 아이템이 이미지, 스크립트 또는 특수문자 인지를 판단한다(S104). 이미지, 스크립트 또는 특수문자일 경우 이를 생성하기 위한 해당 다이얼로그 박스를 표시하여 이에 필요한 데이터를 입력받는다(S106). 다이얼 로그 박스를 통해 입력받은 값을 가지고 하위 아이템에 해당하는 오브젝트를 생성한다(S108). 이미지, 스크립트 또는 특수문자가 아닌, 입력, 옵션 또는 리스트와 같이 일반적인 경우는 이에 해당하는 오브젝트를 생성한다(S108). 하위 아이템의 오브젝트에 관련된 초기값, 속성 및 구조에 관련된 정보를 공통 파일에 저장한다(S110). 하위 아이템을 활성화한 다음(S112), 이를 디스플레이 한다. 하위 아이템의 구성과 속성을 공통 파일에서 가져와 각 언어별로 공통된 속성에 대해 공통 소스를 생성하고(S114), 각 언어별로 각기 다른 속성에대해 확장 소스를 생성하여 각기 다른 무선 인터넷 언어별로 소스를 생성한다(S116).

    하위 아이템의 속성 변경일 경우, 변경한 하위 아이템을 활성화한 다음(S118), 속성 윈도우창을 디스플레이 한다(S120). 해당 오브젝트의 속성을 변경한 다음(S122), 변경된 내용을 공통 파일에 저장한다(S124). 변경된 속성을 공통 파일에서 가져와 각 언어별로 공통된 속성에 대해 공통 소스를 생성하고(S114), 각기 다른 무선 인터넷 언어별로 확장 소스를 생성한다(S116).

    하위 아이템을 생성한 카드를 선택하여 활성화한 다음, 오브젝트 윈도우 창에서 하위 아이템을 선택하여 활성화된 카드에 마우스를 이용하여 위치를 설정한다. 오브젝트 윈도우 창에서 선택된 하위 아이템의 해당 오브젝트 각각에 대한 함수를 호출한다. 구체적으로, 입력 오브젝트를 선택하게 되면 크리에이트 인풋(CreateInput())함수를 호출하여 입력 오브젝트를 생성하고, 크리에이트 이미지(CreateImage())함수를 호출하여 이미지 오브젝트를 생성하고, 크리에이트 옵션(CreateOption())함수를 호출하여 옵션 오브젝트를 생성하고, 크리에이트 리스트(CreateList())함수를 호출하여 리스트 오브젝트를 생성하고, 크리에이트 스크립트(CreateScript())함수를 호출하여 스크립트 오브젝트를 생성하고, 크이에이트 스페셜(CreateSpecial())함수를 호출하여 특수문자 오브젝트를 생성한 다음, 활성화된 오브젝트에 대한 속성을 공통파일에서 가져와 디스플레이 한다.

    크리에이트 인풋함수는 입력 오브젝트를 생성하고, 오브젝트 속성의 초기값들을 저장한다. 또한 오브젝트에 관련된 속성들을 프로젝트 아이엔아이의 라이트스트링함수를 이용하여 공통 파일에 저장한다. 다음을 크리에이트 인풋함수에 의해 공통 파일에 저장되는 입력 오브젝트의 속성들이다.

    Project_ini.WriteString(input_name,'WML TYPE','text');

    Project_ini.WriteString(input_name,'MHTML TYPE','text');

    Project_ini.WriteString(input_name,'VALUE',' 입력');

    Project_ini.WriteString(input_name,'TITLE','');

    Project_ini.WriteString(input_name,'WML FORMAT','');

    Project_ini.WriteString(input_name,'MHTML MODE','k');

    Project_ini.WriteString(input_name,'WML EMPTYOK','TRUE');

    Project_ini.WriteString(input_name,'MAXLENGTH','10');

    크리에이트 이미지 함수는 다이얼 로그 박스에 의해 외부의 이미지를 호출하여 무선 인터넷에 맞는 이미지 포맷으로 바꾸어 주고, 이를 파일의 형태로 저장하며, 이에 관련된 속성을 공통 파일에 저장한다. 다음은 크리에이트 이미지 함수의 프로그램 소스이다.

    procedure TMainForm.CreateImage;

    var

    FileName : String;

    image_name : String;

    image : TImage;

    begin

    image_count := image_count + 1;

    image_name := 'IMAGE'+IntToStr(image_count);

    if ImageDialog.ShowModal = mrOK then;

    begin

    if ImageDialog.Image_Name <> '' then

    begin

    image := TImage.Create(Self);

    image.name := image_name;

    image.AutoSize := True;

    image.Picture.LoadFromFile(ImageDialog.BMP_FileName);

    image.AutoSize := False;

    image.OnMouseDown := ItemMouseDown;

    TRichViewEdit(Active_Card).InsertControl(image_name,image,rvvaBaseline);

    FileName := '..\image\2c\'+ChangeFileExt(ImageDialog.image_name,'.wbmp');

    Project_ini.WriteString(image_name,'SKT URL',FileName);

    FileName := '..\image\256c\'+ChangeFileExt(ImageDialog.image_name,'.gif');

    Project_ini.WriteString(image_name,'KTF URL',FileName);

    FileName := '..\image\2c\'+ChangeFileExt(ImageDialog.image_name,'.wbmp');

    Project_ini.WriteString(image_name,'LGT URL',FileName);

    FileName := '..\image\256c\'+ChangeFileExt(ImageDialog.image_name,'.gif');

    Project_ini.WriteString(image_name,'NTT URL',FileName);

    Project_ini.WriteString(image_name,'ALT','');

    end;

    end;

    end;

    이미지 오브젝트를 선택하면, 크리에이트 이미지 함수가 호출되어 이미지 탐색기를 통하여 해당 이미지를 선택하게 된다. 이미지 탐색기 내에서, 이미지를 선택하였을 경우 파일 익스플로러 클릭(FileExplorerClick())함수가 호출되어 선택된 이미지를 볼 수 있으면 그에 대한 정보도 함께 출력한다. 만일 선택한 이미지가 무선 인터넷용 이미지가 아니라면 그 이미지를 무선 인터넷용 이미지에 맞게 변환한다. 이를 위해 먼저 이미지의 크기 조절을 한 다음 이미지 변환버튼을 누르게 되면 비티엔 컨버터 클릭(btnConvertClick())함수가 호출되어 해당 이미지가 각 이동통신사에서 사용하는 이미지 포맷으로 변환된다. 이때, 이미지는 흑백(Gray), 4그레이(4Gray) 또는 칼라256(Color256)의 형태로 각각 이동통신사에 알맞은 포맷으로 변환된다. 이때 확인 버튼을 누르게 되면 크리에이트 이미지 함수가 호출되어 무선인터넷용 이미지가 카드에 삽입되며, 그에 대한 속성을 표시하게 된다. 또한, 이미지의 속성을 프로젝트 아이엔아이의 라이트 스트링함수를 이용하여 공통 파일에 저장한다.

    공통파일에 저장된 하위 아이템의 속성은 앞에서 설명한 카드에디트 투 소스함수에 의해 소스 편집창(12)에 생성된 하위 아이템의 오브젝트 내용과 속성을 소스로 변환한다. 또한, 디스플레이 트리 함수에 의해 트리 뷰어창(16)에 활성화된 카드 아래 트리 구조로 하위 아이템의 오브젝트가 생성된다.

    하위 아이템의 변경은 오브젝트에 대한 마우스 다운 이벤트가 발생하였을 경우 이를 처리하는 아이템마우스 다운(ItemMouseDown())함수를 통해 변경할 하위 아이템을 선택하여 이를 활성화 한다. 속성 윈도우 창이나, 키 입력을 통하여 하위 아이템의 속성 또는 내용을 변경하게 되면, 앞에서 설명한 카드 에디트 체인지 함수에 의해 체인지 이벤트가 발생하고, 변경된 내용을 공통 파일에 저장하게 된다.

    공통파일에 저장된 하위 아이템의 속성은 앞에서 설명한 카드에디트 투 소스함수에 의해 소스 편집창(12)에 생성된 하위 아이템의 오브젝트 내용과 속성을 소스로 변환한다. 또한, 디스플레이 트리 함수에 의해 트리 뷰어창(16)에 활성화된 카드 아래 트리 구조로 하위 아이템의 오브젝트가 생성된다.

    상술한 바와 같이 하위 아이템의 생성 및 변경시 발생하는 프로세스를 도 9를 참조하여 구체적인 예를 들어 설명하면 다음과 같다. 오브젝트 윈도우 창에서 입력 오브젝트를 선택하여 활성화된 카드내에 크리에이트 인풋 함수를 통해 오브젝트를 생성한다. 도 9에서와 같이 속성입력창을 통해 네임(NAME)을 'INPUT1'으로 입력하고, 밸류(Value)를 '입력'으로 입력하고, 엠프티 오케이(EmptyOK)를 'TRUE'로 선택하고, 타입(TYPE)을 'TEXT'로 선택하고, 맥스 랭쓰(MaxLength)를 '10'으로 입력한다. 속성창을 통해 초기의 입력 오브젝트에 관련된 속성인 'WML TYPE', 'MHTML TYPE', 'VALUE', 'TITLE', 'WML FORMAT', 'MHTML MODE', 'WML EMPTYOK'과 'MAXLENGTH'을 판단하거나 입력받게 되고 이를 공통 파일에 저장하게 된다. 공통 파일에 저장된 값을 카드 에디트 투 소스 함수를 통해 소스 편집창(12)에 입력 오브젝트에 해당하는 소스를 '<input Name = "INPUT1" Type = "TEXT" Value = "입력" Title = "" EmptyOK = "TRUE" MaxLength = "10">과 같이 생성하게 된다.

    이때, 속성입력창에서 네임을 'INPUT_NAME'로 변경하고, 타이틀을 '이름'으로 변경하게 되면 체인지 이벤트가 발생하여 셋 프로퍼티(SetProperty) 함수들을 이용하여 변경된 속성에 관해 공통 파일에 저장된 값이 변경되게 된다. 공통 파일에 변경된 값을 카드 에디트 투 소스함수에 의해 소스 편집창(12)에 입력 오브젝트에 해당하는 소스가 <input Name = "INPUT_NAME" Type = "TEXT" Value = "입력" Title = "이름" EmptyOK = "TRUE" MaxLength = "10">과 같이 변경하게 된다.

    <소스 편집 수단>

    이하, 본 발명에 따른 무선 인터넷용 웹 에디터의 인터페이스 화면을 바탕으로 소스 편집 수단을 설명하기 위한 도면이다.

    도 11은 이동 통신사 별로 설정된 탭을 이동하였을 때의 소스 편집창의 화면을 나타낸 도면이다.

    도 12는 다른 이동 통신사의 탭을 선택하였을 경우 실시되는 과정을 설명하기 위한 흐름도이다.

    도 11을 참조하면, 소스 편집시 현재 편집 중인 화면에서 다른 이동 통신사의 소스 탭을 선택할 경우 현재 편집 중인 이동 통신사에 맞추어진 소스 코드가 선택된 이동 통신사에 맞는 소스 코드로 변환되어 자동으로 동기시킨다. 이때 해당되는 공통 태그만을 지원하고, 만일 선택된 탭의 이동통신사에서 지원되지 않는 속성이나 태그가 존재할 경우에는 이를 제외한다. 본 실시예에서는 WML 언어를 사용하는 SKT탭 및 LGT 탭과, MHTML 언어를 사용하는 KTF탭 및 NTT 탭으로 나눈다.

    도 12를 참조하여 이때 이루어지는 프로세스를 살펴보면, 소스 편집 창에서 현재 작업중 탭(도 11의 'SKT')이 아닌 다른 탭(도 11의 'KTF')을 선택한다(S30). 선택된 탭의 사용 언어가 동일한지를 판단한다(S32). 동일할 경우 동일한 언어의 계열이 WML계열인지 아닌지를 판단한다(S34). WML계열인 경우 WML 토큰을 해석하고(S36), 공통 WML 토큰을 분석하여(S38) 공통된 WML 부분만을 변환하여(S40) 프로세스를 종료한다. 한편, 동일한 언어의 계열이 HTML인 경우 HTML 토큰을 해석하고(S42), 공통 HTML 토큰을 분석하여(S44) 공통된 HTML 부분만을 변환하여(S46) 프로세스를 종료한다.

    선택된 탭의 사용 언어가 동일하지 않을 경우는 이전 탭에서 사용한 언어의 계열이 WML계열인지 아닌지를 판단한다(S48). WML계열인 경우 WML 토큰을 해석하고(S50), 해석된 WML 토큰을 통합 WML로 변환한다(S52). 통합 WML로 변환된 WML에서 HTML과 공통된 부분만을 추출하고(S54), 공통된 HTML 부분만을 HTML로 변환하여(S56) 프로세스를 종료한다. 한편, 이전 탭에서 사용한 언어의 계열이 WML계열이 아닌 HTML계열인 경우 HTML 토큰을 해석하고(S58), 해석된 HTML 토큰을 통합 HTML로 변환한다(S60). 통합 HTML로 변환된 HTML에서 WML과 공통된 부분만을 추출하고(S62), 공통된 WML 부분만을 WML로 변환하여(S64) 프로세스를 종료한다.

    상술한 바와 같이 프로세스를 진행하는 이유는 각 탭(이동 통신사)마다 동일한 계열의 언어를 사용하더라도 각 통신사마다 조금씩 다른 태그나 스크립트와 같은 소스들이 조금씩 다르기 때문이다.

    구체적으로, 서로 다른 언어의 탭을 선택하였을 경우를 예를 들어 설명하기로 한다.

    WML 언어를 이용하여 'SKT'탭에서 다음과 같이 작성을 하였다면,

    <? xml version = "1.0" encoding = "KS_C_5601-1987"?>

    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "">

    <wml>

    <card name = "card1_edit">

    <p>안녕하세요..</p>

    <p>이번에 새롭게 만든 저희 홈페이지입니다..</p>

    <p>많이들 찾아주세요..</p>

    </card>

    </wml>

    이를 WML 토큰을 해석하고 통합 WML로 변환한 후, WML에서 HTML과 공통된 부분만을 추출하고 변환하게 되면 다음과 같다.

    {'<wml>', '<card name>', '<p>', '</p>', '안녕하세요..', '이번에 새롭게 만든 저희 홈페이지입니다..', '많이들 찾아 주세요..', '</card>' 및 '</wml>'}의 WML 언어가 {'<html>', '<body>', '<p>', '</p>', '안녕하세요..', '이번에 새롭게 만든 저희 홈페이지입니다..', '많이들 찾아 주세요..', '</body>' 및 '</html>'로 변환되어 다음과 같이 변화된다.

    <html>

    <body>

    <p>안녕하세요..</p>

    <p>이번에 새롭게 만든 저희 홈페이지입니다..</p>

    <p>많이들 찾아주세요..</p>

    </body>

    </html>

    소스 편집창(12)을 편집하였을 경우 카드 편집창(14) 내의 카드에 그 편집 내용이 반영되는 프로세스에 관해 설명한다.

    도 13은 본 발명의 소스 편집창을 통해 소스를 생성 및 변경하였을 경우를 설명하기 위한 개념도이다.

    도 14는 본 발명의 소스 편집창 통해 소스를 생성 및 변경하였을 경우를 설명하기 위한 흐름도이다.

    도 13 및 도 14를 참조하면, 소스 편집창(12)에서 소스 편집 작업(소스의 생성 및 변경)을 실시하게 되면(S130), 현재 작업이 수행되는 탭에 따라 사용되는 언어의 계열이 WML 인지, HTML인지 판단한다(S132). 현재 소스 편집창(12)에서 사용되는 언어의 계열이 WML인 경우는 WML 토큰을 해석하고(S134), 통합 WML로 변환한다(S136). 변환된 통합 WML을 파싱한다(S138). 한편, 현재 소스 편집창(12)에서 사용되는 언어의 계열이 HTML인 경우는 HTML 토큰을 해석하고(S140), 통합 HTML로 변환한다(S142). 변환된 통합 HTML을 파싱한다(S144).

    각기 언어별로 파싱된 내용을 카드 속성 배열에 저장하거나, 오브젝트 속성 배열에 저장한다(S146). 카드 속성이나 오브젝트 속성에 저장된 배열 내용을 가지고 카드 편집창(14)내의 카드를 재구성하게 된다(S148). 이때 트리 구조창의 내용 또한 재구성한다(S150).

    구체적으로, 소스 편집창(12)에서 소스를 생성하거나 변경하게 되면, 편집창 내의 각 탭에 해당하는 SKT 에디터 체인지(SKTEditor_Change()), KTF 에디터 체인지(KTFEditor_Change()), LGT 에디터 체인지(LGTEditor_Change()) 또는 NTT 에디터 체인지(NTTEditor_Change())함수에 의해 소스 편집창(12)에 이벤트가 발생하였다는 것을 알려주게 된다.

    에디터 체인지 이벤트가 발생하면, SKT 소스 투 드로우(SKTSource_ToDraw()), KTF 소스 투 드로우(KTFSource_ToDraw()), LGT 소스 투 드로우(LGTSource_ToDraw()) 또는 NTT 소스 투 드로우(NTTSource_ToDraw()) 함수를 통해 변경된 소스파일을 파싱하여 토큰을 분리하고, 토큰 분석을 통해 오브젝트를 추출하고, 오브젝트의 내용과 속성을 공통 파일에 저장하게 된다. 파싱결과를 이용하여 서로 다른 언어에서 사용되는 공통 소스와 확장 소스를 분리, 이를 다시결합하여 소스변환(WML을 HTML로, HTML을 WML로 변환함)을 하게 된다.

    소스 편집창(12) 내의 SKT 탭에서 소스 편집작업을 수행하였을 경우, SKT 소스 투 드로우 함수를 통해 SKT 탭에서 사용하는 WML 소스를 WML 파서 컴포넌트(WML Parser Component)를 통해 변경된 소스를 탭, 매개변수 및 텍스트로 토큰 분석 및 파싱을 실시하여 오브젝트를 추출하고 오브젝트의 내용과 속성을 공통 파일에 저장한다. 소스 편집창(12) 내의 KTF 탭에서 소스 편집작업을 수행하였을 경우, KTF 소스 투 드로우 함수를 통해 KTF 탭에서 사용하는 MTHML 소스를 MTHML 파서 컴포넌트(MTHML Parser Component)를 통해 변경된 소스를 탭, 매개변수 및 텍스트로 토큰 분석하고 파싱을 실시하여, 오브젝트를 추출하여 오브젝트의 내용과 속성을 공통 파일에 저장한다. 소스 편집창(12) 내의 LGT 탭에서 소스 편집작업을 수행하였을 경우, LGT 소스 투 드로우 함수를 통해 LGT 탭에서 사용하는 WML 소스를 WML 파서 컴포넌트(WML Parser Component)를 통해 변경된 소스를 탭, 매개변수 및 텍스트로 토큰 분석하고 파싱을 실시하여, 오브젝트를 추출하여 오브젝트의 내용과 속성을 공통 파일에 저장한다. 소스 편집창(12) 내의 NTT 탭에서 소스 편집작업을 수행하였을 경우, NTT 소스 투 드로우 함수를 통해 NTT 탭에서 사용하는 CHTML 소스를 CHTML 파서 컴포넌트(CHTML Parser Component)를 통해 변경된 소스를 탭, 매개변수 및 텍스트로 토큰 분석하고 파싱을 실시하여, 오브젝트를 추출하여 오브젝트의 내용과 속성을 공통 파일에 저장한다.

    공통 파일에서 오브젝트 내용과 속성을 가져오거나, 파싱에 의해 추출된 오브젝트의 내용과 속성을 통해 새로운 오브젝트가 추가 되었을 경우, 해당 오브젝트를 생성하기 위한 함수를 호출한다. 예컨대, 새로운 카드의 생성이라면 크리에이트 카드 함수를 호출하고, 인풋 오브젝트의 생성이라면 크리에이트 인풋함수를 호출하거나, 이미지의 생성이라면 크리에이트 이미지 함수를 호출하거나, 옵션 오브젝트의 생성이라면 크리에이트 옵션 함수를 호출하거나, 스크립트의 생성이라면 크리에이트 스크립트 함수를 호출하거나, 특수문자의 생성이라면 크리에이트 스페셜 함수를 호출한다. 존재한 오브젝트의 제거일 경우 카드 편집창(14)에서 오브젝트를 제거한다. 속성에 대한 변경일 경우 변경된 속성을 가져와서 윈두우 디스플레이(WindowDisplay())함수를 통해 속성 윈도우 창에 표시한다.

    또한, 공통 파일을 읽어 오브젝트 부분을 디스플레이 트리 함수를 통해 트리 뷰어창(16)에 표시한다.

    예컨대, 도 13에서와 같이 소스 편집창(12)의 SKT 탭에서 소스를 편집하여 이미지 태그를 추가하였을 경우를 살펴보면 다음과 같다. 소스 편집창(12)에 '<p><img src = "..\image\2c\ange1-2.wbmp" alt=""/></p>'와 같이 이미지 태그를 추가하게 되면 체인지 이벤트가 발생하여 현재 탭에 속한 SKT 소스 투 드로우 함수를 통해 파싱이 이루어지고, '<p>', '<img>', 'src = "..\image\2c\ange1-2.wbmp"', 'alt=""' 와 '</p>' 같이 토큰 분리된다. 공통 파일에 오브젝트 내용 및 속성이 저장된다. 도 8에서와 같이 하위 오브젝트의 속성에 따라 'SKT URL=..\image\2c\ange1-2.wbmp'와 같이 공통 파일에 저장된다. 물론 이때 KTF 소스 투 드로우, LGT 소스 투 드로우 및 NTT 소스 투 드루우에 의해 변경된 소스의 언어가 각기 탭에 맞는 언어로 변환되어 공통 파일에 동시에 저장된다.

    공통 파일에 저장된 오브젝트 내용과 속성을 읽어서 크리에이트 이미지 함수를 호출하여 카드 편집창(14)에 이미지를 생성하고, 속성 윈도우 화면을 표시한다.

    도 15는 본 발명에 따른 소스 편집창의 하이라이트 처리방법을 설명하기 위한 흐름도이다.

    도 15를 참조하면, 소스 편집창(12)을 선택하여 소스 편집 작업을 실시한다(S20). 토큰 분리 추출을 한다(S22). 토큰 분리 후 토큰을 체크하여(S24) 각 태그에 대한 하이라이트 처리를 하고(S26), 나머지 부분은 하이라이트 처리를 하지 않는다(S28). 이때 하이라이트 처리를 하는 태그의 구분(즉 토큰 체크 방법)은 '<'로 시작되는 부분, 숫자와 문자 부분, 각 언어 및 스크립트 별 예약어 및 각 언어 및 스크립트 별 연산자 및 함수를 분리하여 이를 하이리이팅 처리한다.

    본 발명의 무선 인터넷용 웹 에디터에는 현재 활성화된 카드에서 비활성화 카드로의 링크를 나타내는 오브젝트를 생성하는 함수와, 링크 오브젝트에 마우스나 키 이벤트가 발생하였을 경우 해당 링트로 카드를 이동하게 하는 함수와 생성된 오브젝트를 공통 파일에 저장하는 프로그램 함수를 포함하고 있다.

    또한, 미리보기 기능이 있어 현재 활성화된 카드 및 카드편집창의 전체 카드를 무선 인터넷용 단말기를 통해 보여지는 화면과 동일하게 보여진다.

    상술한 바와 같이, 본 발명은 무선 인터넷 브라우저인 WAP와 ME를 지원하고, WYSWYG방식의 편집기능을 제공하며, 무선 웹에서 보여지는 문서 환경과 유사한 인터페이스 환경으로 쉽게 무선 인터넷용 웹 문서를 작성할 수 있다.

    또한, 카드 편집창과 소스 편집창이 연동되어 한쪽에서 작업한 내용을 다른 창에서 재 수정할 필요없이 실시간으로 변경되어 모든 사용자가 쉽게 웹 문서인 카드를 생성 및 수정할 수 있다.

    또한, 각 이동통신사에서 사용하는 언어별로 소스를 실시간으로 생성함으로써, 한번의 작업을 통해 다양한 이동 통신사에 맞는 웹 문서를 작성할 수 있다.

    또한, 다양한 종류의 무선 인터넷 그래픽 파일 포맷으로의 변환을 지원할 수 있고, 다양한 스크립트를 지원할 수 있으며, 다양한 무선 인터넷 단말기 환경을 지원할 수 있다.

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈