Oracle8i interMedia Text Reference Release 2 (8.1.6) Part Number A77063-01 |
|
CTX_DOC Package , 2 of 8
Use the CTX_DOC.FILTER procedure to generate either a plain text or HTML version of a document. You can store the rendered document in either a result table or in memory. This procedure is generally called after a query, from which you identify the document to be filtered.
CTX_DOC.FILTER( index_name IN VARCHAR2, textkey IN VARCHAR2, restab IN OUT CLOB, query_id IN NUMBER DEFAULT 0, plaintext IN BOOLEAN DEFAULT FALSE);
CTX_DOC.FILTER( index_name IN VARCHAR2, textkey IN VARCHAR2, restab IN VARCHAR2, query_id IN NUMBER DEFAULT 0, plaintext IN BOOLEAN DEFAULT FALSE);
Specify the name of the index associated with the text column containing the document identified by textkey.
Specify the unique identifier (usually the primary key) for the document.
The textkey parameter can be one of the following:
You toggle between primary key and rowid identification using CTX_DOC.SET_KEY_TYPE.
You can specify that this procedure store the marked-up text to either a table or to an in-memory CLOB.
To store results to a table specify the name of the table.
See Also:
For more information about the structure of the filter result table, see "Filter Table" in Appendix B. |
To store results in memory, specify the name of the CLOB locator. If restab is NULL, a temporary CLOB is allocated and returned. You must de-allocate the locator after using it.
If restab is not NULL, the CLOB is truncated before the operation.
Specify an identifier to use to identify the row inserted into restab.
Specify TRUE to generate a plaintext version of the document. Specify FALSE to generate an HTML version of the document if you are using the INSO filter or indexing HTML documents.
The following code shows how to filter a document to HTML in memory.
declare mklob clob; amt number := 40; line varchar2(80); begin ctx_doc.filter('myindex','1', mklob, '0', FALSE); -- mklob is NULL when passed-in, so ctx-doc.filter will allocate a temporary -- CLOB for us and place the results there. dbms_lob.read(mklob, amt, 1, line); dbms_output.put_line('FIRST 40 CHARS ARE:'||line); -- have to de-allocate the temp lob dbms_lob.freetemporary(mklob); end;
Create the filter result table to store the filtered document as follows:
create table filtertab (query_id number, document clob);
To obtain a plaintext version of document with textkey 20, issue the following statement:
begin ctx_doc.filter('newsindex', '20', 'filtertab', '0', TRUE); end;
Before CTX_DOC.FILTER is called, the result table specified in restab must exist.
When textkey is a composite textkey, you must encode the composite textkey string using CTX_DOC.PKENCODE.
When query_id is not specified or set to NULL, it defaults to 0. You must manually truncate the table specified in restab.
|
![]() Copyright © 1996-2000, Oracle Corporation. All Rights Reserved. |
|