[go: up one dir, main page]

KR19990013482A - 구조화 문서 검색 표시 방법 및 장치 - Google Patents

구조화 문서 검색 표시 방법 및 장치 Download PDF

Info

Publication number
KR19990013482A
KR19990013482A KR1019980025491A KR19980025491A KR19990013482A KR 19990013482 A KR19990013482 A KR 19990013482A KR 1019980025491 A KR1019980025491 A KR 1019980025491A KR 19980025491 A KR19980025491 A KR 19980025491A KR 19990013482 A KR19990013482 A KR 19990013482A
Authority
KR
South Korea
Prior art keywords
document
information
search
structured document
display
Prior art date
Application number
KR1019980025491A
Other languages
English (en)
Other versions
KR100324456B1 (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 가나이쯔도무
Publication of KR19990013482A publication Critical patent/KR19990013482A/ko
Application granted granted Critical
Publication of KR100324456B1 publication Critical patent/KR100324456B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 발명은 파일(114)의 구조화 문서(102)를 입력으로서 문서 등록의 처리를 행하고, 구조 해석된 구조화 문서와, 문서 검색을 위한 정보를 생성하여 각각 DB105, DB106에 저장한다. 다음에 입출력 장치(115)로부터 검색 조건(103)이 입력되면, 검색 조건을 해석하고, 문서 검색용 정보를 판독하여 검색 처리(108)를 행한다. 검색 결과로서 히트한 문서 번호 정보(109)와 히트 범위 정보(110)를 출력한다. 표시 처리는, 우선 문서 판독의 처리(107)에서 히트한 문서 번호의 정보(109)에 기초하여 DBl05로부터 대응하는 구조 해석이 끝난 구조화 문서(111)를 판독한다. 문서 표시(112)의 처리에서는 히트 범위 정보(110)를 기초하여 구조화 문서(111)에 대해 히트 정보를 매립하고, 하이라이트 정보를 부가한 표시용의 구조화 문서(113)를 생성하여 이것을 표시한다. 검색의 장해가 되는 구조 정보를 제거한 문서에 대해 검색하고, 검색 결과를 표시할 때에는 원래의 구조화 문서에 대해 하이라이트 정보를 부가한 표시를 한다.

Description

구조화 문서 검색 표시 방법 및 장치
본 발명은, SGML, HTML 등에 의해 작성된 구조화 문서에 대한 검색 표시기술에 관한 것으로, 특히 구조화 문서에 대해 검색을 행하고, 검색 결과에 대해 하이라이트하여 표시하는 구조화 문서 검색 표시 방법 및 장치에 관한 것이다.
워드프로세서등의 보급에 의해, 작성되는 문서 정보의 전자화가 진행되고 있다. 이들 전자화 문서는, 작성되는 기기, 소프트웨어에 의해 개개의 포맷을 갖고, 별도의 기기 혹은 소프트웨어로는 이용할 수 없고, 혹은 어떠한 변환 수단을 준비하는 것이 필요해졌다.
이러한 문서 교환을 위한 공통 포맷으로서, 각종 구조화 문서가 제안되고 있다. 이들 구조화 문서는, 문서의 기본 구조인, 장, 절, 항등의 계층 구조를 정의할 수 있을 뿐만 아니라, 레이아웃 정보를 포함하는 것도 가능해졌다.
구조화 문서의 기술 언어로서, 표준화가 진행되고 있는 것이, SGML(Standard Generalized Markup Language)=「표준 일반화 메이크 업 언어」 이다.
SGML은, 구조화 문서의 구조 정보를 태그라고 하는 특정한 문자열을 텍스트 중에 매립함으로써, 문서의 구조를 표현하는 방법을 이용하고 있다. SGML에서는, 태그의 명칭, 내용, 또한 태그에 의해 도시되는 문서 구조를 DTD(Document Type Definition)=「문서형 정의」에 의해 규정할 수 있다.
상기된 SGML, DTD에 대해서는, 먼저 DTD(Document Type Definition : 문서형 정의)는 임의의 클래스의 문서에 대해 어떠한 태그 집합도 정의할 수 있다. 즉, 어떤 어플리케이션(예를 들면, 저자와 하나 혹은 그 이상의 출판자 사이에서 텍스트를 교환하는 경우)의 사용자가 함께 공동의 요구를 해석하고, 그 결과 특정한 태그 집합을 이용함에 따라 공통적으로 취급할 수 있는 문서의 형이나 구조를 얻을 수 있다. 상호, 장, 단락, 각주 등과 같은 공통의 요소에 대해서는 동의할 수 있을 것이다. 단, 태그의 선택은 각각의 어플리케이션에 따라 다른 경우가 있을 수 있다.
SGML 위원회에서 DTD의 발명은 표준의 태그명과 구조의 정의에 수반되는 문제를 피해 통하는 것을 의미하고 있다. 단, 그 자재성에 의해, 확실하게 모든 사람에게 그 장점을 누릴 수 있게 할 수 있다. SGML 적합한 툴 및 제품은 만들 수 있을 것이고, 문서를 작성하는 데에는 어떠한 태그 집합이라도 범용 에디터를 사용할 수 있을 것이다. 그러나, SGML을 적용하는 측으로부터 보면, 표준화의 필요성은 남아 있고, 상술된 곤란한 문제도 아직 있다. 만약 DTD의 설계자가 팀의 일원이면, 의론과 타협이 필요하게 될 것이다. 문서를 자유롭게 어플리케이션하는 동안 교환할 수 있게 될 때까지, 많은 고찰과 분석이 필요하다. 이 과정은 문서 해석이라고 한다.
DTD는 이하를 정의하고 있다.
·그 클래스의 문서 중에서 허용되는 모든 요소의 이름과 내용.
(예를 들면, 메모에는 To, From, Body)
·요소의 출현 횟수.
·요소의 출현하는 순서.
·개시 또는 종료 태그를 생략할 수 있는지의 여부의 지정.
·마크 업 추가를 용이하게 하기 위해 개발된 타입 라이터 입력 수법. 예를 들면, 블랭크행으로 계속되는 스페이스 문자 세칸 내린 행은, 단락의 개시 태그로 해석할 수 있다.
·모든 요소의 내용. 즉, 그 안에 표현해도 좋은, 다른 공통 식별자의 이름등으로 최하위의 문자 데이타에 이를 때까지 계층적으로 기술된다.
·태그의 속성과 그 생략 시간 값.
·사용 가능한 참조 기호명.
요소란, DTD에서 정의된, 구조를 갖은 정보의, 논리적인 구성 성분이다. 이 요소가 무엇을 의미하는가를 이해하기 위해 메모의 요소를 포함하는 문서의 클래스를 생각해 보자. 이 문서 클래스의 DTD는 요소와 그 이름 및 마크 업의 규칙(21페이지 참조)을 정의하고 있다. 도 15는 요소가 나무 구조 표현 중 어떤 리프에 있는지를 나타내고 있다. 요소 중 몇개는, 하위 요소로 구성된다. 예를 들면, 메모는 To, From, Body, Close로 구성되고, Body는 P 등으로 구성된다. 그러나, 요소가 나오는 횟수나 순서는 나무 구조로는 표현되지 않는다. 문서 관리자″는, 문서의 클래스에 따라 나무 구조 표현을 정의해야한다. 기술적 마크 업이란, DTD에서 정의되는 규칙에 따른 태그를 이용하여 문서 안의 요소를 식별하는 것이다.
!-- DTD for simp1e office memoranda --! ENTITY % doctype ″Memo″--document type generic identifier --!-- ELEMENTS MIN CONTENT (EXCEPTIONS) --! ELEMENT Memo -- ((To From), Body, Close?)! ELEMENT To - 0 (#PCDATA)! ELEMENT From - 0 (#PCDATA)! ELEMTEN Body - 0 (P*)! ELEMENT P - 0 (#PCDATA|Q|Pref ) *! ELEMENT Q -- (#PCDATA )! ELEMENT Pref - 0 EMPTY! ELEMENT Close - 0 (#PCDTA)!-- ELEMENTS NAME VALUE DEFAULT --! ATTLIST Memo STATUS (confiden|public) public! ATTLIST P id ID #IMPLIED! ATTLIST Pref refid IDREF #REQUIRED
SGML 간담회 실용화 WG 감역 1992년 4월 20일 재단 법인 일본 규격 협회 발행)에 상세히 설명되어 있다.
이들 구조화 문서를 검색 시스템의 DB에 등록하여 구조명을 지정하여 검색하고자 할 경우를 상정한다. 등록하고자 하는 각 문서의 DTD가 다를 경우, 처리방법으로는 문서마다 문서 구조를 해석하여 지정된 구조명이 어떤 부분에 상당하는가를 해석한 후에 검색 대상의 문자열을 취득하여 검색하는 방법을 생각할 수 있다.
그러나, 이 방법은 많은 처리 시간을 필요로 한다. 또한, 구조명마다 각 문서가 대응하는 곳을 테이블로 갖는 등의 방법을 이용할 경우, 각 문서에 출현하는 구조명을 전부 일괄하여 관리하고, 구조명마다 각 문서가 대응하는 부분을 등록할 필요가 있어 방대한 관리 테이블이 필요해진다.
또한, 다른 DTD가 혼재하는 문서를 등록해도, 검색 대상의 구조를 모든 문서가 갖는다고는 할 수 없고, 또한 예를 들면, 「요약」, 「요지」와 마찬가지로 동일한 내용이라도 다른 구조명을 붙일 경우, 이들 다른 구조명을 전부 지정하여 검색을 행해야 하고, 현실적인 구조화 문서의 검색이라고는 생각할 수 없다.
따라서, 동일한 문서형 정의로 생성된 문서만을 등록하도록 운용하는 것이 구조화 문서의 검색에서는 필요해진다. 미리 지정된 구조명에 대해 각 문서가 대응하는 부분을 관리한다.
검색할 때에는, 검색 대상의 구조명 및 검색 조건을 지정하면, 각 문서의 지정된 구조에 대응하는 부분에 검색 조건에 적합한 문자열이 포함되면, 검색 조건에 히트했다고 판단된다.
구조화 문서의 검색 결과로서, 문서의 내용을 표시하기 위한 기능의 종래 기술에 대해 이하에 진술한다.
우선, 제1 종래 기술로서, 특개평8-339369 「문서 표시 장치 및 문서 표시 방법」을 들 수 있다.
본 종래 기술은, SGML 문서의 구조 해석 및 구조 표시용의 레이아웃으로의 변환, 또한 지정 구조 내용의 표시를 행하는 방법에 대해 진술하고 있고, 본 기술을 이용함으로써 구조화 문서를 구조 단위로 표시하는 것이 가능하다. 또한, 본 종래 기술에서는 지정 구조의 하이라이트 표시(강조한 표시의 것이고, 빛깔, 글씨체, 글자의 크기 등을 바꾸거나, 언더라인을 붙이거나 함)의 수단을 제공하고 있다.
그러나, 여기서 도시되어 있는 하이라이트 표시 수단은 구조마다 표시 방법을 컨트롤하는 수단이고, 구조 단위로 표시의 유무, 하이라이트 표시등의 지정을 행한다. 따라서, 본 종래 기술에서 구조화 문서의 검색 결과의 표시를 실현할 때에 필요해지고, 히트한 검색 용어에 대한 하이라이트 표시를 실현하는 방법이 나타내져 있는 것은 아니다.
또한, 제2 종래 기술에서는 특개평8-212230「문서 검색 방법 및 문서 검색 장치」에서 구조화 문서 이외의 문서의 검색 결과에 대한 하이라이트 표시 방법이 나타내져 있다.
그러나, 본 종래 기술은 표시하기 위한 텍스트에 대한 히트 범위의 취득 및 하이라이트 정보의 부가를 실현할 뿐으로, 구조화 문서의 검색 결과로서 얻어진 문서에 대해 하이라이트 정보를 부가하는 기능을 갖는 것은 아니다.
상기 2개의 종래 기술을 조합한 것만으로서는 구조화 문서에 대한 검색 결과로서 출력하는 문서에 대해 히트한 항목에 대한 하이라이트 정보의 부가를 실현하는 일은 할 수 없다.
즉, 구조화 문서에서 하이라이트 표시를 실현하기 위해서는, 표시 대상의 문서의 작성시의 DTD에 하이라이트용의 구조 정보를 추가한 DTD를 작성하는 수단이 필요해진다.
구조화 문서에 하이라이트 정보를 부가했을 때의 문서형 정의의 변경 방법에 대해서는 제3 종래 기술인, 특원평8-159202「구조화 문서의 판관리 방법 및 장치」에, 원래의 DTD에 대해 새로운 구조를 추가한 DTD를 생성하는 방법이 나타나 있다.
본 종래 기술을 이용함에 따라, 하이라이트 정보를 부가한 문서형 정의를 작성할 수 있다.
제1, 제2 종래 기술에 따라 구조화 문서의 구조를 알 수 있도록 표시하는 것, 또한 구조화되지 않은 문서에서는 히트 범위의 하이라이트 표시를 하는 것이 가능하다는 것을 알 수 있다.
또한, 제3 종래 기술을 이용함에 따라 구조마다 취득한 하이라이트 정보를 부가한 문서형 정의를 지정할 수 있다.
이들 기술을 조합함에 따라 구조화 문서의 특정한 구조의 검색 결과에 대해 하이라이트 정보를 부가한 구조화 문서를 출력하고, 하이라이트 표시를 실현할 수 있다.
또한, 최신 정보를 입수하는 방법으로서, 최근 인터넷이 폭발적으로 퍼지고 있다. 인터넷상에 존재하는 수많은 정보로부터 자기가 필요로 하는 정보를 재빠르게 알 수 있는 수단으로서, Web상의 정보의 검색 기능도 충실해졌다.
HTML(H yper T ext M arkup L anguage)은, WWW (W orld W ide W eb) 상에서, 문서 내용을 기술하고, 다른 자원으로의 링크 정보, 문서의 포맷을 표현하기 위한 언어이다. HTML은, 특정한 DTD에 따라 기술된 SGML이라고 간주할 수 있다. 본 HTML 문서를 작성, 가공하는 수단으로서 HTML 에디터가 있다. 또한, 작성된 HTML 문서를 해석하고, 표시하는 HTML 브라우저가 존재한다.
HTML 브라우저에는, 검색하는 문자열(이하, 「검색 용어」이라고 함.)을 입력하고, 표시중인 HTML 문서에 대해 검색을 행하여 히트한 곳을 반전 표시 등의 강조 표시를 행하는 기능을 갖는 것이 있다.
SGML 에 대해서도, 레이아웃 표시하고, 가공하는 기능을 갖는 SGML 브라우저가 존재한다. SGML 브라우저에는 브라우저상에 표시중인 SGML 문서에 대해 전문 검색하고, 검색 조건에 적합한 곳을 하이라이트 표시한다. 이들 브라우저에서는 문서 표시할 때에 문서의 해석을 행하고, 표시용 데이타를 작성한다. 검색은 이 브라우저상의 표시용 데이타에 대해 검색을 행하고, 화면상에서 히트 위치를 하이라이트 표시하고 있다.
상기된 종래 기술의 조합에 따라 부여된 구조화 문서에 대해 구조마다 검색한 결과를, 개개로 하이라이트 표시하는 것이 가능하다.
그러나, 구조 정보에는 장, 절, 항과 같이 문서 구조 그 자체를 나타내고 있는 것뿐만 아니라, 언더라인의 부가등 레이아웃용의 정보도 포함되는 경우가 있다. 이들 구조 정보는, 반드시 문장의 이음매로 삽입된다고는 할 수 없다. 문서 검색할 시에는, 이러한 구조 정보를 제거하지 않으면, 문서중에 포함되어 있는 단어임에도 불구하고, 검색할 수 없다고 하는 문제가 있다. 이와 같이, 검색시에 불필요해지는 구조 정보를 제거하는 처리를, 이하의 설명에서는 「정규화 처리」라고 한다.
정규화 처리를 행한 구조화 문서를 검색 대상으로 하고, 원래의 구조화 문서에 대해 하이라이트 정보를 부가한 표시를 실현하기 위해서는, 정규화 처리를 행한 구조화 문서에 대해 상기된 종래 기술을 이용한 방법을 이용하는 것만으로는 실현할 수 없다. 즉, 이 방법으로는 검색시에는 원래의 문서 구조 정보의 일부 밖에 남아 있지 않기 때문에, 이 구조 정보에 대해 하이라이트 정보를 부가하는 것만으로는, 원래의 구조화 문서에 대해 검색 용어를 히트한 하이라이트 표시를 실현하는 것이 되지 않는 것이다.
본 발명의 목적은, 정규화 처리된 문서에 대한 검색 결과로부터, 원래 문서에 대한 하이라이트 정보의 부가를 실현하기 위해 검색용 문서로부터, 원래 문서의 하이라이트 범위 정보로의 변환을 실현하는 데 있다.
본 발명의 다른 목적은, 정규화한 후의 히트 항목이 원래의 문서에서 복수의 구조에 걸치는 경우, 각 구조마다 히트한 범위에 대해 하이라이트 정보를 부가하고, 하이라이트 표시하는 데 있다.
본 발명의 또 다른 목적은, 히트한 항목이 포함되는 구조 전체의 하이라이트 표시, 혹은 출현 위치의 거리 조건을 만족하는 2개의 검색 용어를 포함하는 영역 전체를 하이라이트 표시하는 등의 처리를 하기 위해 계층적인 하이라이트 정보를 부가하고, 다른 하이라이트 표시 형태에 의해 하이라이트 표시하는 데 있다.
본 발명의 또 다른 목적은 구조화 문서의 부분 구조만을 추출하여 표시하는 경우에, 이러한 부분 구조의 내용에 대해서도, 하이라이트 정보를 부가하고, 하이라이트 표시하는 데 있다.
한편, HTML 문서는 브라우저 의존하는 독자의 확장에 의해 복수의 DTD에 기초하여 작성된 HTML 문서가 존재하고, 또한 어떤 DTD에 기초하여 기술되어 있는지를 알 수 없다. 또한, SGML의 문법에 기초하여 정확하게 기술되어 있지 않은 문서도 수많이 존재하기 때문에 SGML과 동일한 방법으로 구조 해석하는 것은 곤란하다.
또한, (1) 플레인한 텍스트 문서에 대해서는 검색 처리를 행하고, 검색 히트 위치의 전후로 하이라이트용의 태그를 삽입한 HTML 문서를 생성함으로써, HTML 브라우저상에서 검색 히트한 문자열을 강조 표시하는 것이 가능하다. 그러나, 태그 내의 문자열이 검색 용어와 일치한 경우, 이 검색 히트 위치의 전후에 대해 하이라이트용의 태그를 삽입하면, 원래의 HTML의 태그의 내용이 변경되기 때문에, 정확하게 표시되지 않는다는 문제가 발생한다.
또한, (2) HTML 브라우저상에 연속하여 표시되는 문자열 도중에, 레이아웃을 표현하는 태그가 삽입되는 경우가 있고, HTML 문서에 대해 검색하는 경우에는 태그를 제외하여 검색하지 않으면 정확하게 검색할 수 없다. 예를 들면, HTML 문서중에「이번 달의 FONT SIZE=+1 특집/FONT기사」라고 쓰여져 있고, 검색 용어를 「특집 기사」로 한 경우, HTML 문서 중에는 「특집」과 「기사」 사이에 문자를 확대하여 표시하기 위한 「/FONT」의 태그가 기술되어 있기 때문에, 태그를 비산하여 검색하지 않으면 정확하게 검색할 수 없다.
상기한 과제를 해결하기 위해 본 발명은, 처리 장치와, 기억 장치와, 파일 장치와, 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 방법이고, 상기 처리 장치는, 입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 본 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하고, 본 해석이 끝난 구조화 문서로부터 각 구조 내의 내용 문자열 정보를 취득하여 문서 검색용 정보를 생성하고, 상기 파일 장치에 저장하며, 입력된 검색 조건에 의해 본 파일 장치에 저장된 문서 검색용 정보를 검색하고, 본 검색 조건을 만족하는 내용 문자열 정보가 있는지의 여부를 판정하고, 본 검색 조건을 만족한다고 간주되는 내용 문자열 정보를 갖는 문서의 해석이 끝난 구조화 문서를 취득하며, 또한 본 문서의 검색 조건을 만족하는 범위의 정보를 취득하고, 본 문서의 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 표시용 문서형 정의(표시용 DTD)를 작성하며, 상기 문서의 검색 조건을 만족하는 범위의 정보와 표시용 문서형 정의에 기초하여 구조화 문서중에 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하도록 하고 있다.
또한, 처리 장치와 기억 장치와 파일 장치와 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 방법이고, 상기 처리 장치는, 입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 본 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하고, 상기 입력된 구조화 문서로부터 미리 부여된 검색 대상 밖의 구조 정보를 제거한 문서 검색용의 정규화 처리가 끝난 구조화 문서를 생성하고, 또한 본 제거된 구조 정보를 복원하기 위한 복원 정보를 생성하며, 상기 파일 장치에 저장하고, 입력된 검색 조건에 의해 본 파일 장치에 저장된 정규화 처리가 끝난 구조화 문서를 검색하고, 본 검색 조건을 만족하는 정규화 처리가 끝난 구조화 문서가 있는지의 여부를 판정하며, 본 검색 조건을 만족한다고 간주되는 문서의 정규화 처리가 끝난 구조화 문서를 취득하며, 또한 본 문서의 검색 조건을 만족하는 범위의 정보를 취득하고, 본 문서의 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 표시용 문서형 정의를 작성하고, 상기 검색에 의해 취득된 정규화 처리가 끝난 구조화 문서를 상기 복원 정보에 의해, 제거된 구조 정보를 갖는 구조화 문서에 복원하고, 상기 문서의 검색 조건을 만족하는 범위의 정보와 표시용 문서형 정의에 기초하여 본 복원된 구조화 문서중에 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하도록 하고 있다.
또한, 처리 장치와, 기억 장치와, 파일 장치와, 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 방법이고, 상기 처리 장치는, 입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 본 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하고, 본 해석이 끝난 구조화 문서로부터 각 구조 내의 내용 문자열 정보를 취득하여 문서 검색용 정보를 생성하고, 상기 파일 장치에 저장하며, 입력된 검색 조건에 의해 본 파일 장치에 저장된 문서 검색용 정보를 검색하고, 본 검색 조건을 만족하는 내용 문자열 정보가 있는지의 여부를 판정하며, 본 검색 조건을 만족하다고 간주되는 내용 문자열 정보를 갖는 문서의 해석이 끝난 구조화 문서를 취득하고, 또한 본 문서의 검색 조건을 만족하는 범위의 정보를 취득하며, 입력된 표시 대상의 부분 구조를 취득하고, 본 표시 대상의 부분 구조 중의 상기 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 부분 구조 표시용 문서형 정의를 작성하고, 본 표시 대상의 부분 구조에 대해 상기 문서의 검색 조건을 만족하는 범위의 정보와 부분 구조 표시용 문서형 정의에 기초하여 구조화 문서 중에 하이라이트 표시하기 위한 정보를 부가한 부분 구조 표시용 구조화 문서를 작성하도록 하고 있다.
또한, 처리 장치와, 기억 장치와, 파일 장치와, 입출력 장치를 구비하는 구조화 문서 검색 표시 장치이고, 상기 처리 장치는, 입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 본 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하는 수단과, 상기 입력된 구조화 문서로부터 미리 부여된 검색 대상 밖의 구조 정보를 제거한 문서 검색용의 정규화 처리가 끝난 구조화 문서를 생성하고, 상기 파일 장치에 저장하는 수단과, 본 제거된 구조 정보를 복원하기 위한 복원 정보를 생성하며, 전기 파일 장치에 저장하는 수단과, 입력된 검색 조건에 따라 본 파일 장치에 저장된 정규화 처리가 끝난 구조화 문서를 검색하고, 본 검색 조건을 만족하는 정규화 처리가 끝난 구조화 문서가 있는지의 여부를 판정하며, 본 검색 조건을 만족한다고 간주되어지는 정규화 처리가 끝난 구조화 문서의 정보를 취득하고, 또한 본 문서의 검색 조건을 만족하는 범위의 정보를 취득하는 수단과, 본 문서의 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 표시용 문서형 정의를 작성하는 수단과, 상기 검색에 의해 취득된 정규화 처리가 끝난 구조화 문서를 상기 복원 정보에 의해, 제거된 구조 정보를 갖는 구조화 문서로 복원하는 수단과, 상기 문서의 검색 조건을 만족하는 범위의 정보와 표시용 문서형 정의에 기초하여 본 복원된 구조화 문서중에 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하는 수단을 갖도록 하고 있다.
또한, 처리 장치와 기억 장치와 파일 장치와 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 방법이고, 상기 처리 장치는, 입력된 특정한 문서형 정의에 따르는 구조화 문서를 태그를 남긴 상태에서 플레인 텍스트로서 상기 파일 장치에 저장하고, 입력된 검색 조건에 따라 본 파일 장치에 저장된 플레인 텍스트를 검색하며, 본 검색 조건을 만족하는 범위가 있는지의 여부를 판정하고, 본 검색 조건을 만족하는 범위를 갖는 문서를 플레인 텍스트로서 취득하며, 또한 본 문서의 검색 조건을 만족하는 범위의 정보를 취득하고, 상기 특정한 문서형 정의를 표시용 문서형 정의로 하고, 상기 입력된 구조화 문서에 대해 상기 검색 조건을 만족하는 범위에 대해 본 표시용 문서형 정의에 기초하는 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하도록 하고 있다.
또한, 처리 장치와 기억 장치와 파일 장치와 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 방법이고, 상기 처리 장치는, 입력된 특정한 문서형 정의에 따르는 구조화 문서를 태그를 남긴 상태에서 플레인 텍스트로서 상기 파일 장치에 저장하고, 입력된 검색 조건에 따라 본 파일 장치에 저장된 플레인 텍스트를 검색하며, 본 검색 조건을 만족하는 범위가 있는지의 여부를 판정하고, 본 검색 조건을 만족하는 범위를 갖는 문서를 플레인 텍스트로서 취득하며, 또한 본 문서의 검색 조건을 만족하는 범위의 정보를 취득하고, 검색 조건을 만족하는 범위가 구조화 문서에서 문서 구조를 나타내는 태그의 속성 정보중에 존재하는지의 여부를 판정하고, 본 검색 조건을 만족하는 범위가 태그의 속성 정보 중에 존재할 경우에는, 구조화 문서의 내용 문자열중에 본 검색 조건을 만족하는 범위의 문자열을 포함하는 문자열을 추가하며, 본 문자열에서 본 검색 조건을 만족하는 범위에 대해 상기 특정한 문서형 정의에 기초하는 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하도록 하고 있다.
또한, 처리 장치와 기억 장치와 파일 장치와 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 방법이고, 상기 처리 장치는, 입력된 특정한 문서형 정의에 따르는 구조화 문서를 태그를 남긴 상태에서 플레인 텍스트로서 상기 파일 장치에 저장하고, 미리 지정된 특정한 태그를 구성하는 문자열을 검색 대상으로부터 제거하며, 본 특정한 태그를 구성하는 문자열의 전후를 연결한 문자열에 대해 검색함으로써 얻을 수 있는 검색 조건을 만족하는 범위에 대해 상기 특정한 문서형 정의에 기초하는 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하도록 하고 있다.
또한, 처리 장치와, 기억 장치와, 파일 장치와, 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 방법이고, 상기 처리 장치는, 입력된 특정한 문서형 정의에 따르는 구조화 문서를 태그를 남긴 상태에서 플레인 텍스트로서 상기 파일 장치에 저장하고, 입력된 검색 조건에 따라 본 파일 장치에 플레인 텍스트로서 저장된 구조화 문서를 검색할 때, 검색 조건을 만족하는 범위가 미리 지정된 문서 구조의 개시를 나타내는 특정한 태그와 문서 구조의 끝을 나타내는 특정한 태그에 끼워지는지의 여부를 판정하고, 끼워질 경우에는, 문서 구조의 개시를 나타내는 특정한 태그보다 앞 혹은 문서 구조의 끝을 나타내는 태그보다 뒤의 내용 문자열 중에 본 검색 조건을 만족하는 범위의 문자열을 포함하는 문자열을 추가하고, 본 문자열에서 본 검색 조건을 만족하는 범위에 대해 상기 특정한 문서형 정의에 기초하는 하이라이트를 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하도록 하고 있다.
도 1은 실시예 1, 2의 구조화 문서 검색 표시 장치의 처리 블럭도.
도 2는 구조화 문서 검색 표시 처리의 플로우차트를 나타내는 도면.
도 3은 구조화 문서 등록의 내용을 나타내는 도면.
도 4는 구조화 문서 등록 처리의 플로우차트를 나타내는 도면.
도 5는 검색용 텍스트를 도시한 도면.
도 6은 갱신 처리의 플로우차트를 도시한 도면.
도 7은 지정 구조의 추출 처리의 플로우차트를 도시한 도면.
도 8은 구조 지정의 해석 결과로서 출력되는 정보를 나타내는 도면.
도 9는 문서 표시 처리의 플로우차트를 도시한 도면.
도 10은 구조화 문서 및 하이라이트 처리 결과의 예를 도시한 도면.
도 11은 문서 표시용 DTD 작성 처리의 플로우차트를 나타내는 도면.
도 12는 구조화 문서 검색용의 정규화 처리의 내용을 나타내는 도면.
도 13은 정규화 처리를 행한 결과의 저장 내용을 나타내는 도면.
도 14는 정규화 처리를 행한 경우의 히트 범위 정보의 변환 처리 내용을 나타내는 도면.
도 15는 정규화 처리를 행한 경우의 히트 범위 정보의 변환 처리의 플로우차트를 나타내는 도면.
도 16은 하이라이트 정보를 부가하는 처리의 플로우차트를 나타내는 도면.
도 17은 실시예 2에서의 히트 범위 정보를 나타내는 도면.
도 18은 실시예 2에서의 히트 정보마다의 하이라이트 방법의 정의를 나타내는 도면.
도 19는 실시예 2의 하이라이트 표시용 DTD 에의 변환 내용을 나타내는 도면.
도 20은 실시예 2에서의 하이라이트 처리의 플로우차트를 나타내는 도면.
도 21은 실시예 2에 의해 하이라이트 정보를 부가한 SGML 문서의 예를 나타내는 도면.
도 22는 하이라이트 표시의 예를 나타내는 도면.
도 23은 실시예 3의 구조화 문서 검색 표시 장치의 개략 처리 블럭도.
도 24는 실시예 3의 처리 내용의 플로우차트를 나타내는 도면.
도 25는 부분 구조 표시용의 DTD로의 변환 처리를 나타내는 도면.
도 26은 부분 구조 표시용의 DTD 작성 처리의 플로우차트를 나타내는 도면.
도 27은 실시예 4에서의 시스템 구성도.
도 28은 데이타 제어부의 플로우차트를 나타내는 도면.
도 29는 실시예 4에서의 문자 검색 처리 및 하이라이트 위치 정보의 작성 처리의 플로우차트를 나타내는 도면.
도 30은 하이라이트 위치 정보 저장 영역의 구성을 도시한 도면.
도 31은 하이라이트수 저장 영역의 구성을 도시한 도면.
도 32는 하이라이트 태그 문자 저장 영역의 구성을 도시한 도면.
도 33은 실시예 4에서의 하이라이트 태그 부착의 HTML 문서의 작성 처리의 플로우차트를 나타내는 도면. 흐름도.
도 34는 하이라이트 삽입예.
도 35는 하이라이트 삽입 후의 예.
도 36은 실시예 5에서의 시스템 구성도.
도 37은 실시예 5에서의 검색 처리 및 하이라이트 위치 정보 작성 처리(2)의 플로우차트를 나타내는 도면.
도 38은 실시예 5에서의 태그 내 검색 및 태그 외 검색 처리의 플로우차트를 나타내는 도면.
도 39는 실시예 5에서의 태그 외용 검색 처리의 플로우차트를 나타내는 도면.
도 40은 실시예 5에서의 하이라이트용 태그의 삽입 HTML 문서의 작성 처리의 플로우차트를 나타내는 도면.
도 41은 실시예 5에서의 하이라이트 태그 삽입 처리의 플로우차트를 나타내는 도면.
도 42는 실시예 5에서의 태그 외 하이라이트 태그 삽입 처리의 플로우차트를 나타내는 도면.
도 43은 실시예 6에서의 검색 조건의 예.
도 44는 실시예 6에서의 히트 범위 정보의 예.
도 45는 실시예 6에서의 하이라이트 표시용 DTD로의 변환 처리를 나타내는 도면.
도 46은 실시예 6에서의 하이라이트 표시용의 SGML 문서의 예를 나타내는 도면.
도 47은 실시예 6에서의 하이라이트 표시의 예를 나타내는 도면.
〈도면의 주요 부분에 대한 부호의 설명〉
101 : 구조화 문서 검색 표시 장치
102 : 구조화 문서
103 : 검색 조건
104 : 문서 등록
105 : 구조화 문서 DB
106 : 검색용 정보 DB
107 : 문서 판독
108 : 검색
109 : 비트 문서 번호
110 : 비트 범위 정보
111 : 구조화 문서 내용
112 : 문서 표시
113 : 표시용 문서
114 : 등록 데이타
115 : 입출력 장치
제1 실시예의 개략의 처리 블럭도를 도 1에 도시한다.
참조 번호 101은 구조화 문서 검색 표시 장치이다. 등록 데이타 파일(114)에 저장된, 구조화 문서(102)를 입력으로서 문서 등록의 처리를 행함에 따라, 구조 해석된 구조화 문서(도 3에 의해 후술함)와 문서 검색을 위한 문서 검색용 정보(도 5에 의해 후술)가 생성된다.
구조 해석된 구조화 문서는, 구조화 문서 데이타 베이스(이하, 데이타 베이스를 DB라고 기술함. ; 105)에 저장하고, 검색용 정보는 검색용 정보 DB(106)에 저장된다.
다음에 입출력 장치(115)로부터 검색 조건(103)이 입력되면, 검색 조건을 해석하고, 문서 검색용 정보를 판독하여 검색 처리(108)를 행한다. 검색 결과로서는 히트한 문서 번호의 정보(109)와 히트 범위의 정보(110)를 출력한다.
표시 처리는, 우선 문서 판독의 처리(107)에서 히트한 문서 번호의 정보(109)에 기초하여 구조화 문서 DB(105)로부터 지정된 구조 해석 종료 구조화 문서(111) 하나를 판독한다. 문서 표시(112)의 처리에서는, 히트 범위 정보(110)를 기초로 구조 해석 종료 구조화 문서(111)에 대해 히트 정보를 매립한 표시용의 구조화 문서(113)를 생성한다. 생성된 표시용 구조화 문서는 입출력 장치(115)에 표시된다.
도 2에 구조화 문서 검색 표시의 처리 플로우를 도시한다.
우선, 구조화 문서의 등록 처리를 행한다(201). 등록 처리의 내용에 대해서는 도 4의 플로우차트를 이용하여 후술하겠다.
다음에, 지정된 검색 조건을 이용하여 구조화 문서를 검색한다(202). 검색 처리의 상세한 내용은, 도 6의 플로우차트를 이용하여 후술한다.
검색 결과로는 히트 문서수와 히트 문서를 식별하는 번호와 각 문서마다의 검색 용어의 히트 범위가 있다. 히트 범위의 정보는, 히트한 검색 용어가 포함되는 구조를 식별하기 위한 구조 ID(구조 식별자)와 구조 내에서의 히트 개시 위치, 텍스트 길이의 정보를 출력한다.
구조화 문서 검색의 처리에서 히트 문서수가 1 이상이면(203), 순차적으로 히트한 문서의 내용을 판독하고(204), 판독한 문서의 히트 범위 정보를 취득하고(205), 하이라이트 표시를 실현한다(206). 표시 처리의 상세한 내용에 대해서는 도 9를 이용하여 후술한다.
또한 히트한 문서가 있으면, 204로부터 206의 처리를 반복한다.
표시 처리를 끝내면, 다음 검색 처리의 유무를 확인하고(208), 검색 조건이 없으면 처리를 끝내고, 검색 조건이 있으면 202의 처리로 되돌아가 구조화 문서의 검색 표시 처리를 반복한다.
도 3은, 구조화 문서 등록 처리의 개요를 나타낸 도면이다.
우선, SGML 문서(301)의 구조를 해석하여 나무 구조(302)를 생성한다. 생성한 나무 구조의 각 항목의 내용을 테이블 형식의 데이타(303)로서 출력하고, 이것을 해석이 끝난 구조화 문서로서 등록한다. 여기서, CDATA는 문자열 데이타를 뜻한다.
도 4는 구조화 문서 등록 처리의 플로우차트이다.
우선, 구조화 문서를 해석한다(401). 해석된 구조화 문서를 해석 종료 구조화 문서로서 등록한다(402). 구조화 문서의 해석에는, DTD를 이용하여 SGML 문서를 해석하는 SGML 퍼서를 이용함으로써 실현할 수 있다.
다음에, 해석된 구조화 문서에 대해 검색에 불필요한 구조를 제거하기 위한 정규화 처리를 행한다(403).
정규화 처리의 순서에 대해서는 도 12를 이용하여 후술한다. 그리고, 정규화 처리한 구조화 문서를 문서 데이타 베이스에 등록한다(404).
또한, 데이타 베이스에 등록된 해석이 끝난 구조화 문서로부터, 구조화 문서의 검색에 필요한 검색용 정보로서, 구조 정보, 구조 내의 텍스트의 정보를 추출한다(405). 여기서 얻어진 검색용 정보를 검색용 정보 DB(106)에 등록한다(406). 여기서, 등록되는 검색용 정보는 SGML 문서중의 구조 정보(태그)를 제거하고, 각 구조마다 구조 정보와 그 내용을 나타내는 텍스트 열을 저장한 것이다.
도 5에 상기 검색용 정보와 정규화한 구조화 문서로 이루어지는 검색용의 텍스트의 저장예를 나타낸다. 상기 처리를 등록 문서에 대해 반복하여 실행하고, 등록 문서가 없어졌을 때 처리를 종료한다(407). 등록 내용은 등록 문서의 전문 검색에 이용한다.
도 5는, 검색용의 텍스트로서, 출력되는 내용의 예이다. 이와 같이 문서 구조의 구조 ID와 텍스트열을 대응화하는 테이블과 문자열 정보로 이루어지는 정보를 검색용의 텍스트로서 등록한다. 검색할 때에는 구조 ID를 바탕으로 필요한 문자열을 추출하여 검색을 행한다.
도 6은, 도 2의 구조화 문서 검색 표시 처리의 202 스텝의 구조화 문서 검색의 처리 플로우이다.
검색 조건은, 「검색 대상의 구조 지정 : 검색 조건식」과 같이 부여된다.
검색 대상의 구조는, 가령 「문서. 타이틀」과 같이 ''와 ''로 둘러싸이고, 상위 구조(예의 경우, 「문서」)와 하위 구조(예의 경우, 「타이틀」)는 '.'로 구획지어지고, 계층 구조 중 어떤 구조에 대해 검색을 행할지가 지정된다.
검색 조건식은, 예를 들면 and (검색 문서)에서는, 검색과 문서가 양방 출현하는 조건을 도시하고 있고, C=10(검색, 문서)에서는, 검색과 문서가 10문자 이하의 문자를 끼워 출현하는 조건을 나타내고 있다.
구조화 문서 검색은, 우선 히트 문서수의 카운터를 클리어하고(601), 다음에 검색 조건중의 검색 대상의 구조 지정 부분의 해석을 행한다(602). 스텝 602에서는 문서. 타이틀과 같이 구조를 지정하는 문자열로부터 해석이 끝난 구조화 문서가 대응하는 구조를 임의로 특정할 수 있는 구조 ID(구조 식별자)를 취득한다. 구조 ID 취득의 처리 내용은 도 7의 플로우차트를 이용하여 후술하겠다.
이어서, 검색 대상으로서 등록된 문서(검색용 텍스트)를 판독하고, 스텝 602에서 취득한 지정 구조 ID에 대응하는 텍스트 부분을 취득한다(603).
검색 조건으로부터, 검색 용어, 또한 복수의 검색 용어의 출현의 논리곱, 거리 조건 등의 논리 조건으로 이루어지는 검색 조건식을 해석하고(604), 얻을 수 있는 검색 용어에 의해 스텝 603에서 취득된 텍스트 부분의 전문 검색을 행하며, 검색 조건식의 논리 조건을 만족하는지의 여부를 판정, 즉 검색 조건에 히트했는지의 여부를 판정한다 (605).
검색 조건에서 히트하면(606), 검색 결과로서 문서의 번호, 검색 용어가 포함되는 구조의 ID와, 구조 중의 검색 용어가 히트한 범위의 정보를 출력한다(607).
또한, 히트한 문서의 수를 카운트하고(608), 본 처리를 전문서에 대해 행한 후(609) 히트 문서수를 출력한다(610).
도 7은, 도 6의 검색 조건의 해석에서의, 구조 지정 내용의 해석 처리의 플로우차트이다.
우선, 문서의 최상위 구조를 취득한다(701). 다음에 최상위 구조로부터 순서대로 하위 구조를 취득한다. 취득한 구조가 지정 구조의 하위 구조이면(703), 그 구조를 검색 대상의 구조로서 구조 ID를 출력한다(704).
하위 구조가 있으면(705), 또한 그 하위 구조에 대해 마찬가지로 지정된 구조의 하위 구조인지의 여부를 판정하고, 하위 구조이면 구조 ID를 출력하는 처리(706)를 하위 구조가 없어질 때까지 반복(707)하며, 모든 구조에 대해 처리가 끝나면, 검색 대상의 구조 ID의 일람을 얻을 수 있다.
도 8에 검색 대상이 되는 구조 ID 일람의 출력 형식을 나타낸다.
검색 대상이 되는 구조 ID의 수(801)와, 검색 대상으로서 얻어진 수의 ID(802)가 출력된다.
도 9는, 표시 처리의 내용을 나타내는 플로우차트이다. 본 플로우차트를 이용하여 표시 처리의 내용을 이하에 진술한다.
우선, 검색 대상의 구조화 문서는, 검색에 불필요한 구조를 제거하는 정규화 처리를 행한 후의 문서이기 때문에, 검색에 따라 히트한 구조 및 히트 범위 정보는, 반드시 등록한 정규화하지 않는 구조화 문서에서의 구조 및 범위와 일치한다고는 하지 않는다(도 3의 나무 구조(302)와 도 12의 나무 구조(1203)를 참조).
표시에 이용하는 문서는, 등록한 정규화하지 않는 구조화 문서에 대해 히트한 범위에 하이라이트 정보를 부가한 문서가 된다.
따라서, 우선 등록 문서의 DTD로부터 표시에 이용하는 문서용의 표시용 DTD의 작성 처리를 행한다(901). 표시용 DTD 작성 처리의 내용에 대해서는 도 11을 이용하여 후술한다.
또한, 정규화 후의 구조화 문서에 대해 얻어진 히트 범위에 대해서는 정규화전의 등록한 구조화 문서에서의 구조 및 하이라이트 범위 정보로 변환한다(902). 정규화 후의 문서의 히트 범위 정보의 정규화 전의 문서의 하이라이트 범위 정보에의 변환 처리의 내용에 대해서는 도 15를 이용하여 후술한다.
다음에 표시에 이용하는 해석이 끝난 문서의 최상위 구조의 정보를 판독하고, 903으로부터 911의 처리를 순서대로 반복함에 따라, 표시용의 문서의 출력 처리를 행한다.
우선, 구조 정보를 판독하고(903), 최초로 구조의 개시 태그를 출력한다(904). 또한 본 구조에 하위 구조가 존재하면(905), 하위 구조에 대해 표시 처리(903로부터 911의 처리)를 재귀적으로 행한다(906). 하위 구조가 없어지면, 구조의 끝을 나타내는 태그를 출력하는 처리(911)로 옮긴다.
여기서, 하위 구조는 문자열을 포함한다. 따라서,
문서
타이틀〉
구조화 문서
/타이틀〉
본문〉
강조〉 구조화 문서/강조의 검색은, ···
/본문
/문서〉
등의 구조화 문서에 대해서는, 타이틀〉의 하위 구조로서, 문자열(SGML에서는, CDATA라고 표현됨)이라는 구조가 존재하는 경우가 된다. CDATA는, 하위 구조를 갖지 않고, 문자열 정보로서 상기한 예인 경우, 「구조화 문서」라는 내용을 갖는 것이다.
본문에 대해서도 마찬가지로, 강조라는 구조와, 「의 검색은, ···」이라는 내용을 갖는 문자열이 하위 구조로서 존재하게 된다.
905의 스텝에서 하위 구조가 존재하지 않는다고 판정된 경우에는 문자열의 구조이기 때문에, 본 구조의 내용에 대해 히트 범위 정보와 비교하여(908), 히트 범위가 포함되는 구조이면, 하이라이트 처리를 행한다(909). 하이라이트 처리에 대해서는 도 16을 이용하여 후술한다.
히트 범위가 포함되지 않은 문자열이면, 내용을 그대로 텍스트로서 출력한다 (910). 출력 내용이 문자열인 경우에는 904, 911의 스텝에서 개시 태그, 종료 태그는 출력하지 않는다.
상기한 처리에서 구조마다의 하이라이트 표시를 실현한다. 또한 처리해야 할 구조가 있으면, 903으로부터의 처리를 반복한다(912).
도 10은, 등록용 DTD(1001)와, 등록할 SGML 문서(문서 인스턴스)의 예(1002), 하이라이트 표시에 이용하는 표시용 DTD(1003)와, 표시용으로 변환한 SGML 문서(문서 인스턴스)의 예(1004)이다. 또, DTD(Document Type Definition)는, 종래의 기술의 항에서 진술한 바와 같이, 태그의 명칭, 내용, 또한 태그에 의해 도시되는 문서 구조를 규정하는 문서형 정의이다.
DTD에서, 구조를 표현하는 경우에는 !ELEMENT 태그명에 이어서 - 또는 O이 2개 나열된다.
최초의 - 또는 O은, 구조 개시 태그의 생략의 가부를 도시하고 있고, -인 경우에는 생략할 수 없다. O인 경우는 생략 가능하다. 2개째의 - 또는 O은, 종료 태그의 생략의 가부를 나타내고 있다.
다음에, 내용 모델로서 하위 구조로 출현할 수 있는 구조가 기술된다.
도 10의 DTD1001의 (타이틀, 본문)인 경우, 타이틀은 하위 구조 1, 본문은 하위 구조(2)이다.
(하위 구조(1), 하위구조(2)?)와 같이 기술되는 경우에는, 하위 구조(1) 후에 하위 구조(2)가 각각 1회만 출현하는 것을 나타내고, ? 는, 하위 구조(2)는 출현하지 않아도 되는 것을 나타내고 있다.
(하위 구조1|하위 구조(2))*인 경우에는 하위 구조(1, 2)가 순서 부동으로 복수회(0회를 포함함) 출현하는 것을 나타낸다.
여기서, 내용 모델에 CDATA로 기술되어 있는 경우에는, 그 구조 중에는 하나만의 문자열이 존재하는 것을 나타내고 있다.
#PCDATA도 문자열을 나타내고 있지만, 반복 출현이 가능하다. 문자열과, 구조가 혼재할 경우에는, #PCDATA를 이용할 필요가 있다.
내용 모델에, CDATA를 대신하여 RCDATA가 지정될 경우가 있다. CDATA와 RCDATA의 차이는, CDATA가 구조 내에 엔티티 참조(xxxx,와 같이 기술됨. 외자로의 치환 등에 이용됨.)가 출현한 경우에, 엔티티(외자 등)로의 변환을 행하지 않고, 출현한 문자열대로, 문자열로서 취급하는 것이다. RCDATA가 지정된 경우는, 엔티티로의 변환을 행한 문자열을, 문자열로서 취급한다.
하이라이트 표시하기 위해서는, 문자열에 대해 하이라이트 정보를 부가할 수 있도록, 문서 구조를 변경할 필요가 있다. 1003에 언더라인으로 도시한 변경점과 마찬가지로 각 구조의 문자열 부분에 대해서는 모두 하이라이트 표시용의 구조 정보를 추가하고, 또한 하이라이트 표시용의 구조 정보(!ELEMENT 하이라이트…(#PCDATA)를 부가할 필요가 있다.
원래의 DTD에서 내용 모델의 CDATA로 되어 있는 부분이, (#PCDATA| 하이라이트)*로 변경되는 것은, CDATA가 그 구조 중에는 문자열이 하나 밖에 존재하지 않은 것을 나타내고 있고, 반복의 요소로는 출현할 수 없기 때문이다. 하이라이트용의 태그가 부가되기 때문에, 원래 구조가 CDATA라도, #PCDATA로 변경한 후에 하이라이트가 반복 출현하는 것이 가능하도록, (#PCDATA|하이라이트)*로 하는 것이다.
도 11은, 등록용 DTD로부터 하이라이트 표시용의 DTD를 작성하기 위한 처리 내용을 나타내는 플로우차트이다.
우선, 등록용 DTD를 판독하고(1101), DTD의 내용을 해석하여 ELEMENT 항목을 취득한다(1102). ELEMENT 항목의 내용 모델 중에 CDATA, RCDA #PCDATA 등이 지정되어 있는 경우에는 모두 하이라이트용의 구조를 부가할 수 있도록 내용 모델을 변경한다(1103-1106).
내용 모델의 변경은, 우선 CDATA, RCDATA, 를 #PCDATA로 변경한 후에 #PCDATA를 (#PCDATA|하이라이트)*와 마찬가지로 하이라이트 태그로 둘러싸인 문자열과, 둘러싸이지 않는 문자열이 반복 출현하도록 정의한다.
원래의 내용 모델이, (#PCDATA|언더라인)*과 같이 복수의 구조가, 반복적으로 출현하도록 기술되어 있는 경우에는 (#PCDATA|언더라인|하이라이트)*와 같이 하이라이트 구조가 출현하는 것을 기술하는 것만으로도 좋다.
모든 ELEMENT 선언에 대해 변경 처리가 끝나면(1107), 하이라이트용의 구조의 정의로서, !ELEMENT 하이라이트--CDATA를 추가한다(1108). 이상의 처리에서 도 10의 1003에 도시한 하이라이트 표시용의 DTD가 생성된다.
도 12는, 구조화 문서의 정규화 처리의 내용을 나타낸 도면이다.
도 10의 1001에 도시한 구조화 문서를 나무 구조로 나타내면 1201과 같다.
불필요한 구조로서 언더라인이 지정되어 있을 경우, 정규화 처리의 최초의 처리로서 1202에 도시한 바와 같이 언더라인이라는 구조를 삭제하고, 언더라인의 하위 구조에 포함되는 문자열은, 직접 상위 구조인 본문의 요소로 한다.
또한, 본문의 하위 구조로서 문자열(CDATA)이 2개 나열되어 있기 때문에, 1203과 같이 문자열을 연결하여 하나의 문자열 데이타로 한다.
도 13은 정규화 처리 전의 구조화 문서(1301), 정규화 처리 후의 구조화 문서(1302)의 내용을 해석하고, 테이블 형식으로 변환하여 출력한 내용이다. 1303은 구조 정보를 저장한 테이블이고, 0으로부터 6까지의 구조 ID가 장착된 구조는 정규화전 구조의 정보이다. 0이 최상위 구조이고, 하위 구조의 정보를 찾아감으로써 문서 구조를 알 수 있다.
7로부터 9까지의 구조 ID(구조 식별자)가 장착된 구조는 정규화 후로 변경, 추가된 구조이다.
7이 최상위 구조이고, 하위 구조를 찾아가면 정규화 후의 문서 구조를 알 수 있다. 여기서, 변경이 없는 구조인 타이틀이하의 구조인 구조 ID1, 2의 구조 정보는 그대로 남겨진다.
또한, 정규화 처리에서 추가된 구조 ID7로부터 9의 구조에 대해서는, 1304의 정규화 대응 테이블에 의해 정규화 전의 구조와의 대응 관계가 저장된다.
도 14는 정규화 후의 구조화 문서에 대해 검색했을 때의 히트 범위의 정보를 정규화 전의 구조화 문서에서의 범위 정보로 변환한 결과를 나타내고 있다.
1401의 정규화 후의 구조 정보에 기초하여 얻을 수 있는 히트 범위의 정보를 도 13의 1304의 정규화 대응 테이블의 정보를 이용하여 정규화 전의 구조화 문서에서의 범위 정보(1402)로 변환한다.
본 도면의 예에서는, 정규화 후의 구조 ID9의 히트 범위가, 정규화 전의 문서에서는 구조 ID5와 6으로 분리되어 있기 때문에 2개의 구조 중 하이라이트 대상의 범위 정보로 변경한다.
도 15에, 도 9의 902 스텝의 정규화 처리 후의 구조화 문서에 대한 히트 범위 정보를 정규화 처리 전의 구조화 문서에 대한 히트 범위 정보로 변환하는 처리내용의 플로우차트를 나타낸다.
우선, 정규화 후의 히트 범위 정보를 순차 판독하고(1501), 히트 범위 정보의 구조 ID가, 정규화 후로 추가된 것인지, 정규화전으로부터 존재하는 것인지를 판정한다 (1502).
정규화 전부터 존재하는 구조 ID이면 변경은 없기 때문에, 그대로 정규화 전의 히트 범위 정보로서 출력한다(1503).
정규화 후에 작성된 구조 ID이면, 도 14의 정규화 대응 테이블의 정규화 후 구조 ID를 찾아가고, 문자 범위의 정보로부터 대응하는 정규화 전의 구조 ID와, 히트 범위를 얻는다(1504).
정규화 처리전의 구조에서의 히트 범위를 얻으면, 이것을 정규화 전의 히트 범위로서 출력한다(1505).
모든 히트 범위 정보에 대해 처리를 끝내면(1506), 표시용 하이라이트 범위 정보를 얻을 수 있다.
도 16은, 도 9의 909스텝의 하이라이트 처리의 플로우차트이다. 우선, 문서의 선두로부터 하이라이트 개시까지의 문자열을 출력한다(1601). 다음에, 하이라이트 표시에 이용하는 구조의 개시 태그를 출력한다(1602).
또한, 하이라이트 범위의 문자열을 출력하고(1603), 하이라이트 표시에 이용하는 구조의 종료 태그를 출력한다(1604).
모든 하이라이트 처리를 끝내면(1605), 남은 텍스트를 출력하고, 하이라이트 처리를 끝낸다(1606).
다음에 제2 실시예로서, 히트 조건에 따라 하이라이트 표시 방법을 변경하는 처리, 또한 복수의 하이라이트 처리를 계층적으로 행하는 경우의 처리에 대해 설명한다. 개략 처리 블럭도는 도 1과 동일하다.
도 17은, 본 실시예에서 이용하는 히트 범위 정보(1701)이다.
도 14에 도시한 히트 범위 정보에 대해 추가된 정보는, 각 히트한 조건을 저장하는 영역(1702)이 추가되어 있는 것이다.
또한, 도 14에서는 히트한 검색 용어의 범위만을 출력하고 있지만, 검색 조건에따라 히트한 검색 용어에 더해져 그 검색 용어가 포함되는 구조 전체에 대한 하이라이트 등, 검색 용어를 포함하는 영역을 지정하는 것을 가능하게 하고 있다.
이들 히트 조건의 정보는, 구조화 문서의 검색 처리시에 부가한다. 여기서는, 검색 조건에 이용된 거리 조건, 각 검색 용어의 출현 빈도등의 정보를 부가하고 있지만, 검색 용어마다 미리 부가를 행하는 등의 방법을 이용할 수 있다.
도 18은, 히트 조건과 하이라이트 방법(하이라이트 표시 형태)의 대응을 정의한 테이블(1801)이다.
히트 조건(1802)에 대응하는 하이라이트 방법(1803)이 기술되어 있다. 각 히트 조건에 따라 히트한 범위는 본 테이블의 내용에 기초하여 하이라이트 표시를 행한다.
또한, 계층 정보(1804)가 부여되어 있고, 계층 정보의 값이 클수록, 구조 전체의 하이라이트 등 상위인 하이라이트 구조로 되어 있다.
도 19는, 상기된 하이라이트 처리를 실현하기 위한, 표시용 DTD 작성의 처리 내용을 도시한 것이다.
등록에 이용한 원래의 DTD(1901)에 대해 상위의 하이라이트 구조 내에는 하위의 하이라이트 구조를 계층적으로 지정할 수 있고, 또한 생략도 가능하도록 정의를 변경, 추가한 하이라이트 표시용의 DTD(1902)를 생성하고 있다.
DTD의 작성 방법은, 도 11을 이용하여 상술된 처리에 대해 1106 스텝의 하이라이트 정보를 부가할 때에 복수가, 존재하는 하이라이트 정보를 모두 부가(1903)하고, 또한 1108 스텝의 하이라이트용 ELEMENT 선언 추가할 때에 도 18의 계층 정보(1804)를 바탕으로 각 하이라이트 구조의 하위 구조로서, 하위의 하이라이트 구조 및 문자열을 내용 모델로서 갖도록 하면 된다.
하위의 하이라이트 구조가 없으면, 내용 모델로서 문자열만이 출현한다 (1904).
도 20은, 제2 실시예에서의 하이라이트 처리의 플로우차트이다.
우선, 하이라이트 정보를 개시 위치 순서를 제1 키, 계층 정보의 상위로부터 하위의 순서를 제2 키로서 소트한다(2001). 다음에, 하이라이트 개시까지의 텍스트를 출력하고(2002), 하이라이트 개시 태그를 출력한다(2003).
또한, 하이라이트 범위의 끝까지 다음 하이라이트가 개시하면, 하위의 구조 정보가 존재하기 때문에(2004), 그 위치까지의 텍스트를 출력한 후에(2005), 하위의 하이라이트 구조에서의 하이라이트 처리를 행한다(2006). 하위 구조에서의 하이라이트 처리는, 2003으로부터 2009의 처리와 동일하다.
하위의 하이라이트 구조에 대한 처리를 끝낸 후, 또한 하위의 하이라이트 구조가 있으면(2007), 2005 스텝의 처리로 복귀하여, 다음 하이라이트 구조까지의 텍스트를 출력하고, 하위의 하이라이트 구조의 처리를 행한다.
하위의 하이라이트 구조가 없어지면, 구조의 끝까지의 텍스트를 출력하여(2008), 하이라이트 종료 태그를 출력한다(2009).
하이라이트의 정보가 남으면, 2002의 스텝으로 복귀하고, 처리를 반복한다. 하이라이트의 정보가 끝나면(2010), 남은 텍스트를 출력하고, 처리를 끝낸다(2011).
도 21은, 상기 처리에 의해 생성되는 SGML 문서의 예이다.
도 22는, 도 21의 SGML 문서의 본문의 표시예이다. 중복된 하이라이트 범위에 대해서는 복수의 하이라이트를 위한 표시 방법을 중복하여 행하고 있다. 제3 실시예로서 구조화 문서의 부분 구조만을 추출하고, 하이라이트 표시하는 경우의 처리 내용을 나타낸다.
도 23은, 본 실시예의 개략 처리 블럭도를 도시한 것이다.
도 1로부터의 변경점은 표시 대상의 구조(2301)를 지정하도록 하는 것과, 표시 대상의 구조의 지정 내용을 바탕으로 문서 표시(112)의 처리를 대신하여 부분 구조 표시의 처리(2302)를 행하는 것이다.
도 24는, 부분 구조를 추출하여 표시하는 경우의 처리 순서를 나타낸 플로우차트이다.
우선, 부분 구조 표시용의 DTD를 작성한다(2401). 부분 구조 표시용의 DTD의 작성 처리에 대해서는 도 26을 이용하여 후술한다.
또한, 정규화 후의 구조화 문서에 대해 얻어진 히트 범위에 대해서는 정규화 전의 등록시의 문서에서의 구조 ID 및 히트 범위 정보로 변환한다(2402). 정규화 후의 문서 정보의 정규화 전의 문서의 범위 정보로의 변환 처리의 내용에 대해서는 도 16을 이용하여 상술된 방법을 이용할 수 있다.
다음에 표시 대상이 되어 있는 해석이 끝난 문서 구조의 정보를 판독하고, 2403으로부터 2411의 처리를 순서대로 반복함으로써 표시용 문서의 출력 처리를 행한다.
우선, 표시 대상이 되는 구조 정보를 판독한다(2403). 여기서 표시 대상의 구조인지의 여부 판정은, 도 7을 이용하여 상술한 방법을 이용하여 실현한다.
표시 대상의 구조 정보이면, 우선 구조의 개시 태그를 출력한다(2404). 또한 본 구조에 하위 구조가 존재하면(2405), 하위 구조에 대해 표시 처리(2403)로부터 2411의 처리)를 행한다(2406). 하위 구조가 없어지면, 구조의 끝을 나타내는 태그를 출력하는 처리(2411)로 옮긴다.
2405의 스텝에서 하위 구조가 존재하지 않는다고 판정된 경우에는 문자열의 구조이기 때문에 본 구조의 내용에 대해 히트 범위 정보와 비교하고(2408), 히트 범위가 포함되는 구조이면, 하이라이트 처리를 행한다(2409). 하이라이트 처리에 대해서는 도 15를 이용하여 상술한 방법을 이용한다.
하이라이트 범위가 포함되지 않은 문자열이면, 내용을 그대로 텍스트로서 출력한다(2410). 출력 내용이 문자열인 경우에는, 2404, 2411의 스텝에서 개시 태그, 종료 태그는 출력하지 않는다.
상기한 처리에서 구조마다의 하이라이트 표시를 실현한다. 또한 처리해야 할 구조가 있으면, 2403로부터의 처리를 반복한다(2412).
도 25는, 부분 구조 표시용의 DTD의 작성 내용이다.
부분 구조의 출력에 따라 원래의 DTD(2501)에서 반드시 출현해야 한다고 정의되는 구조가 출력되지 않을 경우가 있다. 또한 상위 구조가 반드시 출력된다고는 하지 않는다.
이 때문에, 상위 구조의 개시 태그, 종료 태그의 출현을 필수로 하지 않는 구조 그 자체에 대해서도 반드시 출현하도록 변경할 필요가 있다. 작성된 부분 구조 표시용의 DTD는 2502에 도시한 바와 같다.
본 DTD를 이용하여 작성한 SGML 문서는 2503에 도시한 바와 같다. 본 예에서는 타이틀만을 추출하고 있다.
도 26은 부분 구조 표시용의 DTD 작성 순서를 나타낸 플로우차트이다. 우선, 등록용 DTD를 취득한다(2601).
다음에 DTD 중의 ELEMENT 항목을 추출한다(2602). 내용 모델에 CDATA, ECDATA, #PCDATA가 포함되는 경우에는 하이라이트 정보를 부가한다(2603-2606).
하이라이트 정보의 부가는 도 11의 1103으로부터 1106 스텝의 처리와 동일하다.
다음에 내용 모델중의 출현 지시자(*, +, ?, 없음)를 체크하고, +이면(2607)*로 변경하고(2608), 출현 지시자가 없으면(2609), ?를 부가한다(2610).
모든 ELEMENT 선언에 대한 처리가 끝나면(2611), 하이라이트용 구조의 ELEMENT 선언을 추가하고(2612), 또한 하위 구조가 존재하는 구조의 태그가 출현하는 것이 필수(-)이면, 불필요(O)로 변경한다.
다음에, 본 발명을 이용한 실시예 4에 대해 도면을 이용하여 설명한다.
도 27은 본 실시예의 시스템 구성도이다.
WWW(Wor1d Wide Web) 검색 시스템(2700)은 네트워크(2702)를 사용하여 클라이언트(2701)와 접속되어 있다.
클라이언트(2701)는 PC, WS 등이고, 클라이언트(2701) 위에 동작하는 Web 브라우저(2703) 위의 검색 용어 설정 화면상에서 검색 용어를 입력한다. WWW 검색시스템(2700)에서는 이 검색 용어를 이용하여 검색을 행하고, 그 검색 결과를 Web 브라우저(2703)로 출력한다.
WWW 검색 시스템(2700)은, 클라이언트(2701)로부터의 검색 용어를 수취하는HTTP 서버(2704)와, 검색 처리 및 하이라이트용 태그를 삽입하는 데이타 제어도(2705)와, 하이라이트 태그의 위치 정보등을 저장해 두는 메모리(2706)로 이루어지고, 검색 대상이 되는 HTML 문서를 저장해 두는 자기 디스크 장치(2707)가 접속되어 있다.
데이타 제어부(2705)에서는, HTTP 서버(2704)에서 수취한 검색 용어를 자기 디스크(2707) 중에 존재하는 HTML 문서에 대해 검색 처리를 행하고, 검색 용어에 히트한 HTML 문서의 검색 히트 위치에 하이라이트 태그를 삽입한다.
메모리(2706)는, 각 문서마다의 검색 히트수를 저장하는 하이라이트수 저장 영역(2708)과, 검색 결과 위치 정보를 저장하는 하이라이트 위치 정보 저장 영역(2709)과, 삽입하는 하이라이트용 태그의 내용을 저장해두는 하이라이트용 태그 문자 저장 영역(2710)과, 하이라이트용 태그를 삽입한 HTML 문서를 저장하는 HTML 문서 일시 저장 영역(2711)과, 클라이언트(2701)에서 입력한 검색 용어를 WWW 검색시스템(2700)의 HTTP 서버(2704)에서 취득하고, 일시적으로 저장하는 검색 용어 저장 영역(2712)으로 이루어진다.
WWW 검색 시스템(2700)에 의해 하이라이트용 태그를 삽입한 HTML 문서는, HTTP 서버(2704)로부터 네트워크(2702)를 경유하여 클라이언트(2701)의 Web 브라우저(2703)상에 표시된다.
다음에, 데이타 제어부(2705)의 처리 내용에 대해 도 28을 이용하여 설명한다.
여기서는, 클라이언트(2701)에서 설정한 검색 용어를 취득하고, 검색 처리를 행하고, 검색 히트 위치를 검출하여 하이라이트 위치 정보(2709)를 작성하고, 검색 조건에 히트한 HTML 문서의 검색 용어에 히트한 HTML 문서의 검색 히트 위치에 하이라이트용의 태그를 매립하여 클라이언트(2701)의 Web 브라우저(2703)에 표시한다.
스텝 2800:
클라이언트(2701)에서 설정한 검색 용어을, WWW 검색 시스템(2700)에서는 HTTP 서버(2704)를 이용하여 취득한다. 취득한 검색 용어은, 메모리(2706)의 검색 용어 저장 영역(2712)에 저장된다.
스텝 2801:
스텝 2800에서 검색 용어 저장 영역(2712)에 저장한 검색 용어를 이용하여 자기디스크 장치(2707)에 저장되어 있는 HTML 문서에 대한 전문 검색을 행한다. 검색히트한 경우에는 HTML 문서 중의 검색 히트 위치나 검색 히트수 등을 취득하고, 그 정보를 하이라이트 위치 정보 저장 영역(2709), 하이라이트수 저장 영역(2708)에 저장한다. 이 처리에 대해서는 도 29를 이용하여 자세히 설명한다.
스텝 2802:
스텝 2801에서 작성된 하이라이트 위치 정보 저장 영역(2709)에 저장되어 있는 정보를 기초로, 하이라이트 태그 문자 저장 영역(2710)에 저장되어 있는 하이라이트용 태그를 HTML 문서의 검색 히트한 위치에 삽입하고, HTML 문서 일시 저장 영역(2711)에 저장한다. 상세한 내용은, 도 33을 이용하여 설명한다.
스텝 2803:
스텝 2802에 의해 작성된 HTML 문서 일시 저장 영역(2711)에 저장된 하이라이트용 HTML 문서를, HTTP 서버(2704)를 이용하여 클라이언트(2701)의 Web 브라우저(2703)에 표시한다.
스텝 2800으로부터 스텝 2803의 처리를 반복함에 따라 클라이언트(2701)에서 입력된 검색 조건을 이용하여 자기 디스크(2707)에 저장되어 있는 HTML 문서를 검색하고, 검색 조건에 히트한 문서에 대해 복수 개소의 검색 히트 위치의 하이라이트 표시를 가능하게 한다.
다음에, 도 29를 이용하여 도 28의 스텝 2801의 하이라이트 위치 정보의 작성 처리에 대해 설명한다.
스텝 2900:
자기 디스크(2707)에 저장되어 있는 HTML 문서를 판독한다. 도 34의 HTML 문서(3400)는, 판독한 HTML 문서의 예이다.
본 HTML 문서를 Web 브라우저로 표시하면, 3401에 도시한 바와 같은 화면이 표시된다.
스텝 2901:
하이라이트 위치 정보를 저장하는 영역인 하이라이트 위치 정보 저장 영역(2709)을 α건수만큼 확보한다. α는, 임의의 플러스인 정수이다. 또한 하이라이트수를 저장하는 하이라이트수 저장 영역(2708)을 확보한다.
또, 하이라이트 위치 정보 저장 영역(2709)과, 하이라이트수 저장 영역(2708)의 데이타 형식은 도 30 및 도 31에 나타낸다.
하이라이트 위치 정보 저장 영역(2709)은, 도 30에 도시한 바와 같이 HTML 문서 번호(3000), 선두로부터의 하이라이트 위치 번호(3001), 하이라이트 바이트수(3002), 하이라이트 삽입 태그 번호(3003)로 구성된다.
HTML 문서 번호(3000)는, 스텝 2900에서 판독한 HTML 문서의 번호이다. HTML 문서를 저장했을 때에 장착되는 통과 번호 등을 저장한다.
선두로부터의 하이라이트 위치 번호(3001)는, 스텝 2900에서 판독한 HTML 문서에 스텝 2800에서 취득한 검색 용어에 히트한 경우, HTML 문서 중의 검색 히트 위치를 문서 선두로부터 바이트수로 저장한다.
하이라이트 바이트수(3002)는, 하이라이트하는 길이를 바이트수로 저장시킨다. 즉, 검색 용어의 문자 열 길이를 저장한다.
하이라이트 삽입 태그 번호(3003)는, 복수의 검색 용어로 하이라이트 표시하는 경우, 검색 용어마다 하이라이트용 태그를 구별하여 표시하는 것이 가능하다. 여기에 저장되어 있는 정보를 기초하여 하이라이트용 태그를 구별한다. 즉, 여기에는 하이라이트 표시에 이용하는 태그의 종류를 판별하는 데이타를 저장한다.
스텝 2902:
하이라이트 위치 정보 저장 영역(2709)에 저장한 카운트를 도시하는 i_cnt를 0으로 초기 설정한다.
스텝 2903:
스텝 2800에서 판독한 검색 용어와 스텝 2900에서 판독한 HTML 문서가 일치하는지의 여부를 체크한다. 검색 히트 개소가 존재할 경우에는 스텝 2904로 진행한다. 또한, 존재하지 않을 경우에는 스텝 2908로 진행한다.
스텝 2904:
스텝 2901 또는 스텝 2905에서 확보한 하이라이트 위치 정보 저장 영역(2709)이 하이라이트 저장수를 나타내는 i_cnt보다 큰지의 여부를 체크한다. 데이타를 저장하는 영역이 아직 존재할 경우, 스텝 2906으로 진행한다. 또한, 저장하는 영역이 존재하지 않을 경우, 스텝 2905로 진행한다.
스텝 2905:
하이라이트 위치 정보 저장 영역(2709)을 일정값으로 확대하여 다시 재확보하고, 스텝 2906으로 진행한다.
스텝 2906:
스텝 2901 또는 스텝 2905에서 확보한 하이라이트 위치 정보 저장 영역(2709)의 i_cnt 번째의 위치에, HTML 문서 번호(3000), HTML 문서의 선두로부터의 위치(3001), 하이라이트 문자수(3002), 하이라이트 태그 삽입 번호(3003)를 저장한다. i_cnt는 0에 초기화되어 있으므로, i_cnt가 0일 경우 0번째에 데이타를 저장한다.
하나의 HTML 문서 중에 복수의 하이라이트 정보를 저장할 경우에는, i_cnt가 갱신되므로, i_cnt가 나타내는 위치에 저장한다.
스텝 2900에서 판독한 HTML 문서(3400)를 HTML 문서 번호 「001」로 한다. 또한, 스텝 2800에서 추출한 검색 용어를 「특집」으로 한다.
본 HTML 문서(3400)에서 검색 용어「특집」을 검색하면, HTML 문서(3400)의 선두로부터 122바이트째(3403)에 「특집」의 문자를 찾아낼 수 있다.
이 경우, HTML 문서 번호(3000)에는 HTML 문서 번호인 「001」(3404)을 저장하고, HTML 문서의 선두로부터의 위치(3001)에는 「122」(3405)를 저장하고, 하이라이트 문자수(3002)에는 「특집」의 바이트수 「4」(3406)을 저장한다. 마지막으로, 하이라이트 태그 삽입 번호(3003)에는, 검색 결과를 강조하기 위한 태그를 나타내는 번호를 저장한다. 여기서는, 「1」(3407)을 저장한다.
여기서, 하이라이트 삽입 태그 번호와 실제로 저장하는 하이라이트 태그를 대응하는 구성을 도 32에 나타낸다. 도 32의 (1)에서는 하이라이트 태그 문자 저장 영역(2710)에 저장되어 있는 하이라이트 삽입 태그용의 구조체(3200)를 나타낸다.
하이라이트 삽입 태그용의 구조체(3200)는, 통과 번호를 저장하는 태그 번호1(3202)과, 하이라이트 개시 태그명을 저장하는 개시 태그1(3203), 하이라이트 종료 태그명을 저장하는 종료 태그1(3204)과, 태그의 개수를 저장하는 하이라이트 태그수(3201)로 이루어진다. 하이라이트 태그수에 저장된 수만큼의 태그 번호, 개시 태그, 종료 태그가 존재한다.
하이라이트 태그 문자 저장 영역의 사용예를 (2)에 설명한다.
여기서는, 3종류의 하이라이트 태그를 저장하는 경우를 나타낸다. 따라서, 하이라이트 태그수를 저장하는 곳에는, 「3」(3205)을 저장한다. 태그 번호「0」(3206)이 있는 곳의 개시 태그에는 적색을 나타내는 태그「FONT COLOR=RED」(3207)을, 종료 태그에는 「/FONT」(3208)을 저장한다. 마찬가지로, 태그 번호「1」(3209)에는 점멸을 나타내는 태그「BLINK」를, 태그 번호「2」(3210)에는 문자를 크게 표시하는 「H1」을 저장한다.
하이라이트 태그 문자 저장 영역(2710)은, 하이라이트 위치 정보 저장 영역(2709)의 작성 전에 작성한다. 또한, 이 하이라이트 태그 문자 저장 영역(2710)은, 사용자 인터페이스를 사용하여 작성하는 것도 가능하다.
복수의 하이라이트용 태그를 준비함으로써, 다른 표기나 동의어의 검색 처리를 행할 경우에 다른 표기로 검색된 문자에는 태그 번호「1」, 동의어로 검색된 문자에는 태그 번호「2」와 같이 검색 조건마다 다른 하이라이트 표시가 가능해진다.
하이라이트용 태그에 「BLINK」를 사용할 경우에는 하이라이트 위치 정보 저장 영역(3402)의 하이라이트 태그 삽입 번호(3407)에 「1」을 저장한다.
스텝 2907:
스텝 2906에서, 하이라이트 위치 정보 저장 영역(2709)에 데이타를 저장했으므로, i_cnt에 1을 가하고, 스텝 2903으로 복귀시킨다.
스텝 2908:
스텝 2900에서 취득한 HTML 문서 중 하이라이트수를 취득하고, 하이라이트수 저장 영역(2708)에 저장한다. 하이라이트수 저장 영역(2708)의 구조체의 내용은 도 31을 이용하여 설명한다.
도 31은, 하이라이트수 저장 영역(2708)의 구조체의 내용이다. 3100은, 스텝2900에서 판독한 HTML 문서의 문서 번호이다. 또한, 3101은 취득한 하이라이트수를 저장해 두는 곳이다. 여기서는, 문서 번호「001」을 문서 번호 3100에 저장하고, i_cnt를 하이라이트수 저장 영역(3101)에 저장하고, 처리를 종료한다.
다음에, 도 33을 이용하여 하이라이트용 태그 부착의 HTML 문서 작성 처리에 대해 설명한다.
스텝 3300:
스텝 2900에서 판독한 HTML 문서 중에 하이라이트 태그를 삽입할 필요가 있는지의 여부를 체크한다.
하이라이트 위치 정보 저장 영역(2709)에 저장한 HTML 문서 번호(3000)가 존재할 경우에는 스텝 3301로 진행한다. 존재하지 않을 경우에는 스텝 3309에서 모든 텍스트를 출력하고, 처리를 종료한다.
스텝 3301:
처리 카운트를 나타내는 i_cnt를 0으로 초기화한다.
스텝 3302:
하이라이트 태그를 삽입한 HTML 문서를 저장하는 HTML 문서 일시 저장 영역(2711)을 확보한다.
HTML 문서 일시 저장 영역(2711)은, HTML 원문서의 바이트수는 하이라이트용 개시 태그와 종료 태그의 바이트수의 합계치에 하이라이트 삽입수를 곱한 바이트수의 영역을 확보한다.
하이라이트의 개시 태그와 종료 태그는, 하이라이트 위치 정보 저장 영역(2709)의 하이라이트 삽입 태그 번호(3003)로부터, 하이라이트용 태그의 태그 문자열 길이를 계산한다. 하이라이트수는, 스텝 2908에서 하이라이트수 저장 영역(2708)에 저장한 하이라이트수(3101)를 취득한다.
스텝 3303:
하이라이트수(3101)가 i_cnt보다 작은지의 여부를 체크한다.
작을 경우에는, 미처리의 하이라이트 장소가 존재하므로, 스텝 3304로 진행한다. 그 이외에는, 처리해야 할 미처리의 하이라이트를 전부 종료했으므로 스텝 3309로 진행한다.
스텝 3304:
하이라이트 위치까지의 HTML 문서를 스텝 3302에서 확보한 HTML 문서 일시 저장 영역(2711)에 저장한다.
스텝 3305:
하이라이트 개시 태그를 HTML 문서 일시 저장 영역(2711)에 저장한다. 하이라이트 개시 태그는, 하이라이트 삽입 태그 번호(3003)로부터 추출한 번호로부터 얻을 수 있는 하이라이트 태그 문자 저장 영역(2710)에 저장되어 있는 태그명이다.
도 34(3)의 경우, 하이라이트 삽입 태그 번호(3003)에는 「1」이 저장되어 있다. 도 32(2)에 도시한 하이라이트 태그 문자 저장 영역(2710)의 태그 번호「1」 (3209)에 저장되어 있는 「BLINK」를 HTML 문서 일시 저장 영역(2711)에 저장한다.
스텝 3306:
검색 용어를 HTML 문서 일시 저장 영역(2711)에 저장한다.
도 34인 경우, 「특집」을 HTML 문서 일시 저장 영역(2711)에 저장한다.
스텝 3307:
하이라이트 종료 태그를 HTML 문서 일시 저장 영역(2711)에 저장한다. 하이라이트 종료 태그는, 스텝 3305에서 처리한 하이라이트 개시 태그와 마찬가지로, 하이라이트 삽입 태그 번호(3003)로써 저장된 번호로부터 얻을 수 있는 하이라이트 태그 문자 저장 영역(2710)에 저장되어 있는 태그명을 저장한다.
도 34(3)인 경우, 「1」이 저장되어 있다. 따라서, 도 32(2)의 태그 번호 「1」에 저장되어 있는 「/BLINK」를 HTML 문서 일시 저장 영역(2711)에 저장한다.
스텝 3308:
스텝 3305로부터 스텝 3307에서 데이타를 HTML 문서 일시 저장 영역(2711)에 저장한 후, i_cnt에 1을 더하고, 스텝 3303으로 복귀한다.
스텝 3309:
하이라이트 삽입 위치로부터 HTML 문서 마지막까지 텍스트를 HTML 문서일시 저장 영역(2711)에 저장하고, 하이라이트 태그 부착 HTML 문서의 작성 처리를 종료한다.
이상의 처리를 이용함으로써, 클라이언트(2701)에서 설정한 검색 용어로부터, HTML 문서를 검색하고, 검색 용어와 일치하는 문서에 대해 하이라이트수를 저장하는 하이라이트수 저장 영역(2708), 하이라이트 위치를 저장하는 하이라이트 위치 정보저장 영역(2709)의 내용을 작성하는 것이 가능하다.
상기된 처리 결과의 예를 도 9에 도시한다. 3500은, 하이라이트용 태그를 삽입한 HTML 문서이다. 검색 히트한 「특집」의 전후(3501, 3502)에 하이라이트용 태그가 삽입되어 있다.
본 HTML 문서를 화면에 표시하면 3503과 같고, 검색 히트한 「특집」(3504)이 점멸 표시된다.
이상으로, 본 발명의 제1 실시예로서 클라이언트(2701)가 삽입한 검색 용어를 HTML 문서(2707) 안에서 검색하고, 히트 위치에 하이라이트용 태그를 삽입한 하이라이트용 태그 부착 HTML 문서를 작성하는 방법을 설명하였다.
다음에, 본 발명에서의 실시예 5에 대해 도 36으로부터 도 42를 이용하여 설명한다.
도 36은, 검색 용어가 HTML 문서의 태그로 분단되는 경우나, 검색 용어가 태그내에 존재할 경우의 하이라이트 표시 방법에서의 시스템 구성도이다.
도 27와 마찬가지로 클라이언트(2701)의 Web 브라우저(2703) 위에서 검색 용어를 설정한다.
WWW 검색 시스템(2700)은, 검색 용어를 취득하는 HTTP 서버(2704), 검색 처리를 행하는 데이타의 제어(2705), 영역을 확보하는 메모리(2706)로 이루어진다.
메모리(2706)는, 도 27의 설명에서 상술한 것 외에 레이아웃 표시 등에 사용되는 태그이고, 스킵 판독하는 태그명을 저장한 스킵 판독 태그명 저장 영역(3600)과, 클라이언트(2701)가 입력된 검색 용어와 HTML 문서(2707)가 일치한 개시 위치를 일시적으로 저장해 두는 개시 위치 저장 영역(3601)과, 검색 용어와 히트한 위치가 HTML 태그의 개시 문자「」와 종료 문자「」 사이에 존재할 경우, 표시가 되는 마크를 저장해 두는 재차 기술 마크 저장 영역(3602)과, HTML 태그의 개시 태그와 종료 태그 사이에 검색 용어가 히트할 경우, 검색 히트한 곳 전후로 하이라이트용 태그를 넣을 수 없는 HTML 태그를 기술해 두는 하이라이트 태그 삽입 불가능 태그명 저장 영역(3603)으로 이루어진다.
검색 용어가 HTML 문서의 태그에 걸쳐 있는 경우나, 검색 용어가 태그 내에 존재할 경우의 검색 용어의 취득, 하이라이트 위치 정보의 작성, 하이라이트용 태그 삽입 방법은, 도 28에서 도시한 처리 순서로 행한다. 또한, 각각의 처리 내용에 대해서는 도 37으로부터 도 42를 이용하여 설명한다.
스텝 2800에서 취득한 검색 용어를 이용하여 스텝 2801의 처리에서는 검색 처리 및 하이라이트 위치 정보 작성 처리를 행한다. 처리 내용은, 도 37의 플로우차트에 나타낸다.
스텝 3700:
처리 대상이 되는 HTML 문서를 자기 디스크(2707)로부터 판독한다.
스텝 3701:
하이라이트 위치 정보를 저장하는 하이라이트 위치 정보 저장 영역(2709)과 하이라이트수 저장 영역(2708)을 메모리(2706)에 확보한다.
스텝 3702:
검색 히트 위치의 전후로 삽입하는 하이라이트 태그를 판독한다.
도 32(2)의 사용예에 구체예를 도시한 바와 같이 하이라이트 태그 문자 저장 영역(2710)으로부터 하이라이트용 태그를 판독한다. 이 경우 하이라이트 삽입 태그 번호의 개수는, 「3」(3205)으로부터 「3개」라고 알 수 있다. 1번째의 「0」(3206)에는 「FONT COLOR=RED」(3207)과 「/FONT」(3208) 저장되어 있다. 그래서, 하이라이트 삽입 태그 번호 0번째의 개시 태그는 「FONT COLOR=RED」, 종료 태그는 「/FONT」이 된다. 마찬가지로, 하이라이트 삽입 태그 번호 1번째의 개시 태그는 「BLINK」, 종료 태그는 「/BLINK」가 되고, 하이라이트 삽입 태그 번호 2번째의 개시 태그는 「H1」, 종료 태그는 「/H1」이 된다.
스텝 3703:
HTML 문서의 처리가 끝난 문자수의 카운트를 도시하는 i_cnt와 하이라이트수를 저장하는 영역의 내용을 0에 초기 설정한다.
스텝 3704:
검색 용어와 HTML 문서의 문자열이 일치하는지의 여부를 체크한다. 체크 방법으로서 HTML 문서의 i_cnt 바이트째로부터, 검색 용어의 선두 문자와 일치하는 문자를 검색한다. 스텝 3703에서, 초기 설정이 0으로 설정되기 때문에 처음에는 HTML 문서의 0바이트째로부터 일치하는 문자를 검색한다. 일치한 경우에는 스텝 3705로 진행한다. 불일치할 경우에는 처리를 종료한다.
또한, 여기서는 검색 용어를 추출하는 방법으로서, 지정한 태그를 비산하여 검색하는 방법을 이용한다. 구체적으로는, 스킵 판독하는 태그명 저장 영역(3600)에 저장되어 있는 태그명을 HTML 문서 중에 존재할 경우에는 그 태그를 스킵 판독하고, 검색 처리를 행한다.
스킵 판독 태그명 저장 영역(3600)에 「IMG」를 저장해두고, 도 34의 HTML 문서(3400)를 검색한 경우, HTML 문서(3400) 중 선두로부터 데이타를 주사하고, 「IMG」(3413)가 추출된 시점에서 태그 내의 문자를 건너뛴다. 즉, 태그의 종료 문자「」(3414)까지를 비산한다.
이 스킵 판독 태그명 저장 영역(3600)은 검색 처리전에 설정해 둠으로써, 스킵 판독 처리가 가능해진다.
스텝 3705:
스텝 3704에서 HTML 문서의 선두로부터 검색 용어의 선두 문자와 일치한 문자까지의 문자수를 개시 위치 저장 영역(3601)에 일시적으로 확보한다.
스텝 3706:
검색 용어의 문자열과 HTML 문서에 씌여 있는 문자가 일치하는지의 여부를 체크하여, 일치한 경우 일치 개소가 HTML 태그 내에 존재하는지 혹은 HTML 태그 밖에 존재하는지의 여부를 체크한다. 또한, 검색 히트한 문자열의 마지막 문자의 위치를, HTML 문서의 선두로부터의 문자수로 확보한다. 상세한 내용은, 도 38을 이용하여 설명한다.
스텝 3707:
스텝 3706의 결과, 검색 히트하는지의 여부를 체크한다. HTML 문서 중에 검색 용어가 존재한 경우에는 스텝 3708로 진행한다. 검색 용어가 존재하지 않을 경우, 스텝 3712로 진행한다.
스텝 3708:
스텝 3701에서 확보한 하이라이트수 저장 영역(3708)과 하이라이트 저장수를 비교하여 확보한 영역이 저장된 하이라이트수보다 많으면, 스텝 3709로 진행한다. 적으면, 스텝 3710으로 진행한다.
스텝 3709:
하이라이트 위치 정보 저장 영역(2709)에 데이타를 저장하는 영역이 부족하기 때문에, 다시 영역을 재설정하고, 스텝 3710으로 진행한다.
스텝 3710:
하이라이트하는 문자수와 하이라이트의 위치의 정보를 하이라이트 위치 정보 저장 영역(3600)에 저장한다. 구체적으로는, 도 30에서 설명한 하이라이트 위치 정보 저장 영역(3600)의 HTML 문서 번호(3000)에는, 스텝 3700에서 판독한 HTML 문서의 문서 번호를 저장하고, 선두로부터의 하이라이트 위치 정보(3001)에는 스텝3705에서 취득한 개시 위치를 저장한다. 또한, 하이라이트의 바이트수(3002)에는 검색 용어의 문자열 길이를 저장하고, 하이라이트 삽입 태그 번호(3003)에는 스텝 3702에서 판독한 태그의 번호를 저장한다.
하이라이트 삽입 태그 번호(3003)는 디폴트로서 「0」을 설정한다.
스텝 3711:
검색 용어에 히트하는 문자열이 복수개 존재하는 경우, 검색 히트한 위치의 다음 문자로부터 재차 검색 용어와 HTML 문서 중 일치하는 곳을 체크하는 처리를 행한다. 그래서, 스텝 3706에서 확보한 검색 히트의 마지막 문자가 기술되는 위치의, HTML 문서의 선두로부터의 문자수에 1을 더한 값을 i_cnt에 대입한다. 처리 위치를 갱신하면, 스텝 3704로 복귀한다.
스텝 3712:
스텝 3705에서 취득한 개시 위치 저장 영역(3600)에 저장되어 있는 개시 위치로부터의 문자열과, 검색 용어가 일치하지 않을 경우, 개시 위치의 다음 문자로부터 재차 검색 용어와 HTML 문서 중의 일치하는 곳을 체크하는 처리를 행한다. 그래서 개시 위치 저장 영역(3600)에 저장되어 있는 개시 위치에 1을 더한 값을 i_cnt에 대입한다. 처리 위치를 갱신하면, 스텝 3704로 복귀한다.
이상으로, 태그 내 및 태그 밖의 체크를 포함하는 검색 처리 및 하이라이트 위치 정보 작성 처리에 대해 진술하였다.
다음에, 도 38을 이용하여 스텝 3706의 태그 내의 검색 및 태그 밖의 검색 처리에 대해 설명한다. 여기서는, 스텝 3705에서 취득한 검색 히트의 개시 위치가, 문서 구조를 나타내는 태그의 속성 안에 존재하던지 또는 태그 밖에 존재하는지를 체크하고, 검색 히트의 개시 위치로부터의 문자 열이 검색 용어와 일치하는지의 여부의 체크를 행한다.
스텝 3800:
스텝 3705에서 개시 위치 저장 영역(3600)에 저장한 검색 히트의 개시 위치에서 HTML 태그 내인지 혹은 태그 밖인지를 체크한다.
스텝 3706 시점에서의 HTML 문서의 i_cnt 바이트째로부터, 검색 히트의 개시 위치까지의 데이타를 체크한다. 태그의 개시 문자「」와 대응하는 태그의 종료문자「」를 체크하고, 태그 내에 검색 히트의 개시 위치가 존재하는지의 여부를 체크한다. 태그의 개시 문자「」가 있고, 태그의 종료 문자「」앞에 검색 히트의 개시 위치가 존재할 경우, 개시 위치는 태그 내에 존재한다고 하고, 스텝 3801로 진행한다. 태그의 개시 문자「」와 태그의 종료 문자「」로 둘러싸이지 않은 범위에 검색 히트의 개시 위치가 존재할 경우, 검색 히트의 개시 위치는 태그 밖에 존재한다고 하여 스텝 3804로 진행한다.
스텝 3801:
검색 용어과, 검색 히트의 개시 위치로부터의 문자열이 일치하는지의 여부를 체크한다. 검색 용어의 문자열이 복수 바이트로 이루어질 경우, 문자열을 1바이트마다 체크한다. 검색 용어의 문자열과 검색 히트한 위치로부터의 문자열이 일치할 경우, 스텝 3802로 진행한다. 불일치할 경우 스텝 3803으로 진행한다.
스텝 3802:
스텝 3801에서 검색 용어와 일치할 경우, 「검색 히트」한다고 하여 처리를 종료한다.
또한, 검색 히트한 문자열의 종단 위치를 구한다. 종단 위치는, 검색 히트한 개시 문자 위치에 검색 용어의 문자열 길이를 가한 바이트수로 한다. 여기서 구한 종단 위치는 스텝 3711로써 사용된다.
스텝 3803:
스텝 3801에서 검색 용어가 불일치할 경우, 「검색 히트하지 않음」으로서 처리를 종료한다.
스텝 3804:
스텝 3800에서, 검색 히트의 개시 위치가 태그 밖에 존재할 경우, 태그 외용의 검색 처리를 행한다. 태그 외용의 검색 처리는 도 39를 이용하여 설명한다.
스텝 3805:
스텝 3804에서 검색 용어가 히트하는 곳이 HTML 문서중에 존재하는지의 여부를 체크한다. 존재하는 경우에는, 스텝 3807로 진행한다. 존재하지 않는 경우에는 스텝 3806으로 진행한다.
스텝 3806:
스텝 3805에서, 검색 용어가 히트하지 않은 경우 처리를 종료한다.
스텝 3807:
스텝 3805에서, 검색 용어와 일치할 경우, 「검색 히트」했다고 하여 처리를 종료한다.
또한, 검색 히트한 문자열의 종단 위치를 구한다. 종단 위치는, 검색 히트의 개시 문자 위치에, 스텝 3804에서 검출한 검색 히트의 마지막 문자가 기술되어 있는 위치를 더한 값으로 한다. 여기서 구한 종단 위치는 스텝 3711로써 사용한다.
이상으로 태그 내 검색 및 태그 밖 검색 처리에 대해 설명했다.
다음에, 스텝 3804의 태그 외용의 검색 처리에 대해 도 39를 이용하여 설명한다.
스텝 3900:
HTML 문서중에 검색 용어가 존재하는지의 여부를 체크한다. 검색 용어의 문자열이 HTML 문서 중에 존재하는 문자열과 일치하는지의 여부를 체크하지만, 검색 히트한 개시 위치로부터, 도중에 존재하는 태그를 비산함에 따라 일치하는 경우가 있으므로, 여기서는 검색 히트한 개시 위치로부터 1문자마다 검색 용어와 합치하고 있는지의 여부를 체크한다.
구체적으로는, 도 34를 이용하여 설명한다.
검색 용어를 「특집 기사」로 한 경우, (2)의 표시 화면에서는 3408에 「특집 기사」가 표시되어 있다. 그러나, HTML 문서(3400)에서는 「특집」(3403)과 「기사」(3416) 사이에 「/H1」(3417)의 태그가 있다. 이와 같이 검색 용어 도중에 HTML 태그가 존재하는 경우, 이 HTML 태그를 스킵 판독하고, 검색 용어와 일치하는 문자열을 추출한다.
여기서는, 검색 용어를 1문자마다 HTML 문서의 문자와 대조하고, 체크를 행한다.
검색 용어의 1문자째와 HTML 문서 중의 문자가 일치한 경우에는, 검색 용어의 다음 문자와 HTML 문서의 다음 문자에 대해 동일 처리를 반복한다.
검색 용어의 문자열의 모든 문자가 일치한 경우, 구체적으로는 「특」(3403), 「집」, 과 문자의 비교를 행하고, 「/H1」(3417)을 스킵 판독하고, 또한 「기」 (3416), 「사」와 문자 비교를 행한다. 모든 검색 용어를 다 추출한 경우, 스텝 3901로 진행한다.
검색 용어가 HTML 문서 중의 문자열과 완전히 일치하지 않을 경우, 스텝 3902로 진행한다.
스텝 3901:
HTML 문서 중에 검색 용어가 존재하기 때문에, 「검색 히트」했다고 하여 처리를 종료한다.
또한, 검색 히트의 종단 위치를 구한다. 종단 위치는, 스텝 3900에서 마지막으로 추출한 문자의 위치이다.
스텝 3902:
스텝 3900에서, 검색 용어의 문자와 HTML 문서의 문자가 일치하지 않을 경우, HTML 문서의 문자가 태그의 개시 문자「」인지의 여부를 체크한다.
태그의 개시 문자「」인 경우에는, 스텝 3903으로 진행한다. 그 외의 문자인 경우에는 스텝 3904로 진행한다.
스텝 3903:
스텝 3902에서 HTML 문서 중의 문자가 태그의 개시 문자「」인 경우, 태그의 내용을 비산하여 스텝 3900으로 복귀한다.
구체적으로는, 태그의 종료 문자「」를 추출하고, 추출한 문자까지를 스킵 판독한다. 도 34의 HTML 문서(3400)에서 검색 용어를 「특집 기사」로 한 경우, 「특집」(3403)의 다음 문자에 있는 「」(3417)로부터 태그의 종료 문자「」(3418)까지를 스킵 판독한다. 즉, 「/H1」를 스킵 판독한다.
스텝 3904:
스텝 3902에서, 검색 용어가 불일치할 경우, 「검색 히트하지 않음」으로서 처리를 종료한다.
이상으로, HTML 문서 중에 검색 용어의 문자열이 존재할 경우, 검색 히트 위치를 추출하고, 하이라이트 위치 정보 저장 영역에 하이라이트 위치 정보를 저장하는 처리에 대해 설명했다.
다음에, 도 40을 이용하여 하이라이트 위치 정보 저장 영역에 저장한 하이라이트 위치 정보를 기초하여 HTML 문서의 검색 히트한 문자열을 강조 표시하기 위해 하이라이트용 태그를 삽입하는 방법에 대해 설명한다.
스텝 4000:
스텝 3710에서 하이라이트 정보 저장 영역(2709)에 저장한 하이라이트 위치 정보를 판독한다.
스텝 4001:
하이라이트 태그를 삽입한 HTML 문서를 저장하기 위한 HTML 문서 일시 저장 영역(2711)을 확보한다.
확보하는 영역의 크기는, HTML 문서의 원문서의 데이타, 하이라이트 태그수만큼의 하이라이트 개시 태그와 종료 태그 길이의 합을 곱한 값의 바이트수이다.
하이라이트 태그수는, 하이라이트 태그수 저장 영역(2708)으로부터 판독한다. 또한, 하이라이트의 개시 태그와 종료 태그는, 하이라이트 위치 정보 저장 영역(2709)의 하이라이트 삽입 태그 번호(3003)와 하이라이트 태그 문자 저장 영역(2710)으로부터 태그를 검출하고, 검출한 태그의 문자열 길이를 구한다.
스텝 4002:
HTML 문서 중의 처리가 끝난 위치를 나타내는 i_cnt와 하이라이트 처리수를 0으로 초기화한다.
스텝 4003:
처리가 끝난 하이라이트 개소의 수인 하이라이트 처리수와, 처리해야 할 하이라이트수를 비교한다. 하이라이트 처리수가 적을 경우에는 하이라이트용 태그를 삽입하는 처리를 행하기 위해 스텝 4004로 진행한다. 그 이외의 경우에는 스텝 4007로 진행한다.
스텝 4004:
처리가 끝난 위치를 나타내는 i_cnt로부터 검색 히트의 개시 위치까지의 데이타를 HTML 문서 일시 저장 영역(2711)에 저장한다.
구체적으로는, 도 34의 HTML 문서(3400)에서 검색 용어를 「특집 기사」로 한 경우, HTML 문서 선두로부터 「특집 기사」(3403) 전의 문자「이번 달」까지의 데이타 HTML 문서 일시 저장 영역(2711)에 저장시킨다.
스텝 4005:
하이라이트용 태그 검색 히트 위치에 저장시킨다. 하이라이트용 태그의 삽입 처리에 대해서는 도 41에서 설명한다.
스텝 4006
HTML 문서의 처리가 끝난 위치를 나타내는 i_cnt에 하이라이트 종료 태그를 삽입한 위치의 선두로부터의 바이트수를 대입하고 스텝 4003으로 복귀한다.
스텝 4007:
HTML 문서의 처리가 끝난 위치를 나타내는 i_cnt로부터 HTML 문서의 마지막까지의 데이타를 HTML 문서 일시 저장 영역(2711)에 저장하고, 처리를 종료한다.
다음에 스텝 4005에서 처리하는 하이라이트 태그의 삽입 처리에 대해 도 41을 이용하여 설명한다.
여기서는, 검색 히트한 위치가 태그 안 또는 태그 밖을 체크하고, 검색 히트 위치의 전후에 하이라이트용 태그를 삽입하는 처리를 행한다.
스텝 4100:
HTML 문서에서 히트한 위치가 HTML 태그 안이나 태그 밖을 체크한다.
체크 방법은, 검색 히트의 개시 위치까지의 HTML 문서에서 HTML 태그의 개시 문자「」와 태그의 종료 문자「」의 대응을 취하고, 태그 안인지 태그 밖인지를 판단한다. 검색 히트의 개시 위치가 태그의 개시 문자「」로부터 태그의 종료 문자「」사이에 있을 경우에는 태그 내에 존재한다고 하여 스텝 4101로 진행한다. 그 이외의 경우에는 태그 밖에 검색 히트 위치의 개시 위치가 존재한다고 하고, 스텝 4110으로 진행한다.
스텝 4101:
태그의 개시 문자「」의 다음 문자로부터 문자를 추출하고, 태그의 종류를 취득한다.
예를 들어, 도 34의 HTML 문서(3400)인 경우, 검색 용어를 「hitachi」로 한 경우, HTML 문서(3400) 속의 3409에 「hitachi」를 취득할 수 있다. 이 HTML 태그의 종류를 취득하면, 태그의 개시 문자「」다음에 씌어져 있는 「A」(3410)이라는 것을 알 수 있다.
스텝 4102:
스텝 4101에서 취득한 태그가 개시용의 태그가 종료용의 태그인지를 체크한다. 종료용 태그인 경우, 태그의 개시 문자「」의 다음 문자가 「/(슬래쉬)」이다. 그래서, 태그의 개시 문자「」의 다음 문자를 체크하고, 판별한다. 본 태그 개시 문자「」의 다음 문자가 「/」인 경우, 종료용 태그라고 판정하여 스텝 4105로 진행한다. 그 이외의 경우에는 개시 태그라고 판정하고, 스텝 4103으로 진행한다.
스텝 4103:
개시용 태그와 종료용 태그 사이에 하이라이트용의 태그를 삽입하는 것이 가능할지의 여부를 체크한다.
삽입하는 것이 가능할 경우에는 스텝 4105로 진행한다. 또한, 불가능할 경우에는 스텝 4106으로 진행한다.
구체적으로는 도 34의 HTML 문서(3400)에서 검색 용어가 「hitachi」인 경우, HTML 태그의 종류는, 「hitachi」(3409) 앞에 존재하는 「A」(3410)이다. 개시용의 태그는, HTML 태그의 종류를 둘러싼 「」와 「」에 끼워진 부분의 「A∼」(3410)이고, 종료용 태그는 「/A」(3412)이다.
본 HTML 태그는, 개시용 태그와 종료용 태그에 쓰여진 문자열이 화면에 표시되고, 이 문자열을 선택하면, 개시용 태그 내에서 지정한 URL에 링크하는 태그이다. 이 「A∼」(3410)와 「/A」(3412) 사이에 하이라이트용의 태그를 삽입하면, 강조 표시가 정확하게 행해지지 않는 현상이 생긴다. 그래서 「A」태그와 「/A」태그 사이에는 하이라이트용 태그를 삽입할 수 없다고 하여 스텝 4104로 진행한다.
하이라이트 태그의 삽입 가능 혹은 불가능한 판정은 HTML 태그의 종류가 하이라이트 태그 삽입 불가능 태그명 저장 영역(3603)에 저장되면 태그 중 어느 하나와 일치하면 불가능하다고 판정하고, 어느 경우나 불일치할 경우에는 삽입 가능하다고 판정한다.
또, 하이라이트 태그 삽입 불가능 태그명 저장 영역(3603)에 저장하는 태그는, 사용자 인터페이스를 사용하여 데이타 제어(2705)의 처리를 행하기 전에 작성해 둔다.
스텝 4104:
개시용 태그와 종료용 태그 사이에 검색 히트한 문자열을 삽입할 수 없을 경우, 삽입 가능한 곳까지 스킵 판독한다.
여기서는, 종료용 태그 끝의 문자「」까지 스킵 판독하고, 스킵 판독한 데이타를 취득한다.
구체적으로는, 도 34의 HTML 문서(3400), 검색 용어를 「hitachi」로 한 경우, HTML 태그는 「A」(3410)이다. 그 종료 태그는 「/A」(3412)이다.
따라서 「/A」(3412)까지 데이타를 취득한다.
스텝 4105:
개시용 태그와 종료용 태그 사이에 문자를 삽입할 수 있을 경우, 태그 끝의 문자「」까지 데이타를 취득한다.
구체적으로는, 도 34의 HTML 문서(3400) 검색 용어가 「imagefile.gif」(3411)로 한 경우, HTML 태그의 종류는 「IMG」(3413)에서, 그 끝의 태그 문자는 「」(3414)가 된다. 따라서, 「」(3414)까지 스킵 판독하고, 스킵 판독하는 데이타를 취득한다.
스텝 4106:
스텝 4104, 스텝 4105에서 취득한 데이타를 HTML 문서 일시 저장 영역(2711)에 삽입한다. 또한, 검색 히트한 문자의 종단 위치를 구한다. 종단 위치는, 스텝 4104 혹은 스텝 4105에서 스킵 판독한 위치의 바이트수이다.
스텝 4107:
하이라이트용의 개시 태그를 HTML 문서 일시 저장 영역(2711)에 삽입한다. 도 32의 개시 태그1(3203)에 씌어져 있는 태그명을 HTML 문서 일시 저장 영역(2711)에 삽입한다.
하이라이트 위치 정보 저장 영역에 저장되어 있는 태그를 3402로 하고, 하이라이트 태그 문자 저장 영역을 도 32의 (2)로 한 경우, 하이라이트 위치 정보 저장 영역의 하이라이트 삽입 태그 번호(3407)에 「1」이 기술되어 있으므로, 도 32의 (2)로부터, 「BLINK」를 취득할 수 있다. 따라서, 여기서는 「BLINK」을 HTML 문서 일시 저장 영역(2711)에 삽입한다.
스텝 4108:
검색 히트 문자를 HTML 문서 일시 저장 영역(2711)에 삽입한다. 단, 재차 검색 히트 문자를 기술하기 위해 재차 기술한 마크를 저장한다. 여기서는, 재차 기술 마크의 저장 영역(3602)에 저장되어 있는 데이타를 삽입한다.
재차 기술 마크의 저장 영역(3602)은, 데이타 제어를 행하기 전에 데이타를 저장해 둔다. 예를 들어, 「@」 마크를 저장해 둔다.
스텝 4109:
하이라이트용의 종료 태그를 HTML 문서 일시 저장 영역(2711)에 삽입한다. 도 32의 종료 태그1(3204)에 씌여 있는 태그명을 HTML 문서 일시 저장 영역(2711)에 삽입한다. 여기서는, 「/BLINK」을 삽입한다.
스텝 4110:
검색 히트한 위치가 태그 밖에 존재할 경우, 태그 외용 하이라이트 태그 삽입 처리를 행한다. 이 처리에 대해서는 도 42를 이용하여 설명한다.
다음에 스텝 4110에서 처리를 하는 태그 외용 하이라이트 삽입 처리에 대해 도 42를 이용하여 설명한다.
스텝 4200:
「A∼」 태그의 경우, 개시용 태그 「A∼」와 종료용의 태그「/A」에 끼워져 있는 곳에 하이라이트용의 태그를 삽입하면, 강조 표시가 반영되지 않는다. 여기서는, 개시 태그와 종료 태그에 둘러싸여 있는지의 여부를 체크하고, 스텝 4201에서 하이라이트 태그를 삽입하는 것이 가능한 태그인지의 여부를 판단한다. 단, HTML 문서에는 「HTML」과 「BODY」의 태그가 존재하지만, 이들 태그는 문서 전체를 둘러싼 태그로서 사용되기 때문에, 여기서는 체크의 대상으로 하지 않는다.
도 30의 선두로부터의 하이라이트 위치 정보(3001)에 저장되어 있는 위치가, HTML 문서의 개시용 태그와 종료용 태그에 둘러싸여 있는지의 여부를 체크한다. 둘러싸여 있는 경우에는 스텝 4201로 진행한다. 둘러싸여 있지 않는 경우에는 스텝4209로 진행한다.
구체적으로는, 도 34의 HTML 문서(3400)이고, 검색 용어가 「히다찌」로 한 경우, HTML 문서(3400)의 「히다찌」(3415)가 추출된다. 이것은, HTML 태그「A∼」 (3410)와 「/A」(3412)에 둘러싸여 있으므로, 여기서는 스텝 4201로 진행한다.
스텝 4201:
검색 히트한 문자열 전후로 하이라이트용 태그를 삽입하는 것이 가능할지의 여부를 체크한다.
체크 방법은, 검색 히트한 검색 문자열에 둘러싸여 있는 HTML 태그를 추출한다. 추출한 태그의 종류와 하이라이트 태그 삽입 불가능 태그명 저장 영역(3603)에 저장되어 있는 태그와 비교한다. 일치하면, 스텝 4202로 진행하고, 불일치하는 경우 스텝 4209로 진행한다.
하이라이트 태그 삽입 불가능 태그명 저장 영역(3603) 중에 기술된 태그명은 개시용 태그와 종료용 태그 사이에 하이라이트용 태그를 삽입할 수 없다.
따라서, 하이라이트 태그 삽입 불가능 태그명 저장 영역(3603)에 저장되어 있는 HTML 태그와 비교하여 일치하면 스텝 4202로 진행하고, 불일치하는 경우에는 스텝 4209로 진행한다.
본 하이라이트 태그 삽입 불가능 태그명 저장 영역(3603)은, 사용자 인터페이스를 사용하여 데이타 제어(2705) 앞에 작성해 둔다.
스텝 4202:
하이라이트용 태그를 삽입할 수 없을 경우, 종료용 태그 끝의 문자「」까지의 HTML 문서를 스킵 판독한다.
도 34에서, 검색 용어을「히다찌」로 한 경우, 「/A」(3412)까지의 HTML 문서를 스킵 판독한다.
스텝 4203:
스텝 4202에서 비산한 HTML 문서를 HTML 문서 일시 저장 영역(2711)에 저장한다.
도 34에서, 검색 용어을「히다찌」로 한 경우, 스텝 4002에서 설정한 i_cnt번째 혹은 스텝 4006에서 갱신한 i_cnt번째에 있는 HTML 문서의 문자로부터 「/A」 (3412)의 데이타를 HTML 문서 일시 저장 영역(2711)에 저장한다.
스텝 4204:
하이라이트용 태그의 개시 태그를 HTML 문서 일시 저장 영역(2711)에 삽입한다. 하이라이트 위치 정보 저장 영역을 3402로서 하이라이트 태그 문자 저장 영역을 도 32의 (2)로 한 경우, 「BLINK」가 추출된다. 따라서, 여기서는 「BLINK」을 삽입한다.
스텝 4205:
재표시용 마크를 저장한다. 스텝 4108과 마찬가지로 재차 기술 마크의 저장 영역(3602)에 저장되어 있는 HTML 문서를 판독하고, HTML 문서 일시 저장 영역(2711)에 저장한다.
스텝 4206:
검색 히트한 문자열을 한번 더 HTML 문서 일시 저장 영역(2711)에 삽입한다.
단, 검색 히트한 문자열 도중에 태그가 존재할 경우에는 태그가 존재하는 곳까지의 문자열을 삽입한다.
스텝 4207:
하이라이트용의 종료 태그를 HTML 문서 일시 저장 영역(2711)에 삽입한다. 여기서는, 「/BLINK」를 삽입한다.
스텝 4208:
스텝 4206에서 검색 용어의 문자열을 모두 저장했는지의 여부를 체크한다.
검색 히트한 문자열 중에 태그가 존재하고, 검색 히트한 문자를 전부 저장하지 않을 경우, 스텝 4200으로 복귀한다. 또한, 모든 문자를 저장한 경우에는 처리를 종료한다.
스텝 4209:
검색 히트한 개시 위치까지 데이타를 비산하고, 비산한 HTML 문서를 HTML 문서 일시 저장 영역(2711)에 저장한다.
구체적으로는, 도 34의 HTML 문서(3400)에서 검색 용어가 「특집 기사」로 한 경우, 검색 히트한 「특집」(3403) 앞에 존재하는 「이번 달의」까지의 HTML 문서를 HTML 문서 일시 저장 영역(2711)에 삽입한다.
스텝 4210:
스텝 4205와 마찬가지로 하이라이트용 태그의 개시 태그를 HTML 문서 일시 저장 영역(2711)에 저장한다. 여기서는, 「BLINK」를 삽입한다.
스텝 4211:
검색 히트한 문자열을 HTML 문서 일시 저장 영역(2711)에 삽입한다.
단, 검색 히트한 문자열 도중에 태그가 존재할 경우에는 태그가 존재하는 곳까지의 문자열을 삽입한다.
예를 들어, HTML 문서(3400)에서 검색 용어가 「특집 기사」로 한 경우, 「특집」(3403)과 「기사」(3416) 사이에 「/H1」(3417)이 존재한다. 따라서, 여기서는 「특집」을 저장한다.
스텝 4212:
하이라이트용 태그의 종료 태그를 HTML 문서 일시 저장 영역(2711)에 삽입한다. 여기서는, 「/BL1NK」를 삽입한다.
스텝 4213:
스텝 4211에서 검색 용어의 문자열 모두를 HTML 문서 일시 저장 영역(2711)에 삽입하는지의 여부를 체크한다. HTML의 태그를 제외함에 따라 검색 용어와 HTML 문서의 문자열이 히트하고, 검색 히트한 선두 위치로부터 검색 용어 길이의 문자열 사이에 HTML의 태그가 존재할 경우, 스텝 4211에서는 HTML 태그까지의 HTML 문서를 HTML 문서 일시 저장 영역(2711)에 삽입한다. 이 경우, HTML 태그로부터 나머지의 검색 히트의 문자를 처리할 필요가 있다.
모든 검색 용어를 HTML 문서 일시 저장 영역에 삽입한 경우에는 처리를 종료한다. 또한, HTML 태그로부터 나머지의 검색 히트의 문자를 처리할 경우는 스텝 4200으로 복귀한다.
도 34의 HTML 문서(3400)에서 검색 용어가 「특집 기사」로 한 경우, 「특집」(3403)과 「기사」(3416) 사이에 「/H1」(3417)이 존재한다. 스텝 4206에서는 「특집」만 삽입한 상태에서, 「기사」를 삽입하지 않기 때문에 스텝 4200으로 복귀한다.
이러한 처리를 행함으로써, 클라이언트(2701)가 설정한 검색 용어를 이용하여 검색 용어와 합치하는 HTML 문서에 하이라이트 태그를 삽입하고, Web 브라우저(2703)에 하이라이트 히트 개소를 표시하는 것이 가능하다.
여기서는, 검색 용어 하나에 대해 HTML 문서를 체크하고, 검색 용어의 문자열이 HTML 문서 중에 존재하면, 클라이언트(2701)의 Web 브라우저에 검색의 결과를 표시하는 처리 방법을 도시했지만, 하나의 검색 용어에 대해 복수의 HTML 문서로부터 검색하고, 검색 히트한 HTML 문서수 만큼의 하이라이트 위치 정보를 저장하고, 하이라이트용 태그를 저장한 복수 HTML 문서를 일괄하여 작성하는 것도 가능하다.
또한, 복수의 검색 용어에 대해 복수의 HTML 문서로부터 검색하고, 검색 히트한 HTML 문서 수만큼의 하이라이트 위치 정보를 저장하고, 하이라이트용 태그를 저장한 복수 HTML 문서를 일괄하여 작성하는 것도 가능하다.
다음에 본 발명을 이용한 실시예 6에 대해 설명한다.
본 실시예의 실시예 2로부터의 변경점은 검색 조건 중에 검색 용어 등과 함께, 검색 조건에 히트한 경우의 하이라이트 방법을 정의할 수 있는 점이다. 이에 따라, 임의의 검색 조건에 대해 검색 조건마다 하이라이트 방법을 지정할 수 있다.
본 실시예의 시스템 구성은 도 1과 동일하다. 단, 검색 조건(103)의 기재 방법이 다르다. 본 실시예에서의 검색 조건(103)의 기술 방법의 예를 도 43을 이용하여 설명한다.
도 43에 본 실시예에서의 검색 조건의 예를 나타낸다. 본 도면에 도시한 바와 같이 각 검색 용어이나 구조 조건 뒤에 「{언더라인}」과 같이 하이라이트 방법을 지정한다. 실시예 2에서의 검색 조건은 「검색 대상의 구조 지정 : 검색 조건식」이었지만, 「검색 대상의 구조 조건 {하이라이트 방법} : 하이라이트 방법 부착 검색 조건식」이 된다. 하이라이트 방법의 지정은 생략 가능하다. 생략 시에는, 실시예 2에서 도시한 방법으로 하이라이트 표시를 행한다. 즉, 하이라이트 방법이 검색 조건 중에 기재되어 있지 않은 곳에 대해서는 도 18에 도시한 하이라이트 방법 정의(1801)를 판독하고, 본 정의 정보에 기재되어 있는 하이라이트 방법을 이용하여 하이라이트를 표시한다.
도 44에 본 실시예에서의 히트 범위 정보(4401)의 저장 내용을 나타낸다. 실시예 2의 도 17에 도시한 히트 범위 정보로부터의 변경점은, 각 히트 범위마다 히트조건(4402) 뿐만 아니라, 하이라이트 방법(4403)을 저장하는 점이다. 본 정보는 도 43을 이용하여 상술된 검색 조건을 해석하고, 검색 조건 중에 기재된 하이라이트 방법의 정보를 판독함으로써 취득 가능하다.
도 45에 본 실시예에서의 하이라이트 표시용 DTD의 생성 방법을 나타낸다. 본 예에서는, 검색할 때마다 신규로 하이라이트 방법이 변경될 가능성이 있기 때문에 하이라이트 표시될 때마다 필요한 구조만을 추가한 하이라이트 표시용 DTD를 생성하게 한다. 이 경우, DTD 중에 검색 조건이 아니라, 직접 하이라이트 방법에 대한 기술을 행하게 된다.
본 도면에 도시한 바와 같이, 등록에 이용한 원래의 DTD(1901)에 대해 상위의 하이라이트 구조 내에는 하위의 하이라이트 구조를 계층적으로 지정할 수 있고, 또한 생략도 가능하도록 정의를 변경하고, 추가한 하이라이트 표시용의 DTD (4501)를 생성하고 있다.
DTD의 작성 방법은, 우선 도 44의 히트 범위 정보에 하이라이트 방법(4403)이 기재되지 않은 경우에 도 18에 도시한 하이라이트 방법 정의로부터 히트 조건에 대응하는 하이라이트 방법을 취득한다. 우선, 원래의 DTD의 각 구조에 대해 하위 구조에 출현하는 하이라이트 방법을 내용 모델에서 갖을 수 있도록, 구조 정보를 변경한다(4502). 또한, 히트 범위 정보(4401)에서의 히트 범위의 계층 관계로부터 출현하는 하이라이트용 구조의 계층 관계를 얻을 수 있다. 여기서 얻어진 하이라이트 표시용의 계층 관계를 바탕으로, 각 하이라이트 구조의 하위 구조로서 하위의 하이라이트 구조 및 문자열을 내용 모델로서 갖도록 한다. 하위의 하이라이트 구조가 없으면, 내용 모델로서 문자열만이 출현하도록 한다(4503).
본 실시예에서의 하이라이트 처리에 따라 검색 조건을 하이라이트 구조로 하는 것이 아니라, 기재된 하이라이트 방법을 기술한 하이라이트 표시용 구조화 문서와, 하이라이트 표시용의 DTD를 생성하게 된다. 이 때문에, 본 실시예에 따라 도 46에 도시한 바와 같은 표시용 구조화 문서가 작성된다. 본 표시용 구조화 문서를 하이라이트 표시하면, 도 47에 도시한 바와 같은 하이라이트 표시가 행해진다.
본 발명에 따라 구조화 문서의 검색 결과로서 히트한 문서의 내용을 표시할 때에 각 구조마다 검색 용어가 히트한 범위에 하이라이트 정보를 부가한 구조화 문서를 출력하는 것이 가능해진다. 브라우저 의존의 하이라이트 정보가 아니라, 구조화 문서 중에 하이라이트 정보를 매립함으로써, 어떠한 브라우저에도 하이라이트 표시가 가능해진다.
검색 시의 조건, 또는 각 검색 용어의 중요도, 출현 빈도등의 조건에 따라 다른 하이라이트 처리를 행하고, 중요한 검색 용어에 대해서는 높은 부가인 것을 명시한 하이라이트 처리를 행하는 것이 가능해진다. 또한, 검색 조건 중에 하이라이트 방법을 기술함으로써 사용자마다 임의의 하이라이트 표시를 행하는 것이 가능해진다.
또한, 부분 구조만을 추출하여 하이라이트 정보를 부가한 구조화 문서를 출력하는 것이 가능해진다.
또한, 문서 구조를 도시하는 HTML 태그가 존재하는 문서로부터 문자열을 검색할 경우, 설정한 검색 용어와 일치한 문자열이 HTML 태그 내에 존재할 경우나, 검색 용어가 HTML 태그를 걸쳐 기술되는 경우라도 용이하게 검색 히트하는 것이 가능해진다. 또한, 검색 히트한 문자열을 하이라이트 표시하는 것이 가능해진다.

Claims (34)

  1. 처리 장치, 기억 장치, 파일 장치, 및 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 방법에 있어서,
    상기 처리 장치는,
    입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 상기 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하며,
    상기 해석이 끝난 구조화 문서로부터 각 구조 내의 내용 문자열 정보를 취득하여 문서 검색용 정보를 생성하여 상기 파일 장치에 저장하고,
    입력된 검색 조건에 따라 상기 파일 장치에 저장된 문서 검색용 정보를 검색하고, 상기 검색 조건을 만족하는 내용 문자열 정보가 있는지의 여부를 판정하고, 상기 검색 조건을 만족한다고 간주되는 내용 문자열 정보를 갖는 문서의 해석이 끝난 구조화 문서를 취득하며, 또한 그 문서의 검색 조건을 만족하는 범위의 정보를 취득하고,
    상기 문서의 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 표시용 문서형 정의(표시용 DTD)를 작성하며,
    상기 문서의 검색 조건을 만족하는 범위의 정보와 표시용 문서형 정의에 기초하여 구조화 문서 중에 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하는
    것을 특징으로 하는 구조화 문서 검색 표시 방법.
  2. 제1항에 있어서, 검색 조건 중 2개의 검색 용어에 대해 각 검색 용어의 상대적인 출현 위치에 관한 조건을 만족하고 있을 경우에는 검색 조건을 구성하는 각 검색 용어에 대한 하이라이트 표시와 그 2개의 검색 용어를 포함하는 최소의 문자열 범위에 대한 하이라이트 표시를 각각 다른 하이라이트 표시 형태를 이용하여 하이라이트 표시하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  3. 제1항에 있어서, 검색 조건에 복수의 검색 용어에 대해 검색 조건을 구성하는 각 검색 용어에 대한 하이라이트 표시와 그 검색 용어를 포함하는 구조 전체에 대한 하이라이트 표시를 각각 다른 표시 형태를 이용해 하이라이트 표시하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  4. 제1항에 있어서, 상기 표시용 문서형 정의에 기초하는 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성할 때, 하이라이트 표시하기 위한 정보는 검색 조건 중에서 지정된 방법을 이용해 부가하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  5. 제1항에 있어서, 검색 결과의 하이라이트 표시는 검색 용어마다 복수의 하이라이트 표시 형태중 어느 하나를 이용해 하이라이트 표시하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  6. 제5항에 있어서, 각 검색 용어마다의 하이라이트 표시의 하이라이트 표시 형태는 각 검색 용어의 출현 빈도의 정보에 기초하여 결정하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  7. 제5항에 있어서, 각 검색 용어마다의 하이라이트 표시의 하이라이트 표시 형태는 각 검색 용어마다 미리 부여된 가중치 정보에 기초하여 결정하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  8. 처리 장치, 기억 장치, 파일 장치, 및 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 방법에 있어서,
    상기 처리 장치는,
    입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 그 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하며,
    상기 입력된 구조화 문서로부터 미리 부여된 검색 대상 밖의 구조 정보를 제거한 문서 검색용 정규화 처리가 끝난 구조화 문서를 생성하고, 또 상기 제거된 구조 정보를 복원하기 위한 복원 정보를 생성하여 상기 파일 장치에 저장하며,
    입력된 검색 조건에 따라 상기 파일 장치에 저장된 정규화 처리가 끝난 구조화 문서를 검색하고, 상기 검색 조건을 만족하는 정규화 처리가 끝난 구조화 문서가 있는 지의 여부를 판정하고, 상기 검색 조건을 만족한다고 간주되는 문서의 정규화 처리가 끝난 구조화 문서를 취득하며, 또 상기 문서의 검색 조건을 만족하는 범위의 정보를 취득하고,
    상기 문서의 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 표시용 문서형 정의를 작성하며,
    상기 검색에 의해 취득된 정규화 처리가 끝난 구조화 문서를 상기 복원 정보로서, 제거된 구조 정보를 갖는 구조화 문서로 복원하고, 상기 문서의 검색 조건을 만족하는 범위의 정보와 표시용 문서형 정의에 기초하여 상기 복원된 구조화 문서중에 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하는
    것을 특징으로 하는 구조화 문서 검색 표시 방법.
  9. 제8항에 있어서, 검색 조건 중 2개의 검색 용어에 대해 각 검색 용어의 상대적인 출현 위치에 관한 조건을 만족하고 있을 경우는 검색 조건을 구성하는 각 검색 용어에 대한 하이라이트 표시와 그 2개의 검색 용어를 포함하는 최소의 문자열 범위에 대한 하이라이트 표시를 각각 다른 하이라이트 표시 형태를 이용해 하이라이트 표시하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  10. 제8항에 있어서, 검색 조건에 복수의 검색 용어에 대해 검색 조건을 구성하는 각 검색 용어에 대한 하이라이트 표시와 상기 검색 용어를 포함하는 구조 전체에 대한 하이라이트 표시를 각각 다른 표시 형태를 이용해 하이라이트 표시하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  11. 제8항에 있어서, 상기 표시용 문서형 정의에 기초하는 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성할 때, 하이라이트 표시하기 위한 정보는 검색 조건 중에 지정된 방법을 이용해 부가하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  12. 제9항에 있어서, 검색 결과의 하이라이트 표시는 검색 용어마다 복수의 하이라이트 표시 형태 중 어느 하나를 이용해 하이라이트 표시하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  13. 제12항에 있어서, 각 검색 용어마다의 하이라이트 표시의 하이라이트 표시 형태는 각 검색 용어의 출현 빈도의 정보에 기초하여 결정하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  14. 제12항에 있어서, 각 검색 용어마다의 하이라이트 표시의 하이라이트 표시 형태는 각 검색 용어마다 미리 부여된 가중치 정보에 기초하여 결정하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  15. 처리 장치, 기억 장치, 파일 장치, 및 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 방법에 있어서,
    상기 처리 장치는,
    입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 상기 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하며,
    상기 해석이 끝난 구조화 문서로부터 각 구조 내의 내용 문자열 정보를 취득하여 문서 검색용 정보를 생성하여 상기 파일 장치에 저장하고,
    입력된 검색 조건에 따라 상기 파일 장치에 저장된 문서 검색용 정보를 검색하고, 상기 검색 조건을 만족하는 내용 문자열 정보가 있는지의 여부를 판정하며, 상기 검색 조건을 만족한다고 간주되는 내용 문자열 정보를 갖는 문서의 해석이 끝난 구조화 문서를 취득하고, 또한 상기 문서의 검색 조건을 만족하는 범위의 정보를 취득하며,
    입력된 표시 대상의 부분 구조를 취득하고,
    상기 표시 대상의 부분 구조 중의 상기 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 부분 구조 표시용 문서형 정의를 작성하며,
    상기 표시 대상의 부분 구조에 대해, 상기 문서의 검색 조건을 만족하는 범위의 정보와 부분 구조 표시용 문서형 정의에 기초하여 구조화 문서 중에 하이라이트 표시하기 위한 정보를 부가한 부분 구조 표시용 구조화 문서를 작성하는
    것을 특징으로 하는 구조화 문서 검색 표시 방법.
  16. 제15항에 있어서, 검색 조건 중 2개의 검색 용어에 대해 각 검색 용어의 상대적인 출현 위치에 관한 조건을 만족하고 있을 경우는 검색 조건을 구성하는 각 검색 용어에 대한 하이라이트 표시와 그 2개의 검색 용어를 포함하는 최소의 문자열 범위에 대한 하이라이트 표시를 각각 다른 하이라이트 표시 형태를 이용하여 하이라이트 표시하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  17. 제15항에 있어서, 검색 조건에 복수의 검색 용어에 대해 검색 조건을 구성하는 각 검색 용어에 대한 하이라이트 표시와 상기 검색 용어를 포함하는 구조 전체에 대한 하이라이트 표시를 각각 다른 표시 형태를 이용해 하이라이트 표시하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  18. 제15항에 있어서, 상기 표시용 문서형 정의에 기초하는 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성할 때, 하이라이트 표시하기 위한 정보는 검색 조건 중에 지정된 방법을 이용해 부가하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  19. 제15항에 있어서, 상기 표시용 문서형 정의에 기초하는 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성할 때, 하이라이트 표시하기 위한 정보는 검색 조건 중에 지정된 방법을 이용해 부가하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  20. 제15항에 있어서, 검색 결과의 하이라이트 표시는 검색 용어마다 복수의 하이라이트 표시 형태중 어느 하나를 이용해 하이라이트 표시하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  21. 제20항에 있어서, 각 검색 용어마다의 하이라이트 표시의 하이라이트 표시 형태는 각 검색 용어의 출현 빈도의 정보에 기초하여 결정하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  22. 제20항에 있어서, 각 검색 용어마다의 하이라이트 표시의 하이라이트 표시 형태는 각 검색 용어에 미리 부여된 가중치 정보에 기초하여 결정하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  23. 처리 장치, 기억 장치, 파일 장치, 및 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 방법에 있어서,
    상기 처리 장치는,
    입력된 특정한 문서형 정의에 따른 구조화 문서를 태그를 남긴 채 플레인 텍스트로서 상기 파일 장치에 저장하고,
    입력된 검색 조건에 따라 상기 파일 장치에 저장된 플레인 텍스트를 검색하며, 상기 검색 조건을 만족하는 범위가 있는지의 여부를 판정하고, 상기 검색 조건을 만족하는 범위를 갖는 문서를 플레인 텍스트로서 취득하며, 또 상기 문서의 검색 조건을 만족하는 범위의 정보를 취득하고,
    상기 특정한 문서형 정의를 표시용 문서형 정의로 하고, 상기 입력된 구조화 문서에 대해 상기 검색 조건을 만족하는 범위에 대해 상기 표시용 문서형 정의에 기초하는 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  24. 제23항에 있어서, 검색 조건을 만족하는 범위가 구조화 문서에 있어서 문서 구조를 도시하는 태그의 속성 정보 중에 존재하는지의 여부를 판정하고,
    상기 검색 조건을 만족하는 범위가 태그의 속성 정보 중에 존재할 경우는, 구조화 문서의 내용 문자열 중에 상기 검색 조건을 만족하는 범위의 문자열을 포함하는 문자열을 추가하며, 상기 문자열에 있어서 상기 검색 조건을 만족하는 범위에 대해 상기 특정한 문서형 정의에 기초하는 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  25. 제23항에 있어서, 입력된 검색 조건에 따라 상기 파일 장치에 태그를 남긴 채 플레인 텍스트로서 저장된 구조화 문서를 검색할 때, 미리 지정된 특정한 태그를 구성하는 문자열을 검색 대상으로부터 제거하고, 상기 특정한 태그를 구성하는 문자열의 전후를 연결한 문자열에 대해 검색함으로써 얻어지는 검색 조건을 만족하는 범위에 대해, 상기 특정한 문서형 정의에 기초하는 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  26. 제23항에 있어서, 입력된 검색 조건에 따라 상기 파일 장치에 플레인 텍스트로서 저장된 구조화 문서를 검색할 때, 검색 조건을 만족하는 범위가 미리 지정된 문서 구조의 개시를 나타내는 특정한 태그와 문서 구조의 끝을 나타내는 특정한 태그에 포함되는지의 여부를 판정하고,
    포함되는 경우에는, 문서 구조의 개시를 나타내는 특정한 태그보다 앞 혹은 문서 구조의 끝을 나타내는 태그보다 뒤의 내용 문자열 중에서 상기 검색 조건을 만족하는 범위의 문자열을 포함하는 문자열을 추가하고, 상기 문자열에 있어서 상기 검색 조건을 만족하는 범위에 대해 상기 특정한 문서형 정의에 기초하는 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  27. 제23항에 있어서, 상기 표시용 문서형 정의에 기초하는 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성할 때, 하이라이트 표시하기 위한 정보는 검색 조건 중에 지정된 방법을 이용해 부가하는 것을 특징으로 하는 구조화 문서 검색 표시 방법.
  28. 처리 장치, 기억 장치, 파일 장치, 및 입출력 장치를 구비하는 구조화 문서 검색 표시 장치에 있어서,
    상기 처리 장치는,
    입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 상기 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하는 수단;
    상기 입력된 구조화 문서로부터 미리 부여된 검색 대상 밖의 구조 정보를 제거한 문서 검색용의 정규화 처리가 끝난 구조화 문서를 생성하고, 상기 파일 장치에 저장하는 수단;
    상기 제거된 구조 정보를 복원하기 위한 복원 정보를 생성하고, 상기 파일 장치에 저장하는 수단;
    입력된 검색 조건에 따라 상기 파일 장치에 저장된 정규화 처리가 끝난 구조화 문서를 검색하고, 상기 검색 조건을 만족하는 정규화 처리가 끝난 구조화 문서가 있는지의 여부를 판정하며, 상기 검색 조건을 만족한다고 간주되는 문서의 정규화 처리가 끝난 구조화 문서를 취득하고, 또 상기 문서의 검색 조건을 만족하는 범위의 정보를 취득하는 수단;
    상기 문서의 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 표시용 문서형 정의를 작성하는 수단;
    상기 검색에 의해 취득된 정규화 처리가 끝난 구조화 문서를 상기 복원 정보로서, 제거된 구조 정보를 갖는 구조화 문서로 복원하는 수단; 및
    상기 문서의 검색 조건을 만족하는 범위의 정보와 표시용 문서형 정의에 기초하여 상기 복원된 구조화 문서 중에 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하는 수단
    을 갖는 것을 특징으로 하는 구조화 문서 검색 표시 장치.
  29. 처리 장치, 기억 장치, 파일 장치, 및 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 프로그램에 있어서,
    상기 처리 장치는,
    입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 상기 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하며,
    상기 해석이 끝난 구조화 문서로부터 각 구조 내의 내용 문자열 정보를 취득하여 문서 검색용 정보를 생성하여 상기 파일 장치에 저장하고,
    입력된 검색 조건에 따라 상기 파일 장치에 저장된 문서 검색용 정보를 검색하고, 상기 검색 조건을 만족하는 내용 문자열 정보가 있는지의 여부를 판정하며, 상기 검색 조건을 만족한다고 간주되는 내용 문자열 정보를 갖는 문서의 해석이 끝난 구조화 문서를 취득하고, 또 상기 문서의 검색 조건을 만족하는 범위의 정보를 취득하고,
    상기 문서의 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 표시용 문서형 정의(표시용 DTD)를 작성하고,
    상기 문서의 검색 조건을 만족하는 범위의 정보와 표시용 문서형 정의에 기초하여 구조화 문서 중에 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하는
    것을 특징으로 하는 구조화 문서 검색 표시 프로그램.
  30. 처리 장치, 기억 장치, 파일 장치, 및 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 프로그램에 있어서,
    상기 처리 장치는,
    입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 상기 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하며,
    상기 입력된 구조화 문서로부터 미리 부여된 검색 대상 밖의 구조 정보를 제거한 문서 검색용의 정규화 처리가 끝난 구조화 문서를 생성하고, 또 상기 제거된 구조 정보를 복원하기 위한 복원 정보를 생성하여 상기 파일 장치에 저장하며,
    입력된 검색 조건에 따라 상기 파일 장치에 저장된 정규화 처리가 끝난 구조화 문서를 검색하고, 상기 검색 조건을 만족하는 정규화 처리가 끝난 구조화 문서가 있는지의 여부를 판정하며, 상기 검색 조건을 만족한다고 간주되는 문서의 정규화 처리가 끝난 구조화 문서를 취득하고, 또 상기 문서의 검색 조건을 만족하는 범위의 정보를 취득하며,
    상기 문서의 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 표시용 문서형 정의를 작성하고,
    상기 검색에 의해 취득된 정규화 처리가 끝난 구조화 문서를 상기 복원 정보로서, 제거된 구조 정보를 갖는 구조화 문서로 복원하고, 상기 문서의 검색 조건을 만족하는 범위의 정보와 표시용 문서형 정의에 기초하여 상기 복원된 구조화 문서 중에 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하는
    것을 특징으로 하는 구조화 문서 검색 표시 프로그램.
  31. 처리 장치, 기억 장치, 파일 장치, 및 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 프로그램에 있어서,
    상기 처리 장치는,
    입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 상기 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하며,
    상기 해석이 끝난 구조화 문서로부터 각 구조 내의 내용 문자열 정보를 취득하여 문서 검색용 정보를 생성하여 상기 파일 장치에 저장하고,
    입력된 검색 조건에 따라 상기 파일 장치에 저장된 문서 검색용 정보를 검색하며, 상기 검색 조건을 만족하는 내용 문자열 정보가 있는지의 여부를 판정하고, 상기 검색 조건을 만족한다고 간주되는 내용 문자열 정보를 갖는 문서의 해석이 끝난 구조화 문서를 취득하며, 또 상기 문서의 검색 조건을 만족하는 범위의 정보를 취득하고,
    입력된 표시 대상의 부분 구조를 취득하며,
    상기 표시 대상의 부분 구조 중의 상기 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 부분 구조 표시용 문서형 정의를 작성하고,
    상기 표시 대상의 부분 구조에 대해 상기 문서의 검색 조건을 만족하는 범위의 정보와 부분 구조 표시용 문서형 정의에 기초하여 구조화 문서 중에 하이라이트 표시하기 위한 정보를 부가한 부분 구조 표시용 구조화 문서를 작성하는
    것을 특징으로 하는 구조화 문서 검색 표시 프로그램.
  32. 처리 장치, 기억 장치, 파일 장치, 및 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 프로그램을 저장한 기억 매체에 있어서,
    상기 처리 장치는,
    입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 상기 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하며,
    상기 해석이 끝난 구조화 문서로부터 각 구조 내의 내용 문자열 정보를 취득하여 문서 검색용 정보를 생성하여 상기 파일 장치에 저장하고,
    입력된 검색 조건에 따라 상기 파일 장치에 저장된 문서 검색용 정보를 검색하며, 상기 검색 조건을 만족하는 내용 문자열 정보가 있는지의 여부를 판정하고, 상기 검색 조건을 만족한다고 간주되는 내용 문자열 정보를 갖는 문서의 해석이 끝난 구조화 문서를 취득하며, 또 상기 문서의 검색 조건을 만족하는 범위의 정보를 취득하고,
    상기 문서의 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 표시용 문서형 정의(표시용 DTD)를 작성하며,
    상기 문서의 검색 조건을 만족하는 범위의 정보와 표시용 문서형 정의에 기초하여 구조화 문서 중에 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하는
    것을 특징으로 하는 구조화 문서 검색 표시 프로그램을 저장한 기억 매체.
  33. 처리 장치, 기억 장치, 파일 장치, 및 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 프로그램을 저장한 기억 매체에 있어서,
    상기 처리 장치는,
    입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 상기 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하며,
    상기 입력된 구조화 문서로부터 미리 부여된 검색 대상 밖의 구조 정보를 제거한 문서 검색용 정규화 처리가 끝난 구조화 문서를 생성하고, 또한 상기 제거된 구조 정보를 복원하기 위한 복원 정보를 생성하여 상기 파일 장치에 저장하며,
    입력된 검색 조건에 따라 상기 파일 장치에 저장된 정규화 처리가 끝난 구조화 문서를 검색하고, 상기 검색 조건을 만족하는 정규화 처리가 끝난 구조화 문서가 있는지의 여부를 판정하고, 상기 검색 조건을 만족한다고 간주되는 문서의 정규화 처리가 끝난 구조화 문서를 취득하며, 또 상기 문서의 검색 조건을 만족하는 범위의 정보를 취득하고,
    상기 문서의 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 표시용 문서형 정의를 작성하고,
    상기 검색에 의해 취득된 정규화 처리가 끝난 구조화 문서를 상기 복원 정보로서, 제거된 구조 정보를 갖는 구조화 문서로 복원하며, 상기 문서의 검색 조건을 만족하는 범위의 정보와 표시용 문서형 정의에 기초하여 상기 복원된 구조화 문서 중에 하이라이트 표시하기 위한 정보를 부가한 표시용 구조화 문서를 작성하는 것을 특징으로 하는 구조화 문서 검색 표시 프로그램을 저장한 기억 매체.
  34. 처리 장치, 기억 장치, 파일 장치, 및 입출력 장치를 구비하는 정보 처리 시스템에서의 구조화 문서 검색 표시 프로그램을 저장한 기억 매체에 있어서,
    상기 처리 장치는,
    입력된 구조화 문서를 해석하여 해석이 끝난 구조화 문서를 생성하고, 상기 해석이 끝난 구조화 문서를 상기 파일 장치에 저장하고,
    상기 해석이 끝난 구조화 문서로부터 각 구조 내의 내용 문자열 정보를 취득하여 문서 검색용 정보를 생성하여 상기 파일 장치에 저장하며,
    입력된 검색 조건에 따라 상기 파일 장치에 저장된 문서 검색용 정보를 검색하고, 상기 검색 조건을 만족하는 내용 문자열 정보가 있는지의 여부를 판정하며, 상기 검색 조건을 만족하다고 간주되는 내용 문자열 정보를 갖는 문서의 해석이 끝난 구조화 문서를 취득하고, 또 상기 문서의 검색 조건을 만족하는 범위의 정보를 취득하며,
    입력된 표시 대상의 부분 구조를 취득하고,
    상기 표시 대상의 부분 구조 중의 상기 검색 조건을 만족하는 범위를 하이라이트 표시하기 위한 부분 구조 표시용 문서형 정의를 작성하며,
    상기 표시 대상의 부분 구조에 대해 상기 문서의 검색 조건을 만족하는 범위의 정보와 부분 구조 표시용 문서형 정의에 기초하여 구조화 문서 중에 하이라이트 표시하기 위한 정보를 부가한 부분 구조 표시용 구조화 문서를 작성하는
    것을 특징으로 하는 구조화 문서 검색 표시 프로그램을 저장한 기억 매체.
KR1019980025491A 1997-07-01 1998-06-30 구조화문서검색표시방법및장치 KR100324456B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP97-190716 1997-07-01
JP19071697 1997-07-01
JP97-195408 1997-07-22
JP19540897 1997-07-22

Publications (2)

Publication Number Publication Date
KR19990013482A true KR19990013482A (ko) 1999-02-25
KR100324456B1 KR100324456B1 (ko) 2002-04-17

Family

ID=29422287

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980025491A KR100324456B1 (ko) 1997-07-01 1998-06-30 구조화문서검색표시방법및장치

Country Status (4)

Country Link
US (1) US7707139B2 (ko)
KR (1) KR100324456B1 (ko)
CN (1) CN1170240C (ko)
CA (1) CA2242158C (ko)

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7954056B2 (en) * 1997-12-22 2011-05-31 Ricoh Company, Ltd. Television-based visualization and navigation interface
US7257589B1 (en) * 1997-12-22 2007-08-14 Ricoh Company, Ltd. Techniques for targeting information to users
US7596755B2 (en) * 1997-12-22 2009-09-29 Ricoh Company, Ltd. Multimedia visualization and integration environment
JP4183311B2 (ja) 1997-12-22 2008-11-19 株式会社リコー 文書の注釈方法、注釈装置および記録媒体
US20080028292A1 (en) * 1997-12-22 2008-01-31 Ricoh Company, Ltd. Techniques to facilitate reading of a document
US7124093B1 (en) 1997-12-22 2006-10-17 Ricoh Company, Ltd. Method, system and computer code for content based web advertising
US6582475B2 (en) * 1998-09-09 2003-06-24 Ricoh Company Limited Automatic adaptive document printing help system
JP2000339312A (ja) * 1999-05-31 2000-12-08 Toshiba Corp 文書編集システム及びタグ情報管理テーブル作成方法
US7228492B1 (en) 1999-07-06 2007-06-05 Ricoh Company, Ltd. 2D graph displaying document locations of user-specified concept of interest
JP2001028717A (ja) * 1999-07-12 2001-01-30 Sony Corp 情報表示装置及び情報受信装置並びにそれらの方法
JP4091726B2 (ja) * 2000-02-23 2008-05-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 構造化文書の表示規則の生成方法、システムおよびプログラムが記録された媒体ならびに構造化文書およびその文書型定義の変更方法、システムおよびプログラムが記録された媒体
US8578266B2 (en) * 2000-06-26 2013-11-05 Vertical Computer Systems, Inc. Method and system for providing a framework for processing markup language documents
CN1167027C (zh) * 2001-08-03 2004-09-15 富士通株式会社 格式文档中的信息的抽取装置及抽取方法
US8635531B2 (en) * 2002-02-21 2014-01-21 Ricoh Company, Ltd. Techniques for displaying information stored in multiple multimedia documents
JP2003196270A (ja) * 2001-12-27 2003-07-11 Sharp Corp 文書情報処理方法、文書情報処理装置、通信システム、コンピュータプログラム、及び記録媒体
JP2004038512A (ja) * 2002-07-03 2004-02-05 Nec Corp 情報処理端末及びそれに用いる指定タグ位置移動方法並びにそのプログラム
US20040205514A1 (en) * 2002-06-28 2004-10-14 Microsoft Corporation Hyperlink preview utility and method
US20040064826A1 (en) * 2002-09-30 2004-04-01 Timothy Lim Method and system for object system interoperability
US7149752B2 (en) * 2002-12-03 2006-12-12 Jp Morgan Chase Bank Method for simplifying databinding in application programs
US7401156B2 (en) * 2003-02-03 2008-07-15 Jp Morgan Chase Bank Method using control interface to suspend software network environment running on network devices for loading and executing another software network environment
JP3981729B2 (ja) * 2003-03-12 2007-09-26 独立行政法人情報通信研究機構 キーワード強調装置及びプログラム
US7379998B2 (en) * 2003-03-31 2008-05-27 Jp Morgan Chase Bank System and method for multi-platform queue queries
US20040230602A1 (en) * 2003-05-14 2004-11-18 Andrew Doddington System and method for decoupling data presentation layer and data gathering and storage layer in a distributed data processing system
US7366722B2 (en) * 2003-05-15 2008-04-29 Jp Morgan Chase Bank System and method for specifying application services and distributing them across multiple processors using XML
US7356528B1 (en) * 2003-05-15 2008-04-08 At&T Corp. Phrase matching in documents having nested-structure arbitrary (document-specific) markup
US8095659B2 (en) 2003-05-16 2012-01-10 Jp Morgan Chase Bank Service interface
US20040236724A1 (en) * 2003-05-19 2004-11-25 Shu-Yao Chien Searching element-based document descriptions in a database
US20050144174A1 (en) * 2003-12-31 2005-06-30 Leonid Pesenson Framework for providing remote processing of a graphical user interface
JP4435582B2 (ja) * 2004-01-08 2010-03-17 株式会社リコー 画像処理装置、データ検索方法およびデータ検索プログラム
JP2005234837A (ja) * 2004-02-19 2005-09-02 Fujitsu Ltd 構造化文書処理方法、構造化文書処理システム及びそのプログラム
US20050222990A1 (en) * 2004-04-06 2005-10-06 Milne Kenneth T Methods and systems for using script files to obtain, format and disseminate database information
CA2563354C (en) * 2004-04-26 2010-08-17 Jp Morgan Chase Bank System and method for routing messages
US7860874B2 (en) 2004-06-08 2010-12-28 Siemens Industry, Inc. Method for searching across a PLC network
JP4309818B2 (ja) * 2004-07-15 2009-08-05 株式会社東芝 構造化文書管理装置、検索装置、記憶方法、検索方法及びプログラム
US7392471B1 (en) 2004-07-28 2008-06-24 Jp Morgan Chase Bank System and method for comparing extensible markup language (XML) documents
JP2006127235A (ja) * 2004-10-29 2006-05-18 Toshiba Corp 構造化文書管理システム、構造化文書管理方法及びプログラム
CN100462961C (zh) * 2004-11-09 2009-02-18 国际商业机器公司 组织多个文档的方法以及显示多个文档的设备
JP2006185408A (ja) * 2004-11-30 2006-07-13 Matsushita Electric Ind Co Ltd データベース構築装置及びデータベース検索装置及びデータベース装置
US20060136391A1 (en) * 2004-12-21 2006-06-22 Morris Robert P System and method for generating a search index and executing a context-sensitive search
JP4900640B2 (ja) * 2005-03-30 2012-03-21 京セラ株式会社 携帯端末装置およびその文書表示制御方法
US8239394B1 (en) 2005-03-31 2012-08-07 Google Inc. Bloom filters for query simulation
US7953720B1 (en) 2005-03-31 2011-05-31 Google Inc. Selecting the best answer to a fact query from among a set of potential answers
US7587387B2 (en) 2005-03-31 2009-09-08 Google Inc. User interface for facts query engine with snippets from information sources that include query terms and answer terms
US7631007B2 (en) * 2005-04-12 2009-12-08 Scenera Technologies, Llc System and method for tracking user activity related to network resources using a browser
US7587395B2 (en) * 2005-07-27 2009-09-08 John Harney System and method for providing profile matching with an unstructured document
US7499933B1 (en) 2005-11-12 2009-03-03 Jpmorgan Chase Bank, N.A. System and method for managing enterprise application configuration
US7925676B2 (en) 2006-01-27 2011-04-12 Google Inc. Data object visualization using maps
US8954426B2 (en) * 2006-02-17 2015-02-10 Google Inc. Query language
US20070185870A1 (en) 2006-01-27 2007-08-09 Hogue Andrew W Data object visualization using graphs
US8055674B2 (en) * 2006-02-17 2011-11-08 Google Inc. Annotation framework
JP4489029B2 (ja) * 2006-02-01 2010-06-23 株式会社東芝 構造化文書検索システムおよび構造化文書検索方法
JP2007241888A (ja) * 2006-03-10 2007-09-20 Sony Corp 情報処理装置および方法、並びにプログラム
US8725729B2 (en) * 2006-04-03 2014-05-13 Steven G. Lisa System, methods and applications for embedded internet searching and result display
US7610172B2 (en) * 2006-06-16 2009-10-27 Jpmorgan Chase Bank, N.A. Method and system for monitoring non-occurring events
CN101110073A (zh) * 2006-07-20 2008-01-23 朗迅科技公司 用于对网络web页面内容加亮并添加注释的方法和系统
US8954412B1 (en) 2006-09-28 2015-02-10 Google Inc. Corroborating facts in electronic documents
US7636712B2 (en) * 2006-11-14 2009-12-22 Microsoft Corporation Batching document identifiers for result trimming
US8347202B1 (en) 2007-03-14 2013-01-01 Google Inc. Determining geographic locations for place names in a fact repository
US8161369B2 (en) * 2007-03-16 2012-04-17 Branchfire, Llc System and method of providing a two-part graphic design and interactive document application
US8239751B1 (en) 2007-05-16 2012-08-07 Google Inc. Data from web documents in a spreadsheet
US8321557B2 (en) * 2007-10-10 2012-11-27 Sony Mobile Communications Ab Web feeds over SIP
US20110087698A1 (en) * 2008-06-18 2011-04-14 Keiichi Iguchi Search expression creating system, search expression creating method, search expression creating program, and recording medium
US9135277B2 (en) * 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
US9087059B2 (en) * 2009-08-07 2015-07-21 Google Inc. User interface for presenting search results for multiple regions of a visual query
US20120150861A1 (en) * 2010-12-10 2012-06-14 Microsoft Corporation Highlighting known answers in search results
CN102567421B (zh) * 2010-12-27 2014-04-02 北大方正集团有限公司 文档检索方法和装置
US8745022B2 (en) * 2011-11-22 2014-06-03 Navteq B.V. Full text search based on interwoven string tokens
US8738595B2 (en) 2011-11-22 2014-05-27 Navteq B.V. Location based full text search
US20130174029A1 (en) * 2012-01-04 2013-07-04 Freedom Solutions Group, LLC d/b/a Microsystems Method and apparatus for analyzing a document
US8700661B2 (en) 2012-04-12 2014-04-15 Navteq B.V. Full text search using R-trees
US9990636B1 (en) 2012-05-24 2018-06-05 Jpmorgan Chase Bank, N.A. Enterprise fulfillment system with dynamic prefetching, secured data access, system monitoring, and performance optimization capabilities
US10679160B1 (en) 2012-05-24 2020-06-09 Jpmorgan Chase Bank Enterprise fulfillment system with dynamic prefetching capabilities, secured data access capabilities and system monitoring
US9697524B1 (en) 2012-05-24 2017-07-04 Jpmorgan Chase Bank, N.A. Enterprise fulfillment system with dynamic prefetching capabilities
EP2857986A4 (en) * 2012-05-31 2015-10-14 Fujitsu Ltd Index generating program and search program
US9171069B2 (en) 2012-07-31 2015-10-27 Freedom Solutions Group, Llc Method and apparatus for analyzing a document
US9619445B1 (en) * 2012-08-23 2017-04-11 Inkling Systems, Inc. Conversion of content to formats suitable for digital distributions thereof
US8949794B2 (en) * 2012-10-12 2015-02-03 Vmware, Inc. Binding a software item to a plain english control name
US9292416B2 (en) 2012-10-12 2016-03-22 Vmware, Inc. Software development kit testing
US8839202B2 (en) 2012-10-12 2014-09-16 Vmware, Inc. Test environment managed within tests
US9069902B2 (en) 2012-10-12 2015-06-30 Vmware, Inc. Software test automation
US9684587B2 (en) 2012-10-12 2017-06-20 Vmware, Inc. Test creation with execution
US10387294B2 (en) 2012-10-12 2019-08-20 Vmware, Inc. Altering a test
US9292422B2 (en) 2012-10-12 2016-03-22 Vmware, Inc. Scheduled software item testing
US10067858B2 (en) 2012-10-12 2018-09-04 Vmware, Inc. Cloud-based software testing
US8839201B2 (en) 2012-10-12 2014-09-16 Vmware, Inc. Capturing test data associated with error conditions in software item testing
US10878492B2 (en) * 2015-05-08 2020-12-29 Teachers Insurance & Annuity Association Of America Providing search-directed user interface for online banking applications
CN107533550B (zh) * 2015-07-10 2019-01-29 三菱电机株式会社 数据取得装置、数据取得方法和计算机能读取的记录介质
US11062129B2 (en) * 2015-12-30 2021-07-13 Veritas Technologies Llc Systems and methods for enabling search services to highlight documents
CN110636181A (zh) * 2016-03-01 2019-12-31 京瓷办公信息系统株式会社 信息处理装置
JP6740803B2 (ja) * 2016-08-22 2020-08-19 富士ゼロックス株式会社 情報処理装置、情報処理システム、プログラム
CN112579937A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 一种字符的高亮显示方法及装置
CN111523019B (zh) * 2020-04-23 2023-05-09 北京百度网讯科技有限公司 用于输出信息的方法、装置、设备以及存储介质
CN114296606B (zh) * 2021-12-27 2024-05-03 武汉悦学帮网络技术有限公司 一种文本搜索方法、装置、电子设备及存储介质
CN114594894B (zh) * 2022-02-25 2024-07-02 青岛海信移动通信技术有限公司 界面元素的标记方法及终端设备、存储介质
US20240211436A1 (en) * 2022-04-24 2024-06-27 Morgan Stanley Services Group Inc. Distributed query execution and aggregation with custom code execution

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185698A (en) * 1989-02-24 1993-02-09 International Business Machines Corporation Technique for contracting element marks in a structured document
US5276616A (en) * 1989-10-16 1994-01-04 Sharp Kabushiki Kaisha Apparatus for automatically generating index
CA2048039A1 (en) * 1991-07-19 1993-01-20 Steven Derose Data processing system and method for generating a representation for and random access rendering of electronic documents
JPH0830620A (ja) * 1994-07-19 1996-02-02 Fuji Xerox Co Ltd 構造検索装置
US5583762A (en) * 1994-08-22 1996-12-10 Oclc Online Library Center, Incorporated Generation and reduction of an SGML defined grammer
US5694594A (en) * 1994-11-14 1997-12-02 Chang; Daniel System for linking hypermedia data objects in accordance with associations of source and destination data objects and similarity threshold without using keywords or link-difining terms
JP3063555B2 (ja) * 1995-01-06 2000-07-12 富士ゼロックス株式会社 文書データベース管理装置及び方法
JPH08212230A (ja) 1995-01-31 1996-08-20 Toshiba Corp 文書検索方法及び文書検索装置
JP2896634B2 (ja) * 1995-03-02 1999-05-31 富士ゼロックス株式会社 全文登録語検索装置および全文登録語検索方法
JP3724847B2 (ja) * 1995-06-05 2005-12-07 株式会社日立製作所 構造化文書差分抽出方法および装置
JPH08339369A (ja) 1995-06-14 1996-12-24 Fuji Xerox Co Ltd 文書表示装置および文書表示方法
JPH0969101A (ja) * 1995-08-31 1997-03-11 Hitachi Ltd 構造化文書生成方法および装置
JP3566457B2 (ja) 1996-05-31 2004-09-15 株式会社日立製作所 構造化文書の版管理方法および装置

Also Published As

Publication number Publication date
CN1206883A (zh) 1999-02-03
CA2242158C (en) 2004-06-01
US20020065814A1 (en) 2002-05-30
US7707139B2 (en) 2010-04-27
KR100324456B1 (ko) 2002-04-17
CN1170240C (zh) 2004-10-06
CA2242158A1 (en) 1999-01-01

Similar Documents

Publication Publication Date Title
KR100324456B1 (ko) 구조화문서검색표시방법및장치
US6931590B2 (en) Method and system for managing documents
US8554786B2 (en) Document information management system
US7730104B2 (en) Extraction of information from structured documents
Collard et al. Supporting document and data views of source code
US20030088643A1 (en) Method and computer system for isolating and interrelating components of an application
US20140052778A1 (en) Method and apparatus for mapping a site on a wide area network
US20080126396A1 (en) System and method for implementing dynamic forms
JP2002297602A (ja) 構造化文書検索方法および構造化文書検索装置および構造化文書管理装置およびプログラムおよび記録媒体
JPH08241332A (ja) 全文登録語検索装置および方法
US20090019015A1 (en) Mathematical expression structured language object search system and search method
JPH07325827A (ja) ハイパーテキスト自動生成装置
JP4042830B2 (ja) コンテンツ属性情報正規化方法、情報収集・サービス提供システム、並びにプログラム格納記録媒体
Hardy et al. Mapping and displaying structural transformations between xml and pdf
JP3832693B2 (ja) 構造化文書検索表示方法及び装置
US20050187899A1 (en) Structured document processing method, structured document processing system, and program for same
CN108170409A (zh) Web前端控件的开发方法和系统
KR100284580B1 (ko) 웹 문서 자동 생성장치 및 그 방법
Liu et al. An XML-enabled data extraction toolkit for web sources
JP2003281149A (ja) アクセス権限設定方法および構造化文書管理システム
KR101069278B1 (ko) 청구항 시각화 장치 및 방법
US20080015843A1 (en) Linguistic Image Label Incorporating Decision Relevant Perceptual, Semantic, and Relationships Data
KR100261265B1 (ko) 웹 문서 저작을 위한 장치 및 그 운용 방법
EP1830274A1 (en) Server device and name space issuing method
JP2002297662A (ja) 構造化文書編集方法および構造化文書編集装置および端末装置およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19980630

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19980630

Comment text: Request for Examination of Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20010419

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20011207

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20020131

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20020201

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20050117

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20060123

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20070103

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20080117

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20090119

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20090119

Start annual number: 8

End annual number: 8

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee