Commit 11b2da16 authored by Per Cederqvist's avatar Per Cederqvist

(Name Expansion): Moved to a separate chapter.

parent 6eb9cb40
......@@ -7,8 +7,11 @@
@c FIXME: Move misc-infos to chapter?
@c FIXME: Check for too much text before @menu.
@c FIXME: error-reply defined twice (conflicting).
@c FIXME: add link to Name Expansion from relevant reqs.
@c FIXME: Name Expansion collate table info is outdated.
@c FIXME: sentence-end-double-space!
@c
@c $Id: Protocol-A.texi,v 1.129 2001/05/01 16:24:23 ceder Exp $
@c $Id: Protocol-A.texi,v 1.130 2001/05/01 16:32:42 ceder Exp $
@c %**start of header
@setfilename protocol-a.info
@settitle LysKOM Protocol A
......@@ -362,6 +365,7 @@ The most up-to-date version if this document can always be found at
* Protocol Requests::
* Asynchronous Messages::
* Error Codes::
* Name Expansion::
* LysKOM Content Types::
* The User Area::
* Writing Clients::
......@@ -1496,7 +1500,6 @@ while complex data types include things such as conferences and people.
@menu
* Simple Data Types::
* LysKOM Data Types::
* Name Expansion::
@end menu
@node Simple Data Types
......@@ -2918,51 +2921,6 @@ The dynamic session flags (see above.)
What the client is doing. This string is set by the client.
@end table
@node Name Expansion
@section Name Expansion
Names in LysKOM can be expanded according to two rules, regexp matching
or KOM conventions.
@subsection Regexp Matching
This type of expansion, used by the @reqdlink{re-z-lookup} call and
its predecessors@linkhere{} simply matches @command{ed}(1) style
regular expressions to names in the database to find the list of
matching names. The matching is case sensitive.
@subsection KOM Conventions
This type of matching is a little more complicated. Patterns consist of
words and parenthesized expressions, and contain implicit wildcards. The
@command{lyskomd} program implements an approximation of theses
conventions. Since @command{lyskomd} is the trendsetter, these semantics
are good enough.
The rules are simple. Any parenthesized expressions are removed from the
pattern and the names being checked for matches. Then the words of the
pattern are examined from beginning to end, and if every pattern word
matches the prefix of the corresponding word in the name, the name
matches the pattern.
For example ``L D'' matches ``LysKOM (client, server and protocol)
Discussion (and) Ideas'', but not ``LysKOM Protocol Discussion''.
@subsection Case Conversion
Character case is converted according to a collate table in the server.
The collate table is not really a protocol issue, and in a future
protocol version there will be a call to retrieve the collate table from
the server.
The current collate table simply maps ISO 8859-1 uppercase and lowercase
letters to equivalents, and also considered braces and suchlike
equivalent according to swascii rules.
@node Protocol Requests
@chapter Protocol Requests
......@@ -8536,6 +8494,50 @@ specific call.
@node Name Expansion
@chapter Name Expansion
Names in LysKOM can be expanded according to two rules, regexp matching
or KOM conventions.
@subsection Regexp Matching
This type of expansion, used by the @reqdlink{re-z-lookup} call and
its predecessors@linkhere{} simply matches @command{ed}(1) style
regular expressions to names in the database to find the list of
matching names. The matching is case sensitive.
@subsection KOM Conventions
This type of matching is a little more complicated. Patterns consist of
words and parenthesized expressions, and contain implicit wildcards. The
@command{lyskomd} program implements an approximation of theses
conventions. Since @command{lyskomd} is the trendsetter, these semantics
are good enough.
The rules are simple. Any parenthesized expressions are removed from the
pattern and the names being checked for matches. Then the words of the
pattern are examined from beginning to end, and if every pattern word
matches the prefix of the corresponding word in the name, the name
matches the pattern.
For example ``L D'' matches ``LysKOM (client, server and protocol)
Discussion (and) Ideas'', but not ``LysKOM Protocol Discussion''.
@subsection Case Conversion
Character case is converted according to a collate table in the server.
The collate table is not really a protocol issue, and in a future
protocol version there will be a call to retrieve the collate table from
the server.
The current collate table simply maps ISO 8859-1 uppercase and lowercase
letters to equivalents, and also considered braces and suchlike
equivalent according to swascii rules.
@node LysKOM Content Types
@chapter LysKOM Content Types
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment