yaz_search() prepares for a search on the connection given by parameter id. The parameter type represents the query type - only "rpn" is supported now in which case the third argument specifies a Type-1 query in prefix query notation. Like yaz_connect() this function is non-blocking and only prepares for a search to be executed later when yaz_wait() is called.
The RPN query is a textual representation of the Type-1 query as defined by the Z39.50 standard. However, in the text representation as used by YAZ a prefix notation is used, that is the operater precedes the operands. The query string is a sequence of tokens where white space is ignored unless surrounded by double quotes. Tokens beginning with an at-character (@) are considered operators, otherwise they are treated as search terms.
Table 1. RPN Operators
| Construct | Description | 
|---|---|
| @and query1 query2 | intersection of query1 and query2 | 
| @or query1 query2 | union of query1 and query2 | 
| @not query1 query2 | query1 and not query2 | 
| @set name | result set reference | 
| @attrset set query | specifies attribute-set for query. This construction is only allowed once - in the beginning of the whole query | 
| @attr [set] type=value query | applies attribute to query. The type and value are integers specifying the attribute-type and attribute-value respectively. The set, if given, specifies the attribute-set. | 
You can find information about attributes at the Z39.50 Maintenance Agency site.
Note: If you would like to use a more friendly notation, use the CCL parser - functions yaz_ccl_conf() and yaz_ccl_parse().
| Sites of interest: Web Hosting : Reseller Hosting : Website Hosting : HTML Editor : Web Design Templates : Free Web Hosting : ASP code examples : PHP & MySQL Code Examples | 
| Copyright © 2004 Evrsoft Developer Network. Privacy policy - Link to Us | Contact Evrsoft | ||