Documentation
(C) IBM Corp. 1996, 2000

DB2 Text Extender

DesGetMatches

目的

傳回一資料串流,包含文件 handle 所說明之文字文件的強調顯示資訊。 請參閱資料串流語法。 強調顯示資訊包含文字上下文 (至少一個段落) 及該上下文中的強調顯示文字資訊。

DesGetMatches 只會傳回一部份的資料串流,表示該部份在輸出結構中的長度。

呼叫 DesGetMatches 的序列可取得整個文字文件內容。 當到達文字文件的結尾時,會傳回 RC_SE_END_OF_INFORMATION。

語法

DESRETURN
  DesGetMatches
   ( DESBROWSESESSION    BrowseSession,
      DESHANDLE           DocumentHandle,
      DESMATCHINFO        *pMatchInfo,
      DESULONG            *pMatchInfoLength,
     DESMESSAGE          *pErrorMessage);

函數引數

表 13. DesGetMatches 引數
資料 類型 引數 使用 說明
DESBROWSESESSION BrowseSession 輸入 瀏覽階段作業 handle。
DESHANDLE DocumentHandle 輸入 DesOpenDocument 傳回的文件 handle。
DESMATCHINFO * pMatchInfo 輸出 指向緩衝區的指標,該緩衝區包含已接收的資料串流部份。 DesGetMatches 會配置該緩衝區。
DESULONG * pMatchInfoLength 輸出 為 pMatchInfo 指向的資料串流部分的長度。
DESMESSAGE * pErrorMessage 輸出 執行時所定義的訊息文字。如果發生錯誤,DB2 Text Extender 會傳回錯誤碼及錯誤訊息。 應用程式會依 DES_MAX_MESSAGE_LENGTH 的大小配置該緩衝區。 如果 pErrorMessage 是 NULL 指標, 不會傳回任何錯誤訊息。

資料串流語法

>>- --05-- --DB2TX_DOC-- --DB2TX_START-- ----------------------->
 
>-----+-------------------------------------------------------------+>
      '- --ll-- --DB2TX_DNAM-- --DB2TX_ATOMIC-- --document_name-- --'
 
      .----------------.
      V                |
>--------| Section |---+-- --05-- --DB2TX_DOC-- --DB2TX_END-- --><
 
Section
 
|--- --05-- --DB2TX_DEL-- --DB2TX_START-- ---------------------->
 
>-----+------------------------------------------------------------+>
      '- --ll-- --DB2TX_SNAM-- --DB2TX_ATOMIC-- --section_name-- --'
 
      .-------------------------------------------.
      |                     .------------------.  |
      V                     V                  |  |
>--------| Text encoding |-----| Paragraph |---+--+------------->
 
>---- --05-- --DB2TX_DEL-- --DB2TX_END-- -----------------------|
 
Text encoding
 
|--- --07-- --DB2TX_CCSID-- --DB2TX_ATOMIC-- --coded_character_set_identifier-- -->
 
>--- --07-- --DB2TX_LANG-- --DB2TX_ATOMIC-- --language_identifier-- -->
 
>---------------------------------------------------------------|
 
Paragraph
 
|--- --05-- --DB2TX_PAR-- --DB2TX_START-- ---------------------->
 
      .-----------------------.
      V                       |
>--------| Paragraph text |---+--------------------------------->
 
>---- --05-- --DB2TX_PAR-- --DB2TX_END-- -----------------------|
 
Paragraph text
 
|---+- --ll-- --DB2TX_TEXT-- --DB2TX_ATOMIC-- --text_unit-- --+->
    '- --ll-- --DB2TX_LINK-- --DB2TX_ATOMIC-- --media_ref-- --'
 
      .-----------------------------------------------.
      V                                               |
>--------+-----------------------------------------+--+--------->
         '- --05-- --DB2TX_NL-- --DB2TX_ATOMIC-- --'
 
      .------------------------------------------------------------------------.
      V                                                                        |
>--------+------------------------------------------------------------------+--+>
         '- --ll-- --DB2TX_MATCH-- --DB2TX_ATOMIC-- --match_information-- --'
 
>---------------------------------------------------------------|
 

 

語法圖中的每一個區段 (如 05 DB2TX_DOC DB2TX_START), 都是以類型整數的長度欄位來作為開頭,而在語法圖中, 該整數若不是一個明確的數字 (如 05), 即為一個變數 ll。 該區段的長度包括 2 位元組的長度欄位。
註:該長度的格式為 big-endian。

每一個區段都包括下列其中一個 1 位元組的類型識別字:

DB2TX_START
表示一區段 (例如文件或段落) 的開始。

DB2TX_END
表示區段的結束。

DB2TX_ATOMIC
表示接在其後的項目是原子性的,例如文件名稱或識別字。

資料串流項目為每二位元組長。其為:

DB2TX_DOC
表示文件的開始及結尾。

DB2TX_DNAM
文件名稱。如果沒有指定名稱,就會使用該文件的識別字。

DB2TX_DEL
表示文件元素的開始及結尾。目前所支援之文件元素的唯一類型為文字區段

DB2TX_SNAM
指定文字區段的名稱。目前 DB2 Text Extender 只支援一個文字區段, 並且會自動提供預設名稱。 如果您指定區段名稱,則會忽略。

DB2TX_PAR
表示現行區段中之文字段落的開始及結尾。

DB2TX_TEXT
在現行段落中指定一個文字部份。通常, 文字單元會包含一行文字,而 TEXT 項目後面會接著 DB2TX_NL 項目; 但是文字行也有可能會被分割成好幾個部份, 而每個部份會被指定在其本身的 DB2TX_TEXT 項目中。

該文字使用與現行段落相關的 CCSID 及語言。

DB2TX_LINK
指定 DB2 Text Extender 超媒體參照。 其使用現行段落的 CCSID。

DB2TX_NL
表示現行段落中新的一行的開頭。

DB2TX_MATCH
包含現行文字部份中相符者的出現資訊。 該資訊的提供可作為二進位數配對的順序。 每個配對中的第一個數字都是現行文字部份中之相符者的偏移, 而第二個數字為該相符者的 (字元) 長度。 所給定的長度可超過所給定的文字部份。 偏移及長度都是以 big-endian 格式來指定的二位元組值。

DB2TX_CCSID
從後續的段落開始,到前面加有新的 DB2TX_CCSID 項目的段落之前, 這之間的文字的 CCSID。將傳回下列 CCSID:

DB2TX_CCSID_00500
針對 Latin-1 EBCDIC 字碼頁 500 的文字。

DB2TX_CCSID_04946
針對 Latin-1 ASCII 字碼頁 850 的文字。

DB2TX_CCSID_00819
針對 ASCII 字碼頁 819 的文字。

這些 CCSID 的代號名稱皆定義於 DES_EXT.H 檔案 (隨 DB2 Text Extender 提供)。 二位元組的二進位值皆以 big-endian 格式來指定。

DB2TX_LANG
從後續的段落開始,到前面加有新的 DB2TX_LANG 項目的段落之前, 在這之間的文字的語言識別字。DB2 Text Extender 所支援之所有語言識別字的代號名稱, 皆定義在隨 DB2 Text Extender 提供的 DES_EXT.H 檔案中。 二位元組的二進位值皆以 big-endian 格式來指定。

用法

到達文字文件的結尾時,DesGetMatche 會傳回 RC_SE_END_OF_INFORMATION。

回覆碼

RC_SUCCESS
RC_SE_END_OF_INFORMATION
 
RC_INVALID_PARAMETER
RC_INVALID_SESSION
RC_SE_CAPACITY_LIMIT_EXCEEDED
RC_SE_INCORRECT_HANDLE
RC_SE_IO_PROBLEM
RC_SE_NOT_ENOUGH_MEMORY
RC_SE_REQUEST_IN_PROGRESS
RC_SE_LS_FUNCTION_FAILED
RC_SE_UNEXPECTED_ERROR
 
警告:下列回覆碼表示該函數已傳回結果,但可能不是所預期的結果。
 
RC_SE_DICTIONARY_NOT_FOUND

限制

只有在您呼叫 DesOpenDocument 來開啟文字文件之後,才能呼叫此函數。


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]