-
-
Notifications
You must be signed in to change notification settings - Fork 7
/
about.html
441 lines (319 loc) · 184 KB
/
about.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <title>Ratify</title> <meta name="viewport" content="width=device-width"> <meta name="description" content="A collection of utilities to ratify, validate and parse inputs."> <meta name="author" content="Nicolas Hafner <[email protected]>"> <style type="text/css"> body{
max-width: 1024px;
margin: 0 auto 0 auto;
font-family: sans-serif;
color: #333333;
font-size: 14pt;
padding: 5px;
}
body>header{
display:flex;
align-items: center;
justify-content: center;
flex-direction: column;
max-width: 100%;
text-align: center;
}
body>header img{
max-width: 50%;
}
img{
max-width: 100%;
max-height: 100%;
}
code{
font-family: Consolas, Inconsolata, monospace;
}
a{
text-decoration: none;
color: #0055AA;
}
a img{
border: none;
}
#documentation{
text-align: justify;
}
#documentation pre{
margin-left: 20px;
overflow: auto;
}
#documentation img{
margin: 5px;
}
#symbol-index>ul{
list-style: none;
padding: 0;
}
#symbol-index .package>ul{
list-style: none;
padding: 0 0 0 10px;
}
#symbol-index .package .nicknames{
font-weight: normal;
}
#symbol-index .package h4{
display: inline-block;
margin: 0;
}
#symbol-index .package article{
margin: 0 0 15px 0;
}
#symbol-index .package article header{
font-size: 1.2em;
font-weight: normal;
}
#symbol-index .package .name{
margin-right: 5px;
}
#symbol-index .package .docstring{
margin: 0 0 0 15px;
white-space: pre-wrap;
font-size: 12pt;
}
@media (max-width: 800px){
body{font-size: 12pt;}
} </style> </head> <body> <header> <h1>ratify</h1> <span class="version">0.1.0</span> <p class="description">A collection of utilities to ratify, validate and parse inputs.</p> </header> <main> <article id="documentation"> <div><h2 id="about_ratify">About Ratify</h2> <p>Ratify is a collection of utilities to perform validation checks and parsing. The main intention of usage for this is in web-applications in order to check form inputs for correctness and automatically parse them into their proper representations or return meaningful errors.</p> <h2 id="how_to">How To</h2> <p>Ratify has a load of <code>TEST-*</code> functions, each accompanied by a predicate equivalent. The <code>TEST-*</code> functions will signal errors of type <code><a href="#RATIFY-TOOLKIT:RATIFICATION-ERROR">RATIFICATION-ERROR</a></code> if the test fails, whereas the predicates will simply return <code>NIL</code>. Both will return the passed argument unmodified on success. Some of the tests have an equivalent <code>PARSE-*</code> function in order to turn the string into a more useful representation.</p> <p>The main interaction with Ratify is not supposed to be directly with the <code>TEST-*</code> and <code>PARSE-*</code> functions however, but rather through the <code><a href="#RATIFY-TESTING:TEST">TEST</a></code> and <code><a href="#RATIFY-PARSING:PARSE">PARSE</a></code> wrapper functions. Both also have a macro shorthand to perform many tests and parsings at once, <code><a href="#RATIFY-TESTING:PERFORM-COMBINED-TESTS">PERFORM-COMBINED-TESTS</a></code> and <code><a href="#RATIFY-PARSING:WITH-PARSED-FORMS">WITH-PARSED-FORMS</a></code>. These macros will perform as many tests as possible and only signal an error right after all tests have been made. This error is of type <code><a href="#RATIFY-TESTING:COMBINED-ERROR">COMBINED-ERROR</a></code>, which contains all the errors that occurred during the testing.</p> <pre><code>(<a href="#RATIFY:PERFORM-COMBINED-TESTS">ratify:perform-combined-tests</a>
(:integer "45")
(:date "2014-08-01")
(:ratio "566/21"))
(<a href="#RATIFY:PERFORM-COMBINED-TESTS">ratify:perform-combined-tests</a>
(:integer "4.5" "e")
(:date "2014-08-01" "2014" "2014-55-99")
(:ratio "566/21" "5.6/21"))
; Evaluation aborted on #<RATIFY-TESTING:COMBINED-ERROR {10074E51D3}>.</code></pre> <p>Or to perform parsing:</p> <pre><code>(<a href="http://l1sp.org/cl/let">let</a> ((int "45")
(url "http://foo.bar/baz.jp?what=ever#hashtag")
(uri "things-are://sometimes:[email protected]/damn?protocols=i'm#telling+you!")
(dt "2014-08-01T21:23:01"))
(<a href="#RATIFY:WITH-PARSED-FORMS">ratify:with-parsed-forms</a> ((:integer int) (:url url) (:uri uri) (:datetime dt))
(<a href="http://l1sp.org/cl/list">list</a> int url uri dt)))</code></pre> <p>If an error occurs, the <code><a href="#RATIFY-TESTING:ERRORS">ERRORS</a></code> function gives access to the list of errors that the <code><a href="#RATIFY-TESTING:COMBINED-ERROR">COMBINED-ERROR</a></code> contains. For a complete list of testing and parsing functions, please see the <a href="http://shinmera.github.io/ratify">symbol index</a>. The syntax grammar used to describe the valid values in the docstrings of each test is regex with the addition of <code><brackets></code> to refer to other tests, sometimes accompanied with a second line that describes limits of the values.</p> </div> </article> <article id="copyright"> <h2>Copyright</h2> <span>ratify</span> is licensed under the <span><a href="https://tldrlegal.com/search?q=Artistic">Artistic</a></span> license. © <span>Nicolas Hafner <[email protected]></span> . This library can be obtained on <a href="https://github.com/Shinmera/ratify">https://github.com/Shinmera/ratify</a>. </article> <article id="symbol-index"> <h2>Package Index</h2> <ul><li class="package"> <h3> <a name="RATIFY-TOOLKIT" href="#RATIFY-TOOLKIT">RATIFY-TOOLKIT</a> <span class="nicknames">(ORG.TYMOONNEXT.RATIFY.TOOLKIT)</span> </h3> <ul><li> <a name="RATIFY-TOOLKIT:RATIFICATION-ERROR"> </a> <article id="CONDITION RATIFY-TOOLKIT:RATIFICATION-ERROR"> <header class="condition"> <span class="type">condition</span> <h4 class="name"><code><a href="#CONDITION%20RATIFY-TOOLKIT%3ARATIFICATION-ERROR">RATIFICATION-ERROR</a></code></h4> </header> <div class="docstring"><pre>Error signalled if a test function hit an error in the format.
The TEST-OBJECT slot contains the object that failed to pass the test.
The MESSAGE slot contains a verbal explanation of what went wrong.</pre></div> </article> </li><li> <a name="RATIFY-TOOLKIT:MESSAGE"> </a> <article id="ACCESSOR RATIFY-TOOLKIT:MESSAGE"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY-TOOLKIT%3AMESSAGE">MESSAGE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CONDITION</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-TOOLKIT:TEST-OBJECT"> </a> <article id="ACCESSOR RATIFY-TOOLKIT:TEST-OBJECT"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY-TOOLKIT%3ATEST-OBJECT">TEST-OBJECT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CONDITION</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-TOOLKIT:MAKE-KEYWORD"> </a> <article id="FUNCTION RATIFY-TOOLKIT:MAKE-KEYWORD"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TOOLKIT%3AMAKE-KEYWORD">MAKE-KEYWORD</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NAME</code><code>)</code> </header> <div class="docstring"><pre>Returns the keyword equivalent of the passed NAME.</pre></div> </article> </li><li> <a name="RATIFY-TOOLKIT:RATIFICATION-ERROR"> </a> <article id="FUNCTION RATIFY-TOOLKIT:RATIFICATION-ERROR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TOOLKIT%3ARATIFICATION-ERROR">RATIFICATION-ERROR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEST-OBJECT &OPTIONAL MESSAGE &REST FORMAT-ARGS</code><code>)</code> </header> <div class="docstring"><pre>Shorthand function to signal a RATIFICATION-ERROR.</pre></div> </article> </li><li> <a name="RATIFY-TOOLKIT:TRUE-ALPHA-P"> </a> <article id="FUNCTION RATIFY-TOOLKIT:TRUE-ALPHA-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TOOLKIT%3ATRUE-ALPHA-P">TRUE-ALPHA-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CHAR</code><code>)</code> </header> <div class="docstring"><pre>Returns T if the character is one of a-Z.
ALPHA-CHAR-P as per CLHS is not strictly limited to just a-Z and returns T
for undesired characters like ü on some implementations like SBCL.</pre></div> </article> </li><li> <a name="RATIFY-TOOLKIT:TRUE-ALPHANUMERIC-P"> </a> <article id="FUNCTION RATIFY-TOOLKIT:TRUE-ALPHANUMERIC-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TOOLKIT%3ATRUE-ALPHANUMERIC-P">TRUE-ALPHANUMERIC-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CHAR</code><code>)</code> </header> <div class="docstring"><pre>Returns T if the character is one of a-Z 0-9.
ALPHANUMERICP as per CLHS is not strictly limited to just a-Z 0-9 and returns T
for undesired characters like ü on some implementations like SBCL.</pre></div> </article> </li></ul> </li><li class="package"> <h3> <a name="RATIFY-TESTING" href="#RATIFY-TESTING">RATIFY-TESTING</a> <span class="nicknames">(ORG.TYMOONNEXT.RATIFY.TESTING)</span> </h3> <ul><li> <a name="RATIFY-TESTING:COMBINED-ERROR"> </a> <article id="CONDITION RATIFY-TESTING:COMBINED-ERROR"> <header class="condition"> <span class="type">condition</span> <h4 class="name"><code><a href="#CONDITION%20RATIFY-TESTING%3ACOMBINED-ERROR">COMBINED-ERROR</a></code></h4> </header> <div class="docstring"><pre>An error object that holds a combination of other errors.
Used to test multiple things before unwinding the stack.</pre></div> </article> </li><li> <a name="RATIFY-TESTING:TEST-FAILED"> </a> <article id="CONDITION RATIFY-TESTING:TEST-FAILED"> <header class="condition"> <span class="type">condition</span> <h4 class="name"><code><a href="#CONDITION%20RATIFY-TESTING%3ATEST-FAILED">TEST-FAILED</a></code></h4> </header> <div class="docstring"><pre>Condition signalled when a test fails.
The TEST-NAME slot specifies the name of the test that was run.
The TEST-OBJECT slot contains the object that failed the test.
The CAUSE slot contains the original error object, usually of type RATIFICATION-ERROR.</pre></div> </article> </li><li> <a name="RATIFY-TESTING:CAUSE"> </a> <article id="ACCESSOR RATIFY-TESTING:CAUSE"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY-TESTING%3ACAUSE">CAUSE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CONDITION</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-TESTING:ERRORS"> </a> <article id="ACCESSOR RATIFY-TESTING:ERRORS"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY-TESTING%3AERRORS">ERRORS</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CONDITION</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-TESTING:TEST"> </a> <article id="ACCESSOR RATIFY-TESTING:TEST"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY-TESTING%3ATEST">TEST</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NAME</code><code>)</code> </header> <div class="docstring"><pre>Returns the function associated with the NAME.
If no such test can be found, an error is signalled.
The name is converted to a keyword.
SETF-able.</pre></div> </article> </li><li> <a name="RATIFY-TESTING:TEST-NAME"> </a> <article id="ACCESSOR RATIFY-TESTING:TEST-NAME"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY-TESTING%3ATEST-NAME">TEST-NAME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CONDITION</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-TESTING:TEST-OBJECT"> </a> <article id="ACCESSOR RATIFY-TESTING:TEST-OBJECT"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY-TESTING%3ATEST-OBJECT">TEST-OBJECT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CONDITION</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-TESTING:PERFORM-TEST"> </a> <article id="FUNCTION RATIFY-TESTING:PERFORM-TEST"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TESTING%3APERFORM-TEST">PERFORM-TEST</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEST-NAME TEST-OBJECT</code><code>)</code> </header> <div class="docstring"><pre>Performs the test named by TEST-NAME on TEST-OBJECT.
Automatically establishes a SKIP-ERROR restart and resignals any error
as a new error of type TEST-FAILED.</pre></div> </article> </li><li> <a name="RATIFY-TESTING:SKIPPABLE-ERROR"> </a> <article id="FUNCTION RATIFY-TESTING:SKIPPABLE-ERROR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TESTING%3ASKIPPABLE-ERROR">SKIPPABLE-ERROR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATUM &REST ARGUMENTS</code><code>)</code> </header> <div class="docstring"><pre>Signals a skippable error as per WITH-SKIPPING.</pre></div> </article> </li><li> <a name="RATIFY-TESTING:DEFINE-TEST"> </a> <article id="MACRO RATIFY-TESTING:DEFINE-TEST"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY-TESTING%3ADEFINE-TEST">DEFINE-TEST</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NAME (PARAM START END) &BODY BODY</code><code>)</code> </header> <div class="docstring"><pre>Defines a new test function with NAME.
PARAM will be bound to the object to test, which is a string unless otherwise
specified, START to the starting index (inc) and END to the ending index (exc).
This function creates two other functions automatically:
TEST-name This is the main test function. If the test fails, an error of
type RATIFICATION-ERROR should be returned. If the test succeeds
the argument passed to it is always returned.
name-P Equivalent to the TEST- function, except that it simply returns
NIL on failure instead of signalling an error.</pre></div> </article> </li><li> <a name="RATIFY-TESTING:PERFORM-COMBINED-TESTS"> </a> <article id="MACRO RATIFY-TESTING:PERFORM-COMBINED-TESTS"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY-TESTING%3APERFORM-COMBINED-TESTS">PERFORM-COMBINED-TESTS</a></code></h4> <code class="qualifiers"></code> <code class="arguments">&BODY TEST-FORMS</code><code>)</code> </header> <div class="docstring"><pre>Same as PERFORM-TESTS, except with WITH-ERRORS-COMBINED in effect.</pre></div> </article> </li><li> <a name="RATIFY-TESTING:PERFORM-TESTS"> </a> <article id="MACRO RATIFY-TESTING:PERFORM-TESTS"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY-TESTING%3APERFORM-TESTS">PERFORM-TESTS</a></code></h4> <code class="qualifiers"></code> <code class="arguments">&BODY TEST-FORMS</code><code>)</code> </header> <div class="docstring"><pre>Performs a series of tests.
TEST-FORMS ::= TEST-FORM*
TEST-FORM ::= (test-name test-object*)
See <a href="NIL">TEST.</a></pre></div> </article> </li><li> <a name="RATIFY-TESTING:WITH-ERRORS-COMBINED"> </a> <article id="MACRO RATIFY-TESTING:WITH-ERRORS-COMBINED"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY-TESTING%3AWITH-ERRORS-COMBINED">WITH-ERRORS-COMBINED</a></code></h4> <code class="qualifiers"></code> <code class="arguments">&BODY BODY</code><code>)</code> </header> <div class="docstring"><pre>Executes the body with special error handling.
Errors are gathered in a COMBINED-ERROR, which is finally signalled once
the body finishes or an error occurs and no SKIP-ERROR restart can be found.
If no errors occur within the body, the last value of the body is returned
as per PROGN.</pre></div> </article> </li><li> <a name="RATIFY-TESTING:WITH-SKIPPING"> </a> <article id="MACRO RATIFY-TESTING:WITH-SKIPPING"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY-TESTING%3AWITH-SKIPPING">WITH-SKIPPING</a></code></h4> <code class="qualifiers"></code> <code class="arguments">&BODY BODY</code><code>)</code> </header> <div class="docstring"><pre>Marks the body as being skippable if an error occurs within.
This establishes the restart SKIP-ERROR.</pre></div> </article> </li></ul> </li><li class="package"> <h3> <a name="RATIFY-PARSING" href="#RATIFY-PARSING">RATIFY-PARSING</a> <span class="nicknames">(ORG.TYMOONNEXT.RATIFY.PARSING)</span> </h3> <ul><li> <a name="RATIFY-PARSING:PARSER"> </a> <article id="ACCESSOR RATIFY-PARSING:PARSER"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY-PARSING%3APARSER">PARSER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NAME</code><code>)</code> </header> <div class="docstring"><pre>Returns the function associated with the NAME.
If no such parser can be found, #'IDENTITY is returned.
The name is converted to a keyword.
SETF-able.</pre></div> </article> </li><li> <a name="RATIFY-PARSING:PARSE"> </a> <article id="FUNCTION RATIFY-PARSING:PARSE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-PARSING%3APARSE">PARSE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PARSER-NAME OBJECT</code><code>)</code> </header> <div class="docstring"><pre>Attempts to parse OBJECT using the parser named by PARSER-NAME.
Automatically establishes a SKIP-ERROR restart as per WITH-SKIPPING.
Performs exactly two operations:
1) Call the test function of name PARSER-NAME on the object
2) Call the parse function of name PARSER-NAME on the object</pre></div> </article> </li><li> <a name="RATIFY-PARSING:DEFINE-PARSER"> </a> <article id="MACRO RATIFY-PARSING:DEFINE-PARSER"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY-PARSING%3ADEFINE-PARSER">DEFINE-PARSER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NAME (PARAM START END) &BODY BODY</code><code>)</code> </header> <div class="docstring"><pre>Defines a new parse function with NAME.
PARAM will be bound to the object to parse, which is a string unless otherwise
specified, START to the starting index (inc) and END to the ending index (exc).
This function creates two other functions automatically:
PARSE-name This is the main test function. If the test fails, an error of
type RATIFICATION-ERROR should be returned. If the test succeeds
the argument passed to it is always returned.</pre></div> </article> </li><li> <a name="RATIFY-PARSING:WITH-PARSED-FORMS"> </a> <article id="MACRO RATIFY-PARSING:WITH-PARSED-FORMS"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY-PARSING%3AWITH-PARSED-FORMS">WITH-PARSED-FORMS</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PARSE-FORMS &BODY BODY</code><code>)</code> </header> <div class="docstring"><pre>Performs a series of parsing operations on objects and rebinds their symbols to the results.
PARSE-FORMS ::= PARSE-FORM*
PARSE-FORM ::= (parser-name object*)
See <a href="NIL">PARSE.</a>
The parse operations are performed within WITH-ERRORS-COMBINED.
As such all parse operations are always performed and only one or no
conditions are signalled as part of the parsing.
See <a href="NIL">WITH-ERRORS-COMBINED.</a></pre></div> </article> </li></ul> </li><li class="package"> <h3> <a name="RATIFY-URI" href="#RATIFY-URI">RATIFY-URI</a> <span class="nicknames">(ORG.TYMOONNEXT.RATIFY.URI)</span> </h3> <ul><li> <a name="RATIFY-URI:ABSOLUTE-PATH-P"> </a> <article id="FUNCTION RATIFY-URI:ABSOLUTE-PATH-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3AABSOLUTE-PATH-P">ABSOLUTE-PATH-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PATH &OPTIONAL (START 0) (END (LENGTH PATH))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-ABSOLUTE-PATH, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:AUTHORITY-P"> </a> <article id="FUNCTION RATIFY-URI:AUTHORITY-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3AAUTHORITY-P">AUTHORITY-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">AUTHORITY &OPTIONAL (START 0) (END (LENGTH AUTHORITY))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-AUTHORITY, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:FRAGMENT-P"> </a> <article id="FUNCTION RATIFY-URI:FRAGMENT-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3AFRAGMENT-P">FRAGMENT-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FRAGMENT &OPTIONAL (START 0) (END (LENGTH FRAGMENT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-FRAGMENT, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:HIERARCHICAL-PART-P"> </a> <article id="FUNCTION RATIFY-URI:HIERARCHICAL-PART-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3AHIERARCHICAL-PART-P">HIERARCHICAL-PART-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HIERARCHICAL &OPTIONAL (START 0) (END (LENGTH HIERARCHICAL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-HIERARCHICAL-PART, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:HOST-P"> </a> <article id="FUNCTION RATIFY-URI:HOST-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3AHOST-P">HOST-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOST &OPTIONAL (START 0) (END (LENGTH HOST))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-HOST, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:IP-P"> </a> <article id="FUNCTION RATIFY-URI:IP-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3AIP-P">IP-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">IP &OPTIONAL (START 0) (END (LENGTH IP))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-IP, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:IPV4-P"> </a> <article id="FUNCTION RATIFY-URI:IPV4-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3AIPV4-P">IPV4-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">IP &OPTIONAL (START 0) (END (LENGTH IP))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-IPV4, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:IPV6-P"> </a> <article id="FUNCTION RATIFY-URI:IPV6-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3AIPV6-P">IPV6-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">IP &OPTIONAL (START 0) (END (LENGTH IP))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-IPV6, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:PATH-SEGMENT-P"> </a> <article id="FUNCTION RATIFY-URI:PATH-SEGMENT-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3APATH-SEGMENT-P">PATH-SEGMENT-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SEGMENT &OPTIONAL (START 0) (END (LENGTH SEGMENT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-PATH-SEGMENT, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:PORT-P"> </a> <article id="FUNCTION RATIFY-URI:PORT-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3APORT-P">PORT-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PORT &OPTIONAL (START 0) (END (LENGTH PORT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-PORT, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:QUERY-P"> </a> <article id="FUNCTION RATIFY-URI:QUERY-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3AQUERY-P">QUERY-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">QUERY &OPTIONAL (START 0) (END (LENGTH QUERY))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-QUERY, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:ROOTLESS-PATH-P"> </a> <article id="FUNCTION RATIFY-URI:ROOTLESS-PATH-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3AROOTLESS-PATH-P">ROOTLESS-PATH-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PATH &OPTIONAL (START 0) (END (LENGTH PATH))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-ROOTLESS-PATH, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:SCHEME-P"> </a> <article id="FUNCTION RATIFY-URI:SCHEME-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ASCHEME-P">SCHEME-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SCHEME &OPTIONAL (START 0) (END (LENGTH SCHEME))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-SCHEME, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-ABSOLUTE-PATH"> </a> <article id="FUNCTION RATIFY-URI:TEST-ABSOLUTE-PATH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-ABSOLUTE-PATH">TEST-ABSOLUTE-PATH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PATH &OPTIONAL (START 0) (END (LENGTH PATH))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid absolute path.
/<rootless-path></pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-AUTHORITY"> </a> <article id="FUNCTION RATIFY-URI:TEST-AUTHORITY"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-AUTHORITY">TEST-AUTHORITY</a></code></h4> <code class="qualifiers"></code> <code class="arguments">AUTHORITY &OPTIONAL (START 0) (END (LENGTH AUTHORITY))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid authority.
(<user>@)?<authority>(:<port>)?</pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-FRAGMENT"> </a> <article id="FUNCTION RATIFY-URI:TEST-FRAGMENT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-FRAGMENT">TEST-FRAGMENT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FRAGMENT &OPTIONAL (START 0) (END (LENGTH FRAGMENT))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid fragment part.
[a-zA-Z0-9!$&'()*+,;=-._~:@?/]+</pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-HIERARCHICAL-PART"> </a> <article id="FUNCTION RATIFY-URI:TEST-HIERARCHICAL-PART"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-HIERARCHICAL-PART">TEST-HIERARCHICAL-PART</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HIERARCHICAL &OPTIONAL (START 0) (END (LENGTH HIERARCHICAL))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid hierarchical part.
<absolute-path>|//<authority><absolute-path></pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-HOST"> </a> <article id="FUNCTION RATIFY-URI:TEST-HOST"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-HOST">TEST-HOST</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOST &OPTIONAL (START 0) (END (LENGTH HOST))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid host name.
[<ip>]|[a-zA-Z0-9-._~%!$&'()*+,;=]+</pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-IP"> </a> <article id="FUNCTION RATIFY-URI:TEST-IP"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-IP">TEST-IP</a></code></h4> <code class="qualifiers"></code> <code class="arguments">IP &OPTIONAL (START 0) (END (LENGTH IP))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid IP address.
<ipv6>|<ipv4></pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-IPV4"> </a> <article id="FUNCTION RATIFY-URI:TEST-IPV4"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-IPV4">TEST-IPV4</a></code></h4> <code class="qualifiers"></code> <code class="arguments">IP &OPTIONAL (START 0) (END (LENGTH IP))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid IPv4
<unsigned-integer>\.<unsigned-integer>\.<unsigned-integer>\.<unsigned-integer>
0<=unsigned-integer<=255</pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-IPV6"> </a> <article id="FUNCTION RATIFY-URI:TEST-IPV6"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-IPV6">TEST-IPV6</a></code></h4> <code class="qualifiers"></code> <code class="arguments">IP &OPTIONAL (START 0) (END (LENGTH IP))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid IPv6
[0-9A-F]:(:|[0-9A-F]:){1,6})[0-9A-F]?
0000<=val<=FFFF</pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-PATH-SEGMENT"> </a> <article id="FUNCTION RATIFY-URI:TEST-PATH-SEGMENT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-PATH-SEGMENT">TEST-PATH-SEGMENT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SEGMENT &OPTIONAL (START 0) (END (LENGTH SEGMENT))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid path segment.
[a-zA-Z0-9!$&'()*+,;=-._~:@]+</pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-PORT"> </a> <article id="FUNCTION RATIFY-URI:TEST-PORT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-PORT">TEST-PORT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PORT &OPTIONAL (START 0) (END (LENGTH PORT))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid port.
<unsigned-integer>
0<=val<=65535</pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-QUERY"> </a> <article id="FUNCTION RATIFY-URI:TEST-QUERY"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-QUERY">TEST-QUERY</a></code></h4> <code class="qualifiers"></code> <code class="arguments">QUERY &OPTIONAL (START 0) (END (LENGTH QUERY))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid query part.
[a-zA-Z0-9!$&'()*+,;=-._~:@?/]+</pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-ROOTLESS-PATH"> </a> <article id="FUNCTION RATIFY-URI:TEST-ROOTLESS-PATH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-ROOTLESS-PATH">TEST-ROOTLESS-PATH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PATH &OPTIONAL (START 0) (END (LENGTH PATH))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid rootless path.
<segment-nz>(/<segment>)?</pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-SCHEME"> </a> <article id="FUNCTION RATIFY-URI:TEST-SCHEME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-SCHEME">TEST-SCHEME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SCHEME &OPTIONAL (START 0) (END (LENGTH SCHEME))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid scheme.
[a-zA-Z][a-zA-Z0-9-.+]*</pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-URI"> </a> <article id="FUNCTION RATIFY-URI:TEST-URI"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-URI">TEST-URI</a></code></h4> <code class="qualifiers"></code> <code class="arguments">URI &OPTIONAL (START 0) (END (LENGTH URI))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid URI according to http://tools.ietf.org/html/rfc3986
<scheme>:<hierarchical-part>(?<query>)?(#<fragment>)?</pre></div> </article> </li><li> <a name="RATIFY-URI:TEST-USER"> </a> <article id="FUNCTION RATIFY-URI:TEST-USER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3ATEST-USER">TEST-USER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">USER &OPTIONAL (START 0) (END (LENGTH USER))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid user.
[a-zA-Z0-9%!$&'()*+,;=-._~:]+</pre></div> </article> </li><li> <a name="RATIFY-URI:URI-P"> </a> <article id="FUNCTION RATIFY-URI:URI-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3AURI-P">URI-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">URI &OPTIONAL (START 0) (END (LENGTH URI))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-URI, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URI:USER-P"> </a> <article id="FUNCTION RATIFY-URI:USER-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URI%3AUSER-P">USER-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">USER &OPTIONAL (START 0) (END (LENGTH USER))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-USER, returns the passed value on success, NIL on error.</pre></div> </article> </li></ul> </li><li class="package"> <h3> <a name="RATIFY-URL" href="#RATIFY-URL">RATIFY-URL</a> <span class="nicknames">(ORG.TYMOONNEXT.RATIFY.URL)</span> </h3> <ul><li> <a name="RATIFY-URL:*PERMITTED-PROTOCOLS*"> </a> <article id="SPECIAL RATIFY-URL:*PERMITTED-PROTOCOLS*"> <header class="special"> <span class="type">special</span> <h4 class="name"><code><a href="#SPECIAL%20RATIFY-URL%3A%2APERMITTED-PROTOCOLS%2A">*PERMITTED-PROTOCOLS*</a></code></h4> </header> <div class="docstring"><pre>List of permitted protocols in a URL.</pre></div> </article> </li><li> <a name="RATIFY-URL:DOMAIN-P"> </a> <article id="FUNCTION RATIFY-URL:DOMAIN-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URL%3ADOMAIN-P">DOMAIN-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DOMAIN &OPTIONAL (START 0) (END (LENGTH DOMAIN))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-DOMAIN, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URL:HOSTNAME-P"> </a> <article id="FUNCTION RATIFY-URL:HOSTNAME-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URL%3AHOSTNAME-P">HOSTNAME-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOSTNAME &OPTIONAL (START 0) (END (LENGTH HOSTNAME))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-HOSTNAME, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URL:PROTOCOL-P"> </a> <article id="FUNCTION RATIFY-URL:PROTOCOL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URL%3APROTOCOL-P">PROTOCOL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PROTOCOL &OPTIONAL (START 0) (END (LENGTH PROTOCOL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-PROTOCOL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-URL:TEST-DOMAIN"> </a> <article id="FUNCTION RATIFY-URL:TEST-DOMAIN"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URL%3ATEST-DOMAIN">TEST-DOMAIN</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DOMAIN &OPTIONAL (START 0) (END (LENGTH DOMAIN))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid domain.
[<ip>]|<hostname></pre></div> </article> </li><li> <a name="RATIFY-URL:TEST-HOSTNAME"> </a> <article id="FUNCTION RATIFY-URL:TEST-HOSTNAME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URL%3ATEST-HOSTNAME">TEST-HOSTNAME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOSTNAME &OPTIONAL (START 0) (END (LENGTH HOSTNAME))</code><code>)</code> </header> <div class="docstring"><pre>Test a hostname for validity according to http://en.wikipedia.org/wiki/Hostname
[a-zA-Z0-9-]{1,63}(\.[a-zA-Z0-9-]{1,63})*
1<=length<=255</pre></div> </article> </li><li> <a name="RATIFY-URL:TEST-PROTOCOL"> </a> <article id="FUNCTION RATIFY-URL:TEST-PROTOCOL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URL%3ATEST-PROTOCOL">TEST-PROTOCOL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PROTOCOL &OPTIONAL (START 0) (END (LENGTH PROTOCOL))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid protocol according to *PERMITTED-PROTOCOLS*</pre></div> </article> </li><li> <a name="RATIFY-URL:TEST-URL"> </a> <article id="FUNCTION RATIFY-URL:TEST-URL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URL%3ATEST-URL">TEST-URL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">URL &OPTIONAL (START 0) (END (LENGTH URL))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid URL.
(<protocol>://)?(<domain>)?<absolute-path>(?<query>)?(#<fragment>)?</pre></div> </article> </li><li> <a name="RATIFY-URL:URL-P"> </a> <article id="FUNCTION RATIFY-URL:URL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-URL%3AURL-P">URL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">URL &OPTIONAL (START 0) (END (LENGTH URL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-URL, returns the passed value on success, NIL on error.</pre></div> </article> </li></ul> </li><li class="package"> <h3> <a name="RATIFY-EMAIL" href="#RATIFY-EMAIL">RATIFY-EMAIL</a> <span class="nicknames">(ORG.TYMOONNEXT.RATIFY.EMAIL)</span> </h3> <ul><li> <a name="RATIFY-EMAIL:EMAIL-P"> </a> <article id="FUNCTION RATIFY-EMAIL:EMAIL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-EMAIL%3AEMAIL-P">EMAIL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">EMAIL &OPTIONAL (START 0) (END (LENGTH EMAIL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-EMAIL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-EMAIL:TEST-EMAIL"> </a> <article id="FUNCTION RATIFY-EMAIL:TEST-EMAIL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-EMAIL%3ATEST-EMAIL">TEST-EMAIL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">EMAIL &OPTIONAL (START 0) (END (LENGTH EMAIL))</code><code>)</code> </header> <div class="docstring"><pre>Test an e-mail address for validity according to http://en.wikipedia.org/wiki/Email_address#Syntax
<local-part>@<domain></pre></div> </article> </li></ul> </li><li class="package"> <h3> <a name="RATIFY-CSS" href="#RATIFY-CSS">RATIFY-CSS</a> <span class="nicknames">(ORG.TYMOONNEXT.RATIFY.CSS)</span> </h3> <ul><li> <a name="RATIFY-CSS:COLOR-P"> </a> <article id="FUNCTION RATIFY-CSS:COLOR-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-CSS%3ACOLOR-P">COLOR-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">COLOR &OPTIONAL (START 0) (END (LENGTH COLOR))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-COLOR, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-CSS:PROPERTY-P"> </a> <article id="FUNCTION RATIFY-CSS:PROPERTY-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-CSS%3APROPERTY-P">PROPERTY-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PROPERTY &OPTIONAL (START 0) (END (LENGTH PROPERTY))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-PROPERTY, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-CSS:TEST-COLOR"> </a> <article id="FUNCTION RATIFY-CSS:TEST-COLOR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-CSS%3ATEST-COLOR">TEST-COLOR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">COLOR &OPTIONAL (START 0) (END (LENGTH COLOR))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-CSS:TEST-PROPERTY"> </a> <article id="FUNCTION RATIFY-CSS:TEST-PROPERTY"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-CSS%3ATEST-PROPERTY">TEST-PROPERTY</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PROPERTY &OPTIONAL (START 0) (END (LENGTH PROPERTY))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li></ul> </li><li class="package"> <h3> <a name="RATIFY-DATE" href="#RATIFY-DATE">RATIFY-DATE</a> <span class="nicknames">(RATIFY-TIME ORG.TYMOONNEXT.RATIFY.TIME ORG.TYMOONNEXT.RATIFY.DATE)</span> </h3> <ul><li> <a name="RATIFY-DATE:DATE-P"> </a> <article id="FUNCTION RATIFY-DATE:DATE-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ADATE-P">DATE-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATE &OPTIONAL (START 0) (END (LENGTH DATE))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-DATE, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-DATE:DATETIME-P"> </a> <article id="FUNCTION RATIFY-DATE:DATETIME-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ADATETIME-P">DATETIME-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATETIME &OPTIONAL (START 0) (END (LENGTH DATETIME))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-DATETIME, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-DATE:DAY-P"> </a> <article id="FUNCTION RATIFY-DATE:DAY-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ADAY-P">DAY-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DAY &OPTIONAL (START 0) (END (LENGTH DAY))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-DAY, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-DATE:HOUR-P"> </a> <article id="FUNCTION RATIFY-DATE:HOUR-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3AHOUR-P">HOUR-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOUR &OPTIONAL (START 0) (END (LENGTH HOUR))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-HOUR, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-DATE:MINUTE-P"> </a> <article id="FUNCTION RATIFY-DATE:MINUTE-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3AMINUTE-P">MINUTE-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MINUTE &OPTIONAL (START 0) (END (LENGTH MINUTE))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-MINUTE, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-DATE:MONTH-P"> </a> <article id="FUNCTION RATIFY-DATE:MONTH-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3AMONTH-P">MONTH-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MONTH &OPTIONAL (START 0) (END (LENGTH MONTH))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-MONTH, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-DATE:OFFSET-P"> </a> <article id="FUNCTION RATIFY-DATE:OFFSET-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3AOFFSET-P">OFFSET-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">OFFSET &OPTIONAL (START 0) (END (LENGTH OFFSET))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-OFFSET, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-DATE:PARSE-DATE"> </a> <article id="FUNCTION RATIFY-DATE:PARSE-DATE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3APARSE-DATE">PARSE-DATE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATE &OPTIONAL (START 0) (END (LENGTH DATE))</code><code>)</code> </header> <div class="docstring"><pre>Parses the given date into a LOCAL-TIME:TIMESTAMP object.</pre></div> </article> </li><li> <a name="RATIFY-DATE:PARSE-DATETIME"> </a> <article id="FUNCTION RATIFY-DATE:PARSE-DATETIME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3APARSE-DATETIME">PARSE-DATETIME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATETIME &OPTIONAL (START 0) (END (LENGTH DATETIME))</code><code>)</code> </header> <div class="docstring"><pre>Parses the given datetime into a LOCAL-TIME:TIMESTAMP object.
The only part that is allowed to be omitted is the timezone offset specification.</pre></div> </article> </li><li> <a name="RATIFY-DATE:PARSE-DAY"> </a> <article id="FUNCTION RATIFY-DATE:PARSE-DAY"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3APARSE-DAY">PARSE-DAY</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DAY &OPTIONAL (START 0) (END (LENGTH DAY))</code><code>)</code> </header> <div class="docstring"><pre>Parses the day into an integer</pre></div> </article> </li><li> <a name="RATIFY-DATE:PARSE-HOUR"> </a> <article id="FUNCTION RATIFY-DATE:PARSE-HOUR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3APARSE-HOUR">PARSE-HOUR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOUR &OPTIONAL (START 0) (END (LENGTH HOUR))</code><code>)</code> </header> <div class="docstring"><pre>Parses the hour into an integer</pre></div> </article> </li><li> <a name="RATIFY-DATE:PARSE-MINUTE"> </a> <article id="FUNCTION RATIFY-DATE:PARSE-MINUTE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3APARSE-MINUTE">PARSE-MINUTE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MINUTE &OPTIONAL (START 0) (END (LENGTH MINUTE))</code><code>)</code> </header> <div class="docstring"><pre>Parses the minute into an integer</pre></div> </article> </li><li> <a name="RATIFY-DATE:PARSE-MONTH"> </a> <article id="FUNCTION RATIFY-DATE:PARSE-MONTH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3APARSE-MONTH">PARSE-MONTH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MONTH &OPTIONAL (START 0) (END (LENGTH MONTH))</code><code>)</code> </header> <div class="docstring"><pre>Parses the month into an integer.</pre></div> </article> </li><li> <a name="RATIFY-DATE:PARSE-OFFSET"> </a> <article id="FUNCTION RATIFY-DATE:PARSE-OFFSET"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3APARSE-OFFSET">PARSE-OFFSET</a></code></h4> <code class="qualifiers"></code> <code class="arguments">OFFSET &OPTIONAL (START 0) (END (LENGTH OFFSET))</code><code>)</code> </header> <div class="docstring"><pre>Parses the offset into a list of (DIR HOUR MINUTE), wherein DIR is
a string of either "+" or "-", denoting the direction of the offset. </pre></div> </article> </li><li> <a name="RATIFY-DATE:PARSE-SECOND"> </a> <article id="FUNCTION RATIFY-DATE:PARSE-SECOND"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3APARSE-SECOND">PARSE-SECOND</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SECOND &OPTIONAL (START 0) (END (LENGTH SECOND))</code><code>)</code> </header> <div class="docstring"><pre>Parses the second into an integer</pre></div> </article> </li><li> <a name="RATIFY-DATE:PARSE-TIME"> </a> <article id="FUNCTION RATIFY-DATE:PARSE-TIME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3APARSE-TIME">PARSE-TIME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TIME &OPTIONAL (START 0) (END (LENGTH TIME))</code><code>)</code> </header> <div class="docstring"><pre>Parses the given time into a LOCAL-TIME:TIMESTAMP object.</pre></div> </article> </li><li> <a name="RATIFY-DATE:PARSE-YEAR"> </a> <article id="FUNCTION RATIFY-DATE:PARSE-YEAR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3APARSE-YEAR">PARSE-YEAR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">YEAR &OPTIONAL (START 0) (END (LENGTH YEAR))</code><code>)</code> </header> <div class="docstring"><pre>Parses the year into an integer.</pre></div> </article> </li><li> <a name="RATIFY-DATE:SECOND-P"> </a> <article id="FUNCTION RATIFY-DATE:SECOND-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ASECOND-P">SECOND-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SECOND &OPTIONAL (START 0) (END (LENGTH SECOND))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-SECOND, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-DATE:TEST-DATE"> </a> <article id="FUNCTION RATIFY-DATE:TEST-DATE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ATEST-DATE">TEST-DATE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATE &OPTIONAL (START 0) (END (LENGTH DATE))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid date.
<year>-<month>-<day></pre></div> </article> </li><li> <a name="RATIFY-DATE:TEST-DATETIME"> </a> <article id="FUNCTION RATIFY-DATE:TEST-DATETIME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ATEST-DATETIME">TEST-DATETIME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATETIME &OPTIONAL (START 0) (END (LENGTH DATETIME))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid datetime.
<year>-<month>-<day>T<hour>:<minute>:<second>Z<offset></pre></div> </article> </li><li> <a name="RATIFY-DATE:TEST-DAY"> </a> <article id="FUNCTION RATIFY-DATE:TEST-DAY"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ATEST-DAY">TEST-DAY</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DAY &OPTIONAL (START 0) (END (LENGTH DAY))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid day.
[0-9]{1,2}
1<=val<=31</pre></div> </article> </li><li> <a name="RATIFY-DATE:TEST-HOUR"> </a> <article id="FUNCTION RATIFY-DATE:TEST-HOUR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ATEST-HOUR">TEST-HOUR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOUR &OPTIONAL (START 0) (END (LENGTH HOUR))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid hour.
[0-9]{1,2}
0<=val<=23</pre></div> </article> </li><li> <a name="RATIFY-DATE:TEST-MINUTE"> </a> <article id="FUNCTION RATIFY-DATE:TEST-MINUTE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ATEST-MINUTE">TEST-MINUTE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MINUTE &OPTIONAL (START 0) (END (LENGTH MINUTE))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid minute.
[0-9]{1,2}
0<=val<=59</pre></div> </article> </li><li> <a name="RATIFY-DATE:TEST-MONTH"> </a> <article id="FUNCTION RATIFY-DATE:TEST-MONTH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ATEST-MONTH">TEST-MONTH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MONTH &OPTIONAL (START 0) (END (LENGTH MONTH))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid month.
[0-9]{1,2}
1<=val<=12</pre></div> </article> </li><li> <a name="RATIFY-DATE:TEST-OFFSET"> </a> <article id="FUNCTION RATIFY-DATE:TEST-OFFSET"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ATEST-OFFSET">TEST-OFFSET</a></code></h4> <code class="qualifiers"></code> <code class="arguments">OFFSET &OPTIONAL (START 0) (END (LENGTH OFFSET))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid offset.
[-+]hour:minute</pre></div> </article> </li><li> <a name="RATIFY-DATE:TEST-SECOND"> </a> <article id="FUNCTION RATIFY-DATE:TEST-SECOND"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ATEST-SECOND">TEST-SECOND</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SECOND &OPTIONAL (START 0) (END (LENGTH SECOND))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid second.
[0-9]{1,2}
0<=val<=59</pre></div> </article> </li><li> <a name="RATIFY-DATE:TEST-TIME"> </a> <article id="FUNCTION RATIFY-DATE:TEST-TIME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ATEST-TIME">TEST-TIME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TIME &OPTIONAL (START 0) (END (LENGTH TIME))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid time.
<hour>:<minute>:<second>Z<offset></pre></div> </article> </li><li> <a name="RATIFY-DATE:TEST-YEAR"> </a> <article id="FUNCTION RATIFY-DATE:TEST-YEAR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ATEST-YEAR">TEST-YEAR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">YEAR &OPTIONAL (START 0) (END (LENGTH YEAR))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid year.
[0-9]{4}</pre></div> </article> </li><li> <a name="RATIFY-DATE:TIME-P"> </a> <article id="FUNCTION RATIFY-DATE:TIME-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3ATIME-P">TIME-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TIME &OPTIONAL (START 0) (END (LENGTH TIME))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-TIME, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-DATE:YEAR-P"> </a> <article id="FUNCTION RATIFY-DATE:YEAR-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-DATE%3AYEAR-P">YEAR-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">YEAR &OPTIONAL (START 0) (END (LENGTH YEAR))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-YEAR, returns the passed value on success, NIL on error.</pre></div> </article> </li></ul> </li><li class="package"> <h3> <a name="RATIFY-TYPES" href="#RATIFY-TYPES">RATIFY-TYPES</a> <span class="nicknames">(ORG.TYMOONNEXT.RATIFY.TYPES)</span> </h3> <ul><li> <a name="RATIFY-TYPES:ALPHABETIC-P"> </a> <article id="FUNCTION RATIFY-TYPES:ALPHABETIC-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3AALPHABETIC-P">ALPHABETIC-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">ALPHA &OPTIONAL (START 0) (END (LENGTH ALPHA))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-ALPHABETIC, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:ALPHANUMERIC-P"> </a> <article id="FUNCTION RATIFY-TYPES:ALPHANUMERIC-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3AALPHANUMERIC-P">ALPHANUMERIC-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">ALPHA &OPTIONAL (START 0) (END (LENGTH ALPHA))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-ALPHANUMERIC, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:BIT-P"> </a> <article id="FUNCTION RATIFY-TYPES:BIT-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ABIT-P">BIT-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">BIT &OPTIONAL (START 0) (END (LENGTH BIT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-BIT, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:BOOLEAN-P"> </a> <article id="FUNCTION RATIFY-TYPES:BOOLEAN-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ABOOLEAN-P">BOOLEAN-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">BOOLEAN &OPTIONAL (START 0) (END (LENGTH BOOLEAN))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-BOOLEAN, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:CHARACTER-P"> </a> <article id="FUNCTION RATIFY-TYPES:CHARACTER-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ACHARACTER-P">CHARACTER-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CHARACTER &OPTIONAL (START 0) (END (LENGTH CHARACTER))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-CHARACTER, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:COMPLEX-P"> </a> <article id="FUNCTION RATIFY-TYPES:COMPLEX-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ACOMPLEX-P">COMPLEX-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">COMPLEX &OPTIONAL (START 0) (END (LENGTH COMPLEX))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-COMPLEX, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:FLOAT-P"> </a> <article id="FUNCTION RATIFY-TYPES:FLOAT-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3AFLOAT-P">FLOAT-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FLOAT &OPTIONAL (START 0) (END (LENGTH FLOAT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-FLOAT, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:INTEGER-P"> </a> <article id="FUNCTION RATIFY-TYPES:INTEGER-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3AINTEGER-P">INTEGER-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INTEGER &OPTIONAL (START 0) (END (LENGTH INTEGER))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-INTEGER, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:NUMBER-P"> </a> <article id="FUNCTION RATIFY-TYPES:NUMBER-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ANUMBER-P">NUMBER-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NUMBER &OPTIONAL (START 0) (END (LENGTH NUMBER))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-NUMBER, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:NUMERIC-P"> </a> <article id="FUNCTION RATIFY-TYPES:NUMERIC-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ANUMERIC-P">NUMERIC-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NUMBER &OPTIONAL (START 0) (END (LENGTH NUMBER))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-NUMERIC, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:PARSE-BIT"> </a> <article id="FUNCTION RATIFY-TYPES:PARSE-BIT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3APARSE-BIT">PARSE-BIT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">BIT &OPTIONAL (START 0) (END (LENGTH BIT))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a bit of either 1 or 0.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:PARSE-BOOLEAN"> </a> <article id="FUNCTION RATIFY-TYPES:PARSE-BOOLEAN"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3APARSE-BOOLEAN">PARSE-BOOLEAN</a></code></h4> <code class="qualifiers"></code> <code class="arguments">BOOLEAN &OPTIONAL (START 0) (END (LENGTH BOOLEAN))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a boolean.
Returns T if one of ("1" "true" "T"), NIL otherwise.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:PARSE-CHARACTER"> </a> <article id="FUNCTION RATIFY-TYPES:PARSE-CHARACTER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3APARSE-CHARACTER">PARSE-CHARACTER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CHARACTER &OPTIONAL (START 0) (END (LENGTH CHARACTER))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a character.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:PARSE-COMPLEX"> </a> <article id="FUNCTION RATIFY-TYPES:PARSE-COMPLEX"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3APARSE-COMPLEX">PARSE-COMPLEX</a></code></h4> <code class="qualifiers"></code> <code class="arguments">COMPLEX &OPTIONAL (START 0) (END (LENGTH COMPLEX))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a complex number.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:PARSE-FLOAT"> </a> <article id="FUNCTION RATIFY-TYPES:PARSE-FLOAT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3APARSE-FLOAT">PARSE-FLOAT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FLOAT &OPTIONAL (START 0) (END (LENGTH FLOAT))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a float.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:PARSE-INTEGER"> </a> <article id="FUNCTION RATIFY-TYPES:PARSE-INTEGER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3APARSE-INTEGER">PARSE-INTEGER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (START 0) END (RADIX 10) JUNK-ALLOWED</code><code>)</code> </header> <div class="docstring"><pre>Examine the substring of string delimited by start and end
(default to the beginning and end of the string) It skips over
whitespace characters and then tries to parse an integer. The
radix parameter must be between 2 and 36.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:PARSE-NUMBER"> </a> <article id="FUNCTION RATIFY-TYPES:PARSE-NUMBER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3APARSE-NUMBER">PARSE-NUMBER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NUMBER &OPTIONAL (START 0) (END (LENGTH NUMBER))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a number.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:PARSE-RATIO"> </a> <article id="FUNCTION RATIFY-TYPES:PARSE-RATIO"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3APARSE-RATIO">PARSE-RATIO</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RATIO &OPTIONAL (START 0) (END (LENGTH RATIO))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a ratio.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:PARSE-RATIONAL"> </a> <article id="FUNCTION RATIFY-TYPES:PARSE-RATIONAL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3APARSE-RATIONAL">PARSE-RATIONAL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RATIONAL &OPTIONAL (START 0) (END (LENGTH RATIONAL))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a rational.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:PARSE-REAL"> </a> <article id="FUNCTION RATIFY-TYPES:PARSE-REAL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3APARSE-REAL">PARSE-REAL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">REAL &OPTIONAL (START 0) (END (LENGTH REAL))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a real.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:PARSE-STRING"> </a> <article id="FUNCTION RATIFY-TYPES:PARSE-STRING"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3APARSE-STRING">PARSE-STRING</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &OPTIONAL (START 0) (END (LENGTH STRING))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a string (simply returns its argument).</pre></div> </article> </li><li> <a name="RATIFY-TYPES:PARSE-UNSIGNED-INTEGER"> </a> <article id="FUNCTION RATIFY-TYPES:PARSE-UNSIGNED-INTEGER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3APARSE-UNSIGNED-INTEGER">PARSE-UNSIGNED-INTEGER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INTEGER &OPTIONAL (START 0) (END (LENGTH INTEGER))</code><code>)</code> </header> <div class="docstring"><pre>Parses into an integer.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:RATIO-P"> </a> <article id="FUNCTION RATIFY-TYPES:RATIO-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ARATIO-P">RATIO-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RATIO &OPTIONAL (START 0) (END (LENGTH RATIO))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-RATIO, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:RATIONAL-P"> </a> <article id="FUNCTION RATIFY-TYPES:RATIONAL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ARATIONAL-P">RATIONAL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RATIONAL &OPTIONAL (START 0) (END (LENGTH RATIONAL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-RATIONAL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:REAL-P"> </a> <article id="FUNCTION RATIFY-TYPES:REAL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3AREAL-P">REAL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">REAL &OPTIONAL (START 0) (END (LENGTH REAL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-REAL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:STRING-P"> </a> <article id="FUNCTION RATIFY-TYPES:STRING-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ASTRING-P">STRING-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &OPTIONAL (START 0) (END (LENGTH STRING))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-STRING, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-ALPHABETIC"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-ALPHABETIC"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-ALPHABETIC">TEST-ALPHABETIC</a></code></h4> <code class="qualifiers"></code> <code class="arguments">ALPHA &OPTIONAL (START 0) (END (LENGTH ALPHA))</code><code>)</code> </header> <div class="docstring"><pre>Tests for an alphabetic string.
[a-zA-Z]*</pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-ALPHANUMERIC"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-ALPHANUMERIC"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-ALPHANUMERIC">TEST-ALPHANUMERIC</a></code></h4> <code class="qualifiers"></code> <code class="arguments">ALPHA &OPTIONAL (START 0) (END (LENGTH ALPHA))</code><code>)</code> </header> <div class="docstring"><pre>Tests for an alphanumeric string.
[a-zA-Z0-9]*</pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-BIT"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-BIT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-BIT">TEST-BIT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">BIT &OPTIONAL (START 0) (END (LENGTH BIT))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid bit.
[01]</pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-BOOLEAN"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-BOOLEAN"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-BOOLEAN">TEST-BOOLEAN</a></code></h4> <code class="qualifiers"></code> <code class="arguments">BOOLEAN &OPTIONAL (START 0) (END (LENGTH BOOLEAN))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid boolean.
1|0|true|false|T|NIL
case-insensitive</pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-CHARACTER"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-CHARACTER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-CHARACTER">TEST-CHARACTER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CHARACTER &OPTIONAL (START 0) (END (LENGTH CHARACTER))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid character.
.{1}</pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-COMPLEX"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-COMPLEX"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-COMPLEX">TEST-COMPLEX</a></code></h4> <code class="qualifiers"></code> <code class="arguments">COMPLEX &OPTIONAL (START 0) (END (LENGTH COMPLEX))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid complex number.
<real>[cC]<real></pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-FLOAT"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-FLOAT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-FLOAT">TEST-FLOAT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FLOAT &OPTIONAL (START 0) (END (LENGTH FLOAT))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid float.
[+-]?<unsigned-integer>(\.<unsigned-integer>)?(e<unsigned-integer>)?</pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-INTEGER"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-INTEGER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-INTEGER">TEST-INTEGER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INTEGER &OPTIONAL (START 0) (END (LENGTH INTEGER))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid signed integer.
[+-]?<unsigned-integer></pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-NUMBER"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-NUMBER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-NUMBER">TEST-NUMBER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NUMBER &OPTIONAL (START 0) (END (LENGTH NUMBER))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid number.
<real>|<complex></pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-NUMERIC"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-NUMERIC"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-NUMERIC">TEST-NUMERIC</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NUMBER &OPTIONAL (START 0) (END (LENGTH NUMBER))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a numeric string.
[0-9]*</pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-RATIO"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-RATIO"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-RATIO">TEST-RATIO</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RATIO &OPTIONAL (START 0) (END (LENGTH RATIO))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid ratio.
[+-]?<unsigned-integer>/<unsigned-integer></pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-RATIONAL"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-RATIONAL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-RATIONAL">TEST-RATIONAL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RATIONAL &OPTIONAL (START 0) (END (LENGTH RATIONAL))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid rational.
[+-]?<unsigned-integer>(/<unsigned-integer>)?</pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-REAL"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-REAL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-REAL">TEST-REAL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">REAL &OPTIONAL (START 0) (END (LENGTH REAL))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid real.
<rational>|<float></pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-STRING"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-STRING"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-STRING">TEST-STRING</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &OPTIONAL (START 0) (END (LENGTH STRING))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid string.
.+</pre></div> </article> </li><li> <a name="RATIFY-TYPES:TEST-UNSIGNED-INTEGER"> </a> <article id="FUNCTION RATIFY-TYPES:TEST-UNSIGNED-INTEGER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3ATEST-UNSIGNED-INTEGER">TEST-UNSIGNED-INTEGER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INTEGER &OPTIONAL (START 0) (END (LENGTH INTEGER))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid unsigned integer.
<numeric></pre></div> </article> </li><li> <a name="RATIFY-TYPES:UNSIGNED-INTEGER-P"> </a> <article id="FUNCTION RATIFY-TYPES:UNSIGNED-INTEGER-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-TYPES%3AUNSIGNED-INTEGER-P">UNSIGNED-INTEGER-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INTEGER &OPTIONAL (START 0) (END (LENGTH INTEGER))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-UNSIGNED-INTEGER, returns the passed value on success, NIL on error.</pre></div> </article> </li></ul> </li><li class="package"> <h3> <a name="RATIFY-HTML" href="#RATIFY-HTML">RATIFY-HTML</a> <span class="nicknames">(ORG.TYMOONNEXT.RATIFY.HTML)</span> </h3> <ul><li> <a name="RATIFY-HTML:CHECKBOX-P"> </a> <article id="FUNCTION RATIFY-HTML:CHECKBOX-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ACHECKBOX-P">CHECKBOX-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INPUT &OPTIONAL (START 0) (END (LENGTH INPUT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-CHECKBOX, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:COLOR-P"> </a> <article id="FUNCTION RATIFY-HTML:COLOR-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ACOLOR-P">COLOR-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">COLOR &OPTIONAL (START 0) (END (LENGTH COLOR))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-COLOR, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:DATE-P"> </a> <article id="FUNCTION RATIFY-HTML:DATE-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ADATE-P">DATE-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATE &OPTIONAL (START 0) (END (LENGTH DATE))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-DATE, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:DATETIME-LOCAL-P"> </a> <article id="FUNCTION RATIFY-HTML:DATETIME-LOCAL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ADATETIME-LOCAL-P">DATETIME-LOCAL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATETIME &OPTIONAL (START 0) (END (LENGTH DATETIME))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-DATETIME-LOCAL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:DATETIME-P"> </a> <article id="FUNCTION RATIFY-HTML:DATETIME-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ADATETIME-P">DATETIME-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATETIME &OPTIONAL (START 0) (END (LENGTH DATETIME))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-DATETIME, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:EMAIL-P"> </a> <article id="FUNCTION RATIFY-HTML:EMAIL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3AEMAIL-P">EMAIL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">EMAIL &OPTIONAL (START 0) (END (LENGTH EMAIL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-EMAIL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:FILE-P"> </a> <article id="FUNCTION RATIFY-HTML:FILE-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3AFILE-P">FILE-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FILE &OPTIONAL (START 0) (END (LENGTH FILE))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-FILE, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:MONTH-P"> </a> <article id="FUNCTION RATIFY-HTML:MONTH-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3AMONTH-P">MONTH-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MONTH &OPTIONAL (START 0) (END (LENGTH MONTH))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-MONTH, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:NUMBER-P"> </a> <article id="FUNCTION RATIFY-HTML:NUMBER-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ANUMBER-P">NUMBER-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NUMBER &OPTIONAL (START 0) (END (LENGTH NUMBER))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-NUMBER, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:PASSWORD-P"> </a> <article id="FUNCTION RATIFY-HTML:PASSWORD-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3APASSWORD-P">PASSWORD-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PW &OPTIONAL (START 0) (END (LENGTH PW))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-PASSWORD, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:RADIO-P"> </a> <article id="FUNCTION RATIFY-HTML:RADIO-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ARADIO-P">RADIO-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RADIO &OPTIONAL (START 0) (END (LENGTH RADIO))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-RADIO, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:RANGE-P"> </a> <article id="FUNCTION RATIFY-HTML:RANGE-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ARANGE-P">RANGE-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RANGE &OPTIONAL (START 0) (END (LENGTH RANGE))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-RANGE, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:SEARCH-P"> </a> <article id="FUNCTION RATIFY-HTML:SEARCH-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ASEARCH-P">SEARCH-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SEARCH &OPTIONAL (START 0) (END (LENGTH SEARCH))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-SEARCH, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:TEL-P"> </a> <article id="FUNCTION RATIFY-HTML:TEL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEL-P">TEL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEL &OPTIONAL (START 0) (END (LENGTH TEL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-TEL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:TEST-CHECKBOX"> </a> <article id="FUNCTION RATIFY-HTML:TEST-CHECKBOX"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-CHECKBOX">TEST-CHECKBOX</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INPUT &OPTIONAL (START 0) (END (LENGTH INPUT))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-HTML:TEST-COLOR"> </a> <article id="FUNCTION RATIFY-HTML:TEST-COLOR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-COLOR">TEST-COLOR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">COLOR &OPTIONAL (START 0) (END (LENGTH COLOR))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-HTML:TEST-DATE"> </a> <article id="FUNCTION RATIFY-HTML:TEST-DATE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-DATE">TEST-DATE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATE &OPTIONAL (START 0) (END (LENGTH DATE))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid date.
<year>-<month>-<day></pre></div> </article> </li><li> <a name="RATIFY-HTML:TEST-DATETIME"> </a> <article id="FUNCTION RATIFY-HTML:TEST-DATETIME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-DATETIME">TEST-DATETIME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATETIME &OPTIONAL (START 0) (END (LENGTH DATETIME))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid datetime.
<year>-<month>-<day>T<hour>:<minute>:<second>Z<offset></pre></div> </article> </li><li> <a name="RATIFY-HTML:TEST-DATETIME-LOCAL"> </a> <article id="FUNCTION RATIFY-HTML:TEST-DATETIME-LOCAL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-DATETIME-LOCAL">TEST-DATETIME-LOCAL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATETIME &OPTIONAL (START 0) (END (LENGTH DATETIME))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-HTML:TEST-EMAIL"> </a> <article id="FUNCTION RATIFY-HTML:TEST-EMAIL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-EMAIL">TEST-EMAIL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">EMAIL &OPTIONAL (START 0) (END (LENGTH EMAIL))</code><code>)</code> </header> <div class="docstring"><pre>Test an e-mail address for validity according to http://en.wikipedia.org/wiki/Email_address#Syntax
<local-part>@<domain></pre></div> </article> </li><li> <a name="RATIFY-HTML:TEST-FILE"> </a> <article id="FUNCTION RATIFY-HTML:TEST-FILE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-FILE">TEST-FILE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FILE &OPTIONAL (START 0) (END (LENGTH FILE))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-HTML:TEST-MONTH"> </a> <article id="FUNCTION RATIFY-HTML:TEST-MONTH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-MONTH">TEST-MONTH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MONTH &OPTIONAL (START 0) (END (LENGTH MONTH))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid month.
[0-9]{1,2}
1<=val<=12</pre></div> </article> </li><li> <a name="RATIFY-HTML:TEST-NUMBER"> </a> <article id="FUNCTION RATIFY-HTML:TEST-NUMBER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-NUMBER">TEST-NUMBER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NUMBER &OPTIONAL (START 0) (END (LENGTH NUMBER))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid number.
<real>|<complex></pre></div> </article> </li><li> <a name="RATIFY-HTML:TEST-PASSWORD"> </a> <article id="FUNCTION RATIFY-HTML:TEST-PASSWORD"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-PASSWORD">TEST-PASSWORD</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PW &OPTIONAL (START 0) (END (LENGTH PW))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-HTML:TEST-RADIO"> </a> <article id="FUNCTION RATIFY-HTML:TEST-RADIO"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-RADIO">TEST-RADIO</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RADIO &OPTIONAL (START 0) (END (LENGTH RADIO))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-HTML:TEST-RANGE"> </a> <article id="FUNCTION RATIFY-HTML:TEST-RANGE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-RANGE">TEST-RANGE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RANGE &OPTIONAL (START 0) (END (LENGTH RANGE))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-HTML:TEST-SEARCH"> </a> <article id="FUNCTION RATIFY-HTML:TEST-SEARCH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-SEARCH">TEST-SEARCH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SEARCH &OPTIONAL (START 0) (END (LENGTH SEARCH))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-HTML:TEST-TEL"> </a> <article id="FUNCTION RATIFY-HTML:TEST-TEL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-TEL">TEST-TEL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEL &OPTIONAL (START 0) (END (LENGTH TEL))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-HTML:TEST-TEXT"> </a> <article id="FUNCTION RATIFY-HTML:TEST-TEXT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-TEXT">TEST-TEXT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEXT &OPTIONAL (START 0) (END (LENGTH TEXT))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-HTML:TEST-TEXTAREA"> </a> <article id="FUNCTION RATIFY-HTML:TEST-TEXTAREA"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-TEXTAREA">TEST-TEXTAREA</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEXT &OPTIONAL (START 0) (END (LENGTH TEXT))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY-HTML:TEST-TIME"> </a> <article id="FUNCTION RATIFY-HTML:TEST-TIME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-TIME">TEST-TIME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TIME &OPTIONAL (START 0) (END (LENGTH TIME))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid time.
<hour>:<minute>:<second>Z<offset></pre></div> </article> </li><li> <a name="RATIFY-HTML:TEST-URL"> </a> <article id="FUNCTION RATIFY-HTML:TEST-URL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEST-URL">TEST-URL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">URL &OPTIONAL (START 0) (END (LENGTH URL))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid URL.
(<protocol>://)?(<domain>)?<absolute-path>(?<query>)?(#<fragment>)?</pre></div> </article> </li><li> <a name="RATIFY-HTML:TEXT-P"> </a> <article id="FUNCTION RATIFY-HTML:TEXT-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEXT-P">TEXT-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEXT &OPTIONAL (START 0) (END (LENGTH TEXT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-TEXT, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:TEXTAREA-P"> </a> <article id="FUNCTION RATIFY-HTML:TEXTAREA-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATEXTAREA-P">TEXTAREA-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEXT &OPTIONAL (START 0) (END (LENGTH TEXT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-TEXTAREA, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:TIME-P"> </a> <article id="FUNCTION RATIFY-HTML:TIME-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3ATIME-P">TIME-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TIME &OPTIONAL (START 0) (END (LENGTH TIME))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-TIME, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY-HTML:URL-P"> </a> <article id="FUNCTION RATIFY-HTML:URL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY-HTML%3AURL-P">URL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">URL &OPTIONAL (START 0) (END (LENGTH URL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-URL, returns the passed value on success, NIL on error.</pre></div> </article> </li></ul> </li><li class="package"> <h3> <a name="RATIFY" href="#RATIFY">RATIFY</a> <span class="nicknames">(ORG.TYMOONNEXT.RATIFY)</span> </h3> <ul><li> <a name="RATIFY:*PERMITTED-PROTOCOLS*"> </a> <article id="SPECIAL RATIFY:*PERMITTED-PROTOCOLS*"> <header class="special"> <span class="type">special</span> <h4 class="name"><code><a href="#SPECIAL%20RATIFY%3A%2APERMITTED-PROTOCOLS%2A">*PERMITTED-PROTOCOLS*</a></code></h4> </header> <div class="docstring"><pre>List of permitted protocols in a URL.</pre></div> </article> </li><li> <a name="RATIFY:COMBINED-ERROR"> </a> <article id="CONDITION RATIFY:COMBINED-ERROR"> <header class="condition"> <span class="type">condition</span> <h4 class="name"><code><a href="#CONDITION%20RATIFY%3ACOMBINED-ERROR">COMBINED-ERROR</a></code></h4> </header> <div class="docstring"><pre>An error object that holds a combination of other errors.
Used to test multiple things before unwinding the stack.</pre></div> </article> </li><li> <a name="RATIFY:RATIFICATION-ERROR"> </a> <article id="CONDITION RATIFY:RATIFICATION-ERROR"> <header class="condition"> <span class="type">condition</span> <h4 class="name"><code><a href="#CONDITION%20RATIFY%3ARATIFICATION-ERROR">RATIFICATION-ERROR</a></code></h4> </header> <div class="docstring"><pre>Error signalled if a test function hit an error in the format.
The TEST-OBJECT slot contains the object that failed to pass the test.
The MESSAGE slot contains a verbal explanation of what went wrong.</pre></div> </article> </li><li> <a name="RATIFY:TEST-FAILED"> </a> <article id="CONDITION RATIFY:TEST-FAILED"> <header class="condition"> <span class="type">condition</span> <h4 class="name"><code><a href="#CONDITION%20RATIFY%3ATEST-FAILED">TEST-FAILED</a></code></h4> </header> <div class="docstring"><pre>Condition signalled when a test fails.
The TEST-NAME slot specifies the name of the test that was run.
The TEST-OBJECT slot contains the object that failed the test.
The CAUSE slot contains the original error object, usually of type RATIFICATION-ERROR.</pre></div> </article> </li><li> <a name="RATIFY:CAUSE"> </a> <article id="ACCESSOR RATIFY:CAUSE"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY%3ACAUSE">CAUSE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CONDITION</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:ERRORS"> </a> <article id="ACCESSOR RATIFY:ERRORS"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY%3AERRORS">ERRORS</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CONDITION</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:MESSAGE"> </a> <article id="ACCESSOR RATIFY:MESSAGE"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY%3AMESSAGE">MESSAGE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CONDITION</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:PARSER"> </a> <article id="ACCESSOR RATIFY:PARSER"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY%3APARSER">PARSER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NAME</code><code>)</code> </header> <div class="docstring"><pre>Returns the function associated with the NAME.
If no such parser can be found, #'IDENTITY is returned.
The name is converted to a keyword.
SETF-able.</pre></div> </article> </li><li> <a name="RATIFY:TEST"> </a> <article id="ACCESSOR RATIFY:TEST"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY%3ATEST">TEST</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NAME</code><code>)</code> </header> <div class="docstring"><pre>Returns the function associated with the NAME.
If no such test can be found, an error is signalled.
The name is converted to a keyword.
SETF-able.</pre></div> </article> </li><li> <a name="RATIFY:TEST-NAME"> </a> <article id="ACCESSOR RATIFY:TEST-NAME"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY%3ATEST-NAME">TEST-NAME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CONDITION</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:TEST-OBJECT"> </a> <article id="ACCESSOR RATIFY:TEST-OBJECT"> <header class="accessor"> <span class="type">accessor</span> <code>(</code><h4 class="name"><code><a href="#ACCESSOR%20RATIFY%3ATEST-OBJECT">TEST-OBJECT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CONDITION</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:ABSOLUTE-PATH-P"> </a> <article id="FUNCTION RATIFY:ABSOLUTE-PATH-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AABSOLUTE-PATH-P">ABSOLUTE-PATH-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PATH &OPTIONAL (START 0) (END (LENGTH PATH))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-ABSOLUTE-PATH, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:ALPHABETIC-P"> </a> <article id="FUNCTION RATIFY:ALPHABETIC-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AALPHABETIC-P">ALPHABETIC-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">ALPHA &OPTIONAL (START 0) (END (LENGTH ALPHA))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-ALPHABETIC, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:ALPHANUMERIC-P"> </a> <article id="FUNCTION RATIFY:ALPHANUMERIC-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AALPHANUMERIC-P">ALPHANUMERIC-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">ALPHA &OPTIONAL (START 0) (END (LENGTH ALPHA))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-ALPHANUMERIC, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:AUTHORITY-P"> </a> <article id="FUNCTION RATIFY:AUTHORITY-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AAUTHORITY-P">AUTHORITY-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">AUTHORITY &OPTIONAL (START 0) (END (LENGTH AUTHORITY))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-AUTHORITY, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:BIT-P"> </a> <article id="FUNCTION RATIFY:BIT-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ABIT-P">BIT-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">BIT &OPTIONAL (START 0) (END (LENGTH BIT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-BIT, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:BOOLEAN-P"> </a> <article id="FUNCTION RATIFY:BOOLEAN-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ABOOLEAN-P">BOOLEAN-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">BOOLEAN &OPTIONAL (START 0) (END (LENGTH BOOLEAN))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-BOOLEAN, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:CHARACTER-P"> </a> <article id="FUNCTION RATIFY:CHARACTER-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ACHARACTER-P">CHARACTER-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CHARACTER &OPTIONAL (START 0) (END (LENGTH CHARACTER))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-CHARACTER, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:CHECKBOX-P"> </a> <article id="FUNCTION RATIFY:CHECKBOX-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ACHECKBOX-P">CHECKBOX-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INPUT &OPTIONAL (START 0) (END (LENGTH INPUT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-CHECKBOX, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:COLOR-P"> </a> <article id="FUNCTION RATIFY:COLOR-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ACOLOR-P">COLOR-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">COLOR &OPTIONAL (START 0) (END (LENGTH COLOR))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-COLOR, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:COMPLEX-P"> </a> <article id="FUNCTION RATIFY:COMPLEX-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ACOMPLEX-P">COMPLEX-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">COMPLEX &OPTIONAL (START 0) (END (LENGTH COMPLEX))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-COMPLEX, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:DATE-P"> </a> <article id="FUNCTION RATIFY:DATE-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ADATE-P">DATE-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATE &OPTIONAL (START 0) (END (LENGTH DATE))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-DATE, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:DATETIME-LOCAL-P"> </a> <article id="FUNCTION RATIFY:DATETIME-LOCAL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ADATETIME-LOCAL-P">DATETIME-LOCAL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATETIME &OPTIONAL (START 0) (END (LENGTH DATETIME))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-DATETIME-LOCAL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:DATETIME-P"> </a> <article id="FUNCTION RATIFY:DATETIME-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ADATETIME-P">DATETIME-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATETIME &OPTIONAL (START 0) (END (LENGTH DATETIME))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-DATETIME, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:DAY-P"> </a> <article id="FUNCTION RATIFY:DAY-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ADAY-P">DAY-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DAY &OPTIONAL (START 0) (END (LENGTH DAY))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-DAY, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:DOMAIN-P"> </a> <article id="FUNCTION RATIFY:DOMAIN-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ADOMAIN-P">DOMAIN-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DOMAIN &OPTIONAL (START 0) (END (LENGTH DOMAIN))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-DOMAIN, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:EMAIL-P"> </a> <article id="FUNCTION RATIFY:EMAIL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AEMAIL-P">EMAIL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">EMAIL &OPTIONAL (START 0) (END (LENGTH EMAIL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-EMAIL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:FILE-P"> </a> <article id="FUNCTION RATIFY:FILE-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AFILE-P">FILE-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FILE &OPTIONAL (START 0) (END (LENGTH FILE))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-FILE, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:FLOAT-P"> </a> <article id="FUNCTION RATIFY:FLOAT-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AFLOAT-P">FLOAT-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FLOAT &OPTIONAL (START 0) (END (LENGTH FLOAT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-FLOAT, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:FRAGMENT-P"> </a> <article id="FUNCTION RATIFY:FRAGMENT-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AFRAGMENT-P">FRAGMENT-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FRAGMENT &OPTIONAL (START 0) (END (LENGTH FRAGMENT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-FRAGMENT, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:HIERARCHICAL-PART-P"> </a> <article id="FUNCTION RATIFY:HIERARCHICAL-PART-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AHIERARCHICAL-PART-P">HIERARCHICAL-PART-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HIERARCHICAL &OPTIONAL (START 0) (END (LENGTH HIERARCHICAL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-HIERARCHICAL-PART, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:HOST-P"> </a> <article id="FUNCTION RATIFY:HOST-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AHOST-P">HOST-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOST &OPTIONAL (START 0) (END (LENGTH HOST))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-HOST, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:HOSTNAME-P"> </a> <article id="FUNCTION RATIFY:HOSTNAME-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AHOSTNAME-P">HOSTNAME-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOSTNAME &OPTIONAL (START 0) (END (LENGTH HOSTNAME))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-HOSTNAME, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:HOUR-P"> </a> <article id="FUNCTION RATIFY:HOUR-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AHOUR-P">HOUR-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOUR &OPTIONAL (START 0) (END (LENGTH HOUR))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-HOUR, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:INTEGER-P"> </a> <article id="FUNCTION RATIFY:INTEGER-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AINTEGER-P">INTEGER-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INTEGER &OPTIONAL (START 0) (END (LENGTH INTEGER))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-INTEGER, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:IP-P"> </a> <article id="FUNCTION RATIFY:IP-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AIP-P">IP-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">IP &OPTIONAL (START 0) (END (LENGTH IP))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-IP, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:IPV4-P"> </a> <article id="FUNCTION RATIFY:IPV4-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AIPV4-P">IPV4-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">IP &OPTIONAL (START 0) (END (LENGTH IP))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-IPV4, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:IPV6-P"> </a> <article id="FUNCTION RATIFY:IPV6-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AIPV6-P">IPV6-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">IP &OPTIONAL (START 0) (END (LENGTH IP))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-IPV6, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:MAKE-KEYWORD"> </a> <article id="FUNCTION RATIFY:MAKE-KEYWORD"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AMAKE-KEYWORD">MAKE-KEYWORD</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NAME</code><code>)</code> </header> <div class="docstring"><pre>Returns the keyword equivalent of the passed NAME.</pre></div> </article> </li><li> <a name="RATIFY:MINUTE-P"> </a> <article id="FUNCTION RATIFY:MINUTE-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AMINUTE-P">MINUTE-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MINUTE &OPTIONAL (START 0) (END (LENGTH MINUTE))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-MINUTE, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:MONTH-P"> </a> <article id="FUNCTION RATIFY:MONTH-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AMONTH-P">MONTH-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MONTH &OPTIONAL (START 0) (END (LENGTH MONTH))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-MONTH, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:NUMBER-P"> </a> <article id="FUNCTION RATIFY:NUMBER-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ANUMBER-P">NUMBER-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NUMBER &OPTIONAL (START 0) (END (LENGTH NUMBER))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-NUMBER, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:NUMERIC-P"> </a> <article id="FUNCTION RATIFY:NUMERIC-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ANUMERIC-P">NUMERIC-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NUMBER &OPTIONAL (START 0) (END (LENGTH NUMBER))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-NUMERIC, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:OFFSET-P"> </a> <article id="FUNCTION RATIFY:OFFSET-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AOFFSET-P">OFFSET-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">OFFSET &OPTIONAL (START 0) (END (LENGTH OFFSET))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-OFFSET, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:PARSE"> </a> <article id="FUNCTION RATIFY:PARSE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE">PARSE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PARSER-NAME OBJECT</code><code>)</code> </header> <div class="docstring"><pre>Attempts to parse OBJECT using the parser named by PARSER-NAME.
Automatically establishes a SKIP-ERROR restart as per WITH-SKIPPING.
Performs exactly two operations:
1) Call the test function of name PARSER-NAME on the object
2) Call the parse function of name PARSER-NAME on the object</pre></div> </article> </li><li> <a name="RATIFY:PARSE-BIT"> </a> <article id="FUNCTION RATIFY:PARSE-BIT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-BIT">PARSE-BIT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">BIT &OPTIONAL (START 0) (END (LENGTH BIT))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a bit of either 1 or 0.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-BOOLEAN"> </a> <article id="FUNCTION RATIFY:PARSE-BOOLEAN"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-BOOLEAN">PARSE-BOOLEAN</a></code></h4> <code class="qualifiers"></code> <code class="arguments">BOOLEAN &OPTIONAL (START 0) (END (LENGTH BOOLEAN))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a boolean.
Returns T if one of ("1" "true" "T"), NIL otherwise.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-CHARACTER"> </a> <article id="FUNCTION RATIFY:PARSE-CHARACTER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-CHARACTER">PARSE-CHARACTER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CHARACTER &OPTIONAL (START 0) (END (LENGTH CHARACTER))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a character.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-COMPLEX"> </a> <article id="FUNCTION RATIFY:PARSE-COMPLEX"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-COMPLEX">PARSE-COMPLEX</a></code></h4> <code class="qualifiers"></code> <code class="arguments">COMPLEX &OPTIONAL (START 0) (END (LENGTH COMPLEX))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a complex number.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-DATE"> </a> <article id="FUNCTION RATIFY:PARSE-DATE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-DATE">PARSE-DATE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATE &OPTIONAL (START 0) (END (LENGTH DATE))</code><code>)</code> </header> <div class="docstring"><pre>Parses the given date into a LOCAL-TIME:TIMESTAMP object.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-DATETIME"> </a> <article id="FUNCTION RATIFY:PARSE-DATETIME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-DATETIME">PARSE-DATETIME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATETIME &OPTIONAL (START 0) (END (LENGTH DATETIME))</code><code>)</code> </header> <div class="docstring"><pre>Parses the given datetime into a LOCAL-TIME:TIMESTAMP object.
The only part that is allowed to be omitted is the timezone offset specification.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-DAY"> </a> <article id="FUNCTION RATIFY:PARSE-DAY"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-DAY">PARSE-DAY</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DAY &OPTIONAL (START 0) (END (LENGTH DAY))</code><code>)</code> </header> <div class="docstring"><pre>Parses the day into an integer</pre></div> </article> </li><li> <a name="RATIFY:PARSE-FLOAT"> </a> <article id="FUNCTION RATIFY:PARSE-FLOAT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-FLOAT">PARSE-FLOAT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FLOAT &OPTIONAL (START 0) (END (LENGTH FLOAT))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a float.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-HOUR"> </a> <article id="FUNCTION RATIFY:PARSE-HOUR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-HOUR">PARSE-HOUR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOUR &OPTIONAL (START 0) (END (LENGTH HOUR))</code><code>)</code> </header> <div class="docstring"><pre>Parses the hour into an integer</pre></div> </article> </li><li> <a name="RATIFY:PARSE-INTEGER"> </a> <article id="FUNCTION RATIFY:PARSE-INTEGER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-INTEGER">PARSE-INTEGER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (START 0) END (RADIX 10) JUNK-ALLOWED</code><code>)</code> </header> <div class="docstring"><pre>Examine the substring of string delimited by start and end
(default to the beginning and end of the string) It skips over
whitespace characters and then tries to parse an integer. The
radix parameter must be between 2 and 36.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-MINUTE"> </a> <article id="FUNCTION RATIFY:PARSE-MINUTE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-MINUTE">PARSE-MINUTE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MINUTE &OPTIONAL (START 0) (END (LENGTH MINUTE))</code><code>)</code> </header> <div class="docstring"><pre>Parses the minute into an integer</pre></div> </article> </li><li> <a name="RATIFY:PARSE-MONTH"> </a> <article id="FUNCTION RATIFY:PARSE-MONTH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-MONTH">PARSE-MONTH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MONTH &OPTIONAL (START 0) (END (LENGTH MONTH))</code><code>)</code> </header> <div class="docstring"><pre>Parses the month into an integer.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-NUMBER"> </a> <article id="FUNCTION RATIFY:PARSE-NUMBER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-NUMBER">PARSE-NUMBER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NUMBER &OPTIONAL (START 0) (END (LENGTH NUMBER))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a number.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-OFFSET"> </a> <article id="FUNCTION RATIFY:PARSE-OFFSET"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-OFFSET">PARSE-OFFSET</a></code></h4> <code class="qualifiers"></code> <code class="arguments">OFFSET &OPTIONAL (START 0) (END (LENGTH OFFSET))</code><code>)</code> </header> <div class="docstring"><pre>Parses the offset into a list of (DIR HOUR MINUTE), wherein DIR is
a string of either "+" or "-", denoting the direction of the offset. </pre></div> </article> </li><li> <a name="RATIFY:PARSE-RATIO"> </a> <article id="FUNCTION RATIFY:PARSE-RATIO"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-RATIO">PARSE-RATIO</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RATIO &OPTIONAL (START 0) (END (LENGTH RATIO))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a ratio.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-RATIONAL"> </a> <article id="FUNCTION RATIFY:PARSE-RATIONAL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-RATIONAL">PARSE-RATIONAL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RATIONAL &OPTIONAL (START 0) (END (LENGTH RATIONAL))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a rational.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-REAL"> </a> <article id="FUNCTION RATIFY:PARSE-REAL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-REAL">PARSE-REAL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">REAL &OPTIONAL (START 0) (END (LENGTH REAL))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a real.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-SECOND"> </a> <article id="FUNCTION RATIFY:PARSE-SECOND"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-SECOND">PARSE-SECOND</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SECOND &OPTIONAL (START 0) (END (LENGTH SECOND))</code><code>)</code> </header> <div class="docstring"><pre>Parses the second into an integer</pre></div> </article> </li><li> <a name="RATIFY:PARSE-STRING"> </a> <article id="FUNCTION RATIFY:PARSE-STRING"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-STRING">PARSE-STRING</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &OPTIONAL (START 0) (END (LENGTH STRING))</code><code>)</code> </header> <div class="docstring"><pre>Parses into a string (simply returns its argument).</pre></div> </article> </li><li> <a name="RATIFY:PARSE-TIME"> </a> <article id="FUNCTION RATIFY:PARSE-TIME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-TIME">PARSE-TIME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TIME &OPTIONAL (START 0) (END (LENGTH TIME))</code><code>)</code> </header> <div class="docstring"><pre>Parses the given time into a LOCAL-TIME:TIMESTAMP object.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-UNSIGNED-INTEGER"> </a> <article id="FUNCTION RATIFY:PARSE-UNSIGNED-INTEGER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-UNSIGNED-INTEGER">PARSE-UNSIGNED-INTEGER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INTEGER &OPTIONAL (START 0) (END (LENGTH INTEGER))</code><code>)</code> </header> <div class="docstring"><pre>Parses into an integer.</pre></div> </article> </li><li> <a name="RATIFY:PARSE-YEAR"> </a> <article id="FUNCTION RATIFY:PARSE-YEAR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APARSE-YEAR">PARSE-YEAR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">YEAR &OPTIONAL (START 0) (END (LENGTH YEAR))</code><code>)</code> </header> <div class="docstring"><pre>Parses the year into an integer.</pre></div> </article> </li><li> <a name="RATIFY:PASSWORD-P"> </a> <article id="FUNCTION RATIFY:PASSWORD-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APASSWORD-P">PASSWORD-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PW &OPTIONAL (START 0) (END (LENGTH PW))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-PASSWORD, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:PATH-SEGMENT-P"> </a> <article id="FUNCTION RATIFY:PATH-SEGMENT-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APATH-SEGMENT-P">PATH-SEGMENT-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SEGMENT &OPTIONAL (START 0) (END (LENGTH SEGMENT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-PATH-SEGMENT, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:PERFORM-TEST"> </a> <article id="FUNCTION RATIFY:PERFORM-TEST"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APERFORM-TEST">PERFORM-TEST</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEST-NAME TEST-OBJECT</code><code>)</code> </header> <div class="docstring"><pre>Performs the test named by TEST-NAME on TEST-OBJECT.
Automatically establishes a SKIP-ERROR restart and resignals any error
as a new error of type TEST-FAILED.</pre></div> </article> </li><li> <a name="RATIFY:PORT-P"> </a> <article id="FUNCTION RATIFY:PORT-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APORT-P">PORT-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PORT &OPTIONAL (START 0) (END (LENGTH PORT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-PORT, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:PROPERTY-P"> </a> <article id="FUNCTION RATIFY:PROPERTY-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APROPERTY-P">PROPERTY-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PROPERTY &OPTIONAL (START 0) (END (LENGTH PROPERTY))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-PROPERTY, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:PROTOCOL-P"> </a> <article id="FUNCTION RATIFY:PROTOCOL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3APROTOCOL-P">PROTOCOL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PROTOCOL &OPTIONAL (START 0) (END (LENGTH PROTOCOL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-PROTOCOL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:QUERY-P"> </a> <article id="FUNCTION RATIFY:QUERY-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AQUERY-P">QUERY-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">QUERY &OPTIONAL (START 0) (END (LENGTH QUERY))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-QUERY, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:RADIO-P"> </a> <article id="FUNCTION RATIFY:RADIO-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ARADIO-P">RADIO-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RADIO &OPTIONAL (START 0) (END (LENGTH RADIO))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-RADIO, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:RANGE-P"> </a> <article id="FUNCTION RATIFY:RANGE-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ARANGE-P">RANGE-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RANGE &OPTIONAL (START 0) (END (LENGTH RANGE))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-RANGE, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:RATIFICATION-ERROR"> </a> <article id="FUNCTION RATIFY:RATIFICATION-ERROR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ARATIFICATION-ERROR">RATIFICATION-ERROR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEST-OBJECT &OPTIONAL MESSAGE &REST FORMAT-ARGS</code><code>)</code> </header> <div class="docstring"><pre>Shorthand function to signal a RATIFICATION-ERROR.</pre></div> </article> </li><li> <a name="RATIFY:RATIO-P"> </a> <article id="FUNCTION RATIFY:RATIO-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ARATIO-P">RATIO-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RATIO &OPTIONAL (START 0) (END (LENGTH RATIO))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-RATIO, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:RATIONAL-P"> </a> <article id="FUNCTION RATIFY:RATIONAL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ARATIONAL-P">RATIONAL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RATIONAL &OPTIONAL (START 0) (END (LENGTH RATIONAL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-RATIONAL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:REAL-P"> </a> <article id="FUNCTION RATIFY:REAL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AREAL-P">REAL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">REAL &OPTIONAL (START 0) (END (LENGTH REAL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-REAL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:ROOTLESS-PATH-P"> </a> <article id="FUNCTION RATIFY:ROOTLESS-PATH-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AROOTLESS-PATH-P">ROOTLESS-PATH-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PATH &OPTIONAL (START 0) (END (LENGTH PATH))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-ROOTLESS-PATH, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:SCHEME-P"> </a> <article id="FUNCTION RATIFY:SCHEME-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ASCHEME-P">SCHEME-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SCHEME &OPTIONAL (START 0) (END (LENGTH SCHEME))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-SCHEME, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:SEARCH-P"> </a> <article id="FUNCTION RATIFY:SEARCH-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ASEARCH-P">SEARCH-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SEARCH &OPTIONAL (START 0) (END (LENGTH SEARCH))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-SEARCH, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:SECOND-P"> </a> <article id="FUNCTION RATIFY:SECOND-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ASECOND-P">SECOND-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SECOND &OPTIONAL (START 0) (END (LENGTH SECOND))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-SECOND, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:SKIPPABLE-ERROR"> </a> <article id="FUNCTION RATIFY:SKIPPABLE-ERROR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ASKIPPABLE-ERROR">SKIPPABLE-ERROR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATUM &REST ARGUMENTS</code><code>)</code> </header> <div class="docstring"><pre>Signals a skippable error as per WITH-SKIPPING.</pre></div> </article> </li><li> <a name="RATIFY:STRING-P"> </a> <article id="FUNCTION RATIFY:STRING-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ASTRING-P">STRING-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &OPTIONAL (START 0) (END (LENGTH STRING))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-STRING, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:TEL-P"> </a> <article id="FUNCTION RATIFY:TEL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEL-P">TEL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEL &OPTIONAL (START 0) (END (LENGTH TEL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-TEL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:TEST-ABSOLUTE-PATH"> </a> <article id="FUNCTION RATIFY:TEST-ABSOLUTE-PATH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-ABSOLUTE-PATH">TEST-ABSOLUTE-PATH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PATH &OPTIONAL (START 0) (END (LENGTH PATH))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid absolute path.
/<rootless-path></pre></div> </article> </li><li> <a name="RATIFY:TEST-ALPHABETIC"> </a> <article id="FUNCTION RATIFY:TEST-ALPHABETIC"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-ALPHABETIC">TEST-ALPHABETIC</a></code></h4> <code class="qualifiers"></code> <code class="arguments">ALPHA &OPTIONAL (START 0) (END (LENGTH ALPHA))</code><code>)</code> </header> <div class="docstring"><pre>Tests for an alphabetic string.
[a-zA-Z]*</pre></div> </article> </li><li> <a name="RATIFY:TEST-ALPHANUMERIC"> </a> <article id="FUNCTION RATIFY:TEST-ALPHANUMERIC"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-ALPHANUMERIC">TEST-ALPHANUMERIC</a></code></h4> <code class="qualifiers"></code> <code class="arguments">ALPHA &OPTIONAL (START 0) (END (LENGTH ALPHA))</code><code>)</code> </header> <div class="docstring"><pre>Tests for an alphanumeric string.
[a-zA-Z0-9]*</pre></div> </article> </li><li> <a name="RATIFY:TEST-AUTHORITY"> </a> <article id="FUNCTION RATIFY:TEST-AUTHORITY"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-AUTHORITY">TEST-AUTHORITY</a></code></h4> <code class="qualifiers"></code> <code class="arguments">AUTHORITY &OPTIONAL (START 0) (END (LENGTH AUTHORITY))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid authority.
(<user>@)?<authority>(:<port>)?</pre></div> </article> </li><li> <a name="RATIFY:TEST-BIT"> </a> <article id="FUNCTION RATIFY:TEST-BIT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-BIT">TEST-BIT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">BIT &OPTIONAL (START 0) (END (LENGTH BIT))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid bit.
[01]</pre></div> </article> </li><li> <a name="RATIFY:TEST-BOOLEAN"> </a> <article id="FUNCTION RATIFY:TEST-BOOLEAN"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-BOOLEAN">TEST-BOOLEAN</a></code></h4> <code class="qualifiers"></code> <code class="arguments">BOOLEAN &OPTIONAL (START 0) (END (LENGTH BOOLEAN))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid boolean.
1|0|true|false|T|NIL
case-insensitive</pre></div> </article> </li><li> <a name="RATIFY:TEST-CHARACTER"> </a> <article id="FUNCTION RATIFY:TEST-CHARACTER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-CHARACTER">TEST-CHARACTER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CHARACTER &OPTIONAL (START 0) (END (LENGTH CHARACTER))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid character.
.{1}</pre></div> </article> </li><li> <a name="RATIFY:TEST-CHECKBOX"> </a> <article id="FUNCTION RATIFY:TEST-CHECKBOX"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-CHECKBOX">TEST-CHECKBOX</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INPUT &OPTIONAL (START 0) (END (LENGTH INPUT))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:TEST-COLOR"> </a> <article id="FUNCTION RATIFY:TEST-COLOR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-COLOR">TEST-COLOR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">COLOR &OPTIONAL (START 0) (END (LENGTH COLOR))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:TEST-COMPLEX"> </a> <article id="FUNCTION RATIFY:TEST-COMPLEX"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-COMPLEX">TEST-COMPLEX</a></code></h4> <code class="qualifiers"></code> <code class="arguments">COMPLEX &OPTIONAL (START 0) (END (LENGTH COMPLEX))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid complex number.
<real>[cC]<real></pre></div> </article> </li><li> <a name="RATIFY:TEST-DATE"> </a> <article id="FUNCTION RATIFY:TEST-DATE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-DATE">TEST-DATE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATE &OPTIONAL (START 0) (END (LENGTH DATE))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid date.
<year>-<month>-<day></pre></div> </article> </li><li> <a name="RATIFY:TEST-DATETIME"> </a> <article id="FUNCTION RATIFY:TEST-DATETIME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-DATETIME">TEST-DATETIME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATETIME &OPTIONAL (START 0) (END (LENGTH DATETIME))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid datetime.
<year>-<month>-<day>T<hour>:<minute>:<second>Z<offset></pre></div> </article> </li><li> <a name="RATIFY:TEST-DATETIME-LOCAL"> </a> <article id="FUNCTION RATIFY:TEST-DATETIME-LOCAL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-DATETIME-LOCAL">TEST-DATETIME-LOCAL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DATETIME &OPTIONAL (START 0) (END (LENGTH DATETIME))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:TEST-DAY"> </a> <article id="FUNCTION RATIFY:TEST-DAY"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-DAY">TEST-DAY</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DAY &OPTIONAL (START 0) (END (LENGTH DAY))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid day.
[0-9]{1,2}
1<=val<=31</pre></div> </article> </li><li> <a name="RATIFY:TEST-DOMAIN"> </a> <article id="FUNCTION RATIFY:TEST-DOMAIN"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-DOMAIN">TEST-DOMAIN</a></code></h4> <code class="qualifiers"></code> <code class="arguments">DOMAIN &OPTIONAL (START 0) (END (LENGTH DOMAIN))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid domain.
[<ip>]|<hostname></pre></div> </article> </li><li> <a name="RATIFY:TEST-EMAIL"> </a> <article id="FUNCTION RATIFY:TEST-EMAIL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-EMAIL">TEST-EMAIL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">EMAIL &OPTIONAL (START 0) (END (LENGTH EMAIL))</code><code>)</code> </header> <div class="docstring"><pre>Test an e-mail address for validity according to http://en.wikipedia.org/wiki/Email_address#Syntax
<local-part>@<domain></pre></div> </article> </li><li> <a name="RATIFY:TEST-FILE"> </a> <article id="FUNCTION RATIFY:TEST-FILE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-FILE">TEST-FILE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FILE &OPTIONAL (START 0) (END (LENGTH FILE))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:TEST-FLOAT"> </a> <article id="FUNCTION RATIFY:TEST-FLOAT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-FLOAT">TEST-FLOAT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FLOAT &OPTIONAL (START 0) (END (LENGTH FLOAT))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid float.
[+-]?<unsigned-integer>(\.<unsigned-integer>)?(e<unsigned-integer>)?</pre></div> </article> </li><li> <a name="RATIFY:TEST-FRAGMENT"> </a> <article id="FUNCTION RATIFY:TEST-FRAGMENT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-FRAGMENT">TEST-FRAGMENT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FRAGMENT &OPTIONAL (START 0) (END (LENGTH FRAGMENT))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid fragment part.
[a-zA-Z0-9!$&'()*+,;=-._~:@?/]+</pre></div> </article> </li><li> <a name="RATIFY:TEST-HIERARCHICAL-PART"> </a> <article id="FUNCTION RATIFY:TEST-HIERARCHICAL-PART"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-HIERARCHICAL-PART">TEST-HIERARCHICAL-PART</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HIERARCHICAL &OPTIONAL (START 0) (END (LENGTH HIERARCHICAL))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid hierarchical part.
<absolute-path>|//<authority><absolute-path></pre></div> </article> </li><li> <a name="RATIFY:TEST-HOST"> </a> <article id="FUNCTION RATIFY:TEST-HOST"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-HOST">TEST-HOST</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOST &OPTIONAL (START 0) (END (LENGTH HOST))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid host name.
[<ip>]|[a-zA-Z0-9-._~%!$&'()*+,;=]+</pre></div> </article> </li><li> <a name="RATIFY:TEST-HOSTNAME"> </a> <article id="FUNCTION RATIFY:TEST-HOSTNAME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-HOSTNAME">TEST-HOSTNAME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOSTNAME &OPTIONAL (START 0) (END (LENGTH HOSTNAME))</code><code>)</code> </header> <div class="docstring"><pre>Test a hostname for validity according to http://en.wikipedia.org/wiki/Hostname
[a-zA-Z0-9-]{1,63}(\.[a-zA-Z0-9-]{1,63})*
1<=length<=255</pre></div> </article> </li><li> <a name="RATIFY:TEST-HOUR"> </a> <article id="FUNCTION RATIFY:TEST-HOUR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-HOUR">TEST-HOUR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HOUR &OPTIONAL (START 0) (END (LENGTH HOUR))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid hour.
[0-9]{1,2}
0<=val<=23</pre></div> </article> </li><li> <a name="RATIFY:TEST-INTEGER"> </a> <article id="FUNCTION RATIFY:TEST-INTEGER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-INTEGER">TEST-INTEGER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INTEGER &OPTIONAL (START 0) (END (LENGTH INTEGER))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid signed integer.
[+-]?<unsigned-integer></pre></div> </article> </li><li> <a name="RATIFY:TEST-IP"> </a> <article id="FUNCTION RATIFY:TEST-IP"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-IP">TEST-IP</a></code></h4> <code class="qualifiers"></code> <code class="arguments">IP &OPTIONAL (START 0) (END (LENGTH IP))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid IP address.
<ipv6>|<ipv4></pre></div> </article> </li><li> <a name="RATIFY:TEST-IPV4"> </a> <article id="FUNCTION RATIFY:TEST-IPV4"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-IPV4">TEST-IPV4</a></code></h4> <code class="qualifiers"></code> <code class="arguments">IP &OPTIONAL (START 0) (END (LENGTH IP))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid IPv4
<unsigned-integer>\.<unsigned-integer>\.<unsigned-integer>\.<unsigned-integer>
0<=unsigned-integer<=255</pre></div> </article> </li><li> <a name="RATIFY:TEST-IPV6"> </a> <article id="FUNCTION RATIFY:TEST-IPV6"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-IPV6">TEST-IPV6</a></code></h4> <code class="qualifiers"></code> <code class="arguments">IP &OPTIONAL (START 0) (END (LENGTH IP))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid IPv6
[0-9A-F]:(:|[0-9A-F]:){1,6})[0-9A-F]?
0000<=val<=FFFF</pre></div> </article> </li><li> <a name="RATIFY:TEST-MINUTE"> </a> <article id="FUNCTION RATIFY:TEST-MINUTE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-MINUTE">TEST-MINUTE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MINUTE &OPTIONAL (START 0) (END (LENGTH MINUTE))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid minute.
[0-9]{1,2}
0<=val<=59</pre></div> </article> </li><li> <a name="RATIFY:TEST-MONTH"> </a> <article id="FUNCTION RATIFY:TEST-MONTH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-MONTH">TEST-MONTH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">MONTH &OPTIONAL (START 0) (END (LENGTH MONTH))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid month.
[0-9]{1,2}
1<=val<=12</pre></div> </article> </li><li> <a name="RATIFY:TEST-NUMBER"> </a> <article id="FUNCTION RATIFY:TEST-NUMBER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-NUMBER">TEST-NUMBER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NUMBER &OPTIONAL (START 0) (END (LENGTH NUMBER))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid number.
<real>|<complex></pre></div> </article> </li><li> <a name="RATIFY:TEST-NUMERIC"> </a> <article id="FUNCTION RATIFY:TEST-NUMERIC"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-NUMERIC">TEST-NUMERIC</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NUMBER &OPTIONAL (START 0) (END (LENGTH NUMBER))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a numeric string.
[0-9]*</pre></div> </article> </li><li> <a name="RATIFY:TEST-OFFSET"> </a> <article id="FUNCTION RATIFY:TEST-OFFSET"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-OFFSET">TEST-OFFSET</a></code></h4> <code class="qualifiers"></code> <code class="arguments">OFFSET &OPTIONAL (START 0) (END (LENGTH OFFSET))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid offset.
[-+]hour:minute</pre></div> </article> </li><li> <a name="RATIFY:TEST-PASSWORD"> </a> <article id="FUNCTION RATIFY:TEST-PASSWORD"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-PASSWORD">TEST-PASSWORD</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PW &OPTIONAL (START 0) (END (LENGTH PW))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:TEST-PATH-SEGMENT"> </a> <article id="FUNCTION RATIFY:TEST-PATH-SEGMENT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-PATH-SEGMENT">TEST-PATH-SEGMENT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SEGMENT &OPTIONAL (START 0) (END (LENGTH SEGMENT))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid path segment.
[a-zA-Z0-9!$&'()*+,;=-._~:@]+</pre></div> </article> </li><li> <a name="RATIFY:TEST-PORT"> </a> <article id="FUNCTION RATIFY:TEST-PORT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-PORT">TEST-PORT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PORT &OPTIONAL (START 0) (END (LENGTH PORT))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid port.
<unsigned-integer>
0<=val<=65535</pre></div> </article> </li><li> <a name="RATIFY:TEST-PROPERTY"> </a> <article id="FUNCTION RATIFY:TEST-PROPERTY"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-PROPERTY">TEST-PROPERTY</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PROPERTY &OPTIONAL (START 0) (END (LENGTH PROPERTY))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:TEST-PROTOCOL"> </a> <article id="FUNCTION RATIFY:TEST-PROTOCOL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-PROTOCOL">TEST-PROTOCOL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PROTOCOL &OPTIONAL (START 0) (END (LENGTH PROTOCOL))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid protocol according to *PERMITTED-PROTOCOLS*</pre></div> </article> </li><li> <a name="RATIFY:TEST-QUERY"> </a> <article id="FUNCTION RATIFY:TEST-QUERY"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-QUERY">TEST-QUERY</a></code></h4> <code class="qualifiers"></code> <code class="arguments">QUERY &OPTIONAL (START 0) (END (LENGTH QUERY))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid query part.
[a-zA-Z0-9!$&'()*+,;=-._~:@?/]+</pre></div> </article> </li><li> <a name="RATIFY:TEST-RADIO"> </a> <article id="FUNCTION RATIFY:TEST-RADIO"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-RADIO">TEST-RADIO</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RADIO &OPTIONAL (START 0) (END (LENGTH RADIO))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:TEST-RANGE"> </a> <article id="FUNCTION RATIFY:TEST-RANGE"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-RANGE">TEST-RANGE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RANGE &OPTIONAL (START 0) (END (LENGTH RANGE))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:TEST-RATIO"> </a> <article id="FUNCTION RATIFY:TEST-RATIO"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-RATIO">TEST-RATIO</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RATIO &OPTIONAL (START 0) (END (LENGTH RATIO))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid ratio.
[+-]?<unsigned-integer>/<unsigned-integer></pre></div> </article> </li><li> <a name="RATIFY:TEST-RATIONAL"> </a> <article id="FUNCTION RATIFY:TEST-RATIONAL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-RATIONAL">TEST-RATIONAL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">RATIONAL &OPTIONAL (START 0) (END (LENGTH RATIONAL))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid rational.
[+-]?<unsigned-integer>(/<unsigned-integer>)?</pre></div> </article> </li><li> <a name="RATIFY:TEST-REAL"> </a> <article id="FUNCTION RATIFY:TEST-REAL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-REAL">TEST-REAL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">REAL &OPTIONAL (START 0) (END (LENGTH REAL))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid real.
<rational>|<float></pre></div> </article> </li><li> <a name="RATIFY:TEST-ROOTLESS-PATH"> </a> <article id="FUNCTION RATIFY:TEST-ROOTLESS-PATH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-ROOTLESS-PATH">TEST-ROOTLESS-PATH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PATH &OPTIONAL (START 0) (END (LENGTH PATH))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid rootless path.
<segment-nz>(/<segment>)?</pre></div> </article> </li><li> <a name="RATIFY:TEST-SCHEME"> </a> <article id="FUNCTION RATIFY:TEST-SCHEME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-SCHEME">TEST-SCHEME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SCHEME &OPTIONAL (START 0) (END (LENGTH SCHEME))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid scheme.
[a-zA-Z][a-zA-Z0-9-.+]*</pre></div> </article> </li><li> <a name="RATIFY:TEST-SEARCH"> </a> <article id="FUNCTION RATIFY:TEST-SEARCH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-SEARCH">TEST-SEARCH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SEARCH &OPTIONAL (START 0) (END (LENGTH SEARCH))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:TEST-SECOND"> </a> <article id="FUNCTION RATIFY:TEST-SECOND"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-SECOND">TEST-SECOND</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SECOND &OPTIONAL (START 0) (END (LENGTH SECOND))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid second.
[0-9]{1,2}
0<=val<=59</pre></div> </article> </li><li> <a name="RATIFY:TEST-STRING"> </a> <article id="FUNCTION RATIFY:TEST-STRING"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-STRING">TEST-STRING</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &OPTIONAL (START 0) (END (LENGTH STRING))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid string.
.+</pre></div> </article> </li><li> <a name="RATIFY:TEST-TEL"> </a> <article id="FUNCTION RATIFY:TEST-TEL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-TEL">TEST-TEL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEL &OPTIONAL (START 0) (END (LENGTH TEL))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:TEST-TEXT"> </a> <article id="FUNCTION RATIFY:TEST-TEXT"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-TEXT">TEST-TEXT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEXT &OPTIONAL (START 0) (END (LENGTH TEXT))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:TEST-TEXTAREA"> </a> <article id="FUNCTION RATIFY:TEST-TEXTAREA"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-TEXTAREA">TEST-TEXTAREA</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEXT &OPTIONAL (START 0) (END (LENGTH TEXT))</code><code>)</code> </header> <div class="docstring"><i>No docstring provided.</i></div> </article> </li><li> <a name="RATIFY:TEST-TIME"> </a> <article id="FUNCTION RATIFY:TEST-TIME"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-TIME">TEST-TIME</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TIME &OPTIONAL (START 0) (END (LENGTH TIME))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid time.
<hour>:<minute>:<second>Z<offset></pre></div> </article> </li><li> <a name="RATIFY:TEST-UNSIGNED-INTEGER"> </a> <article id="FUNCTION RATIFY:TEST-UNSIGNED-INTEGER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-UNSIGNED-INTEGER">TEST-UNSIGNED-INTEGER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INTEGER &OPTIONAL (START 0) (END (LENGTH INTEGER))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid unsigned integer.
<numeric></pre></div> </article> </li><li> <a name="RATIFY:TEST-URI"> </a> <article id="FUNCTION RATIFY:TEST-URI"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-URI">TEST-URI</a></code></h4> <code class="qualifiers"></code> <code class="arguments">URI &OPTIONAL (START 0) (END (LENGTH URI))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid URI according to http://tools.ietf.org/html/rfc3986
<scheme>:<hierarchical-part>(?<query>)?(#<fragment>)?</pre></div> </article> </li><li> <a name="RATIFY:TEST-URL"> </a> <article id="FUNCTION RATIFY:TEST-URL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-URL">TEST-URL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">URL &OPTIONAL (START 0) (END (LENGTH URL))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid URL.
(<protocol>://)?(<domain>)?<absolute-path>(?<query>)?(#<fragment>)?</pre></div> </article> </li><li> <a name="RATIFY:TEST-USER"> </a> <article id="FUNCTION RATIFY:TEST-USER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-USER">TEST-USER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">USER &OPTIONAL (START 0) (END (LENGTH USER))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid user.
[a-zA-Z0-9%!$&'()*+,;=-._~:]+</pre></div> </article> </li><li> <a name="RATIFY:TEST-YEAR"> </a> <article id="FUNCTION RATIFY:TEST-YEAR"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEST-YEAR">TEST-YEAR</a></code></h4> <code class="qualifiers"></code> <code class="arguments">YEAR &OPTIONAL (START 0) (END (LENGTH YEAR))</code><code>)</code> </header> <div class="docstring"><pre>Tests for a valid year.
[0-9]{4}</pre></div> </article> </li><li> <a name="RATIFY:TEXT-P"> </a> <article id="FUNCTION RATIFY:TEXT-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEXT-P">TEXT-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEXT &OPTIONAL (START 0) (END (LENGTH TEXT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-TEXT, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:TEXTAREA-P"> </a> <article id="FUNCTION RATIFY:TEXTAREA-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATEXTAREA-P">TEXTAREA-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEXT &OPTIONAL (START 0) (END (LENGTH TEXT))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-TEXTAREA, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:TIME-P"> </a> <article id="FUNCTION RATIFY:TIME-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATIME-P">TIME-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TIME &OPTIONAL (START 0) (END (LENGTH TIME))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-TIME, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:TRUE-ALPHA-P"> </a> <article id="FUNCTION RATIFY:TRUE-ALPHA-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATRUE-ALPHA-P">TRUE-ALPHA-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CHAR</code><code>)</code> </header> <div class="docstring"><pre>Returns T if the character is one of a-Z.
ALPHA-CHAR-P as per CLHS is not strictly limited to just a-Z and returns T
for undesired characters like ü on some implementations like SBCL.</pre></div> </article> </li><li> <a name="RATIFY:TRUE-ALPHANUMERIC-P"> </a> <article id="FUNCTION RATIFY:TRUE-ALPHANUMERIC-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3ATRUE-ALPHANUMERIC-P">TRUE-ALPHANUMERIC-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">CHAR</code><code>)</code> </header> <div class="docstring"><pre>Returns T if the character is one of a-Z 0-9.
ALPHANUMERICP as per CLHS is not strictly limited to just a-Z 0-9 and returns T
for undesired characters like ü on some implementations like SBCL.</pre></div> </article> </li><li> <a name="RATIFY:UNSIGNED-INTEGER-P"> </a> <article id="FUNCTION RATIFY:UNSIGNED-INTEGER-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AUNSIGNED-INTEGER-P">UNSIGNED-INTEGER-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">INTEGER &OPTIONAL (START 0) (END (LENGTH INTEGER))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-UNSIGNED-INTEGER, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:URI-P"> </a> <article id="FUNCTION RATIFY:URI-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AURI-P">URI-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">URI &OPTIONAL (START 0) (END (LENGTH URI))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-URI, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:URL-P"> </a> <article id="FUNCTION RATIFY:URL-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AURL-P">URL-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">URL &OPTIONAL (START 0) (END (LENGTH URL))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-URL, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:USER-P"> </a> <article id="FUNCTION RATIFY:USER-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AUSER-P">USER-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">USER &OPTIONAL (START 0) (END (LENGTH USER))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-USER, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:YEAR-P"> </a> <article id="FUNCTION RATIFY:YEAR-P"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20RATIFY%3AYEAR-P">YEAR-P</a></code></h4> <code class="qualifiers"></code> <code class="arguments">YEAR &OPTIONAL (START 0) (END (LENGTH YEAR))</code><code>)</code> </header> <div class="docstring"><pre>Predicate version of TEST-YEAR, returns the passed value on success, NIL on error.</pre></div> </article> </li><li> <a name="RATIFY:DEFINE-PARSER"> </a> <article id="MACRO RATIFY:DEFINE-PARSER"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY%3ADEFINE-PARSER">DEFINE-PARSER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NAME (PARAM START END) &BODY BODY</code><code>)</code> </header> <div class="docstring"><pre>Defines a new parse function with NAME.
PARAM will be bound to the object to parse, which is a string unless otherwise
specified, START to the starting index (inc) and END to the ending index (exc).
This function creates two other functions automatically:
PARSE-name This is the main test function. If the test fails, an error of
type RATIFICATION-ERROR should be returned. If the test succeeds
the argument passed to it is always returned.</pre></div> </article> </li><li> <a name="RATIFY:DEFINE-TEST"> </a> <article id="MACRO RATIFY:DEFINE-TEST"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY%3ADEFINE-TEST">DEFINE-TEST</a></code></h4> <code class="qualifiers"></code> <code class="arguments">NAME (PARAM START END) &BODY BODY</code><code>)</code> </header> <div class="docstring"><pre>Defines a new test function with NAME.
PARAM will be bound to the object to test, which is a string unless otherwise
specified, START to the starting index (inc) and END to the ending index (exc).
This function creates two other functions automatically:
TEST-name This is the main test function. If the test fails, an error of
type RATIFICATION-ERROR should be returned. If the test succeeds
the argument passed to it is always returned.
name-P Equivalent to the TEST- function, except that it simply returns
NIL on failure instead of signalling an error.</pre></div> </article> </li><li> <a name="RATIFY:PERFORM-COMBINED-TESTS"> </a> <article id="MACRO RATIFY:PERFORM-COMBINED-TESTS"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY%3APERFORM-COMBINED-TESTS">PERFORM-COMBINED-TESTS</a></code></h4> <code class="qualifiers"></code> <code class="arguments">&BODY TEST-FORMS</code><code>)</code> </header> <div class="docstring"><pre>Same as PERFORM-TESTS, except with WITH-ERRORS-COMBINED in effect.</pre></div> </article> </li><li> <a name="RATIFY:PERFORM-TESTS"> </a> <article id="MACRO RATIFY:PERFORM-TESTS"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY%3APERFORM-TESTS">PERFORM-TESTS</a></code></h4> <code class="qualifiers"></code> <code class="arguments">&BODY TEST-FORMS</code><code>)</code> </header> <div class="docstring"><pre>Performs a series of tests.
TEST-FORMS ::= TEST-FORM*
TEST-FORM ::= (test-name test-object*)
See <a href="NIL">TEST.</a></pre></div> </article> </li><li> <a name="RATIFY:WITH-ERRORS-COMBINED"> </a> <article id="MACRO RATIFY:WITH-ERRORS-COMBINED"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY%3AWITH-ERRORS-COMBINED">WITH-ERRORS-COMBINED</a></code></h4> <code class="qualifiers"></code> <code class="arguments">&BODY BODY</code><code>)</code> </header> <div class="docstring"><pre>Executes the body with special error handling.
Errors are gathered in a COMBINED-ERROR, which is finally signalled once
the body finishes or an error occurs and no SKIP-ERROR restart can be found.
If no errors occur within the body, the last value of the body is returned
as per PROGN.</pre></div> </article> </li><li> <a name="RATIFY:WITH-PARSED-FORMS"> </a> <article id="MACRO RATIFY:WITH-PARSED-FORMS"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY%3AWITH-PARSED-FORMS">WITH-PARSED-FORMS</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PARSE-FORMS &BODY BODY</code><code>)</code> </header> <div class="docstring"><pre>Performs a series of parsing operations on objects and rebinds their symbols to the results.
PARSE-FORMS ::= PARSE-FORM*
PARSE-FORM ::= (parser-name object*)
See <a href="NIL">PARSE.</a>
The parse operations are performed within WITH-ERRORS-COMBINED.
As such all parse operations are always performed and only one or no
conditions are signalled as part of the parsing.
See <a href="NIL">WITH-ERRORS-COMBINED.</a></pre></div> </article> </li><li> <a name="RATIFY:WITH-SKIPPING"> </a> <article id="MACRO RATIFY:WITH-SKIPPING"> <header class="macro"> <span class="type">macro</span> <code>(</code><h4 class="name"><code><a href="#MACRO%20RATIFY%3AWITH-SKIPPING">WITH-SKIPPING</a></code></h4> <code class="qualifiers"></code> <code class="arguments">&BODY BODY</code><code>)</code> </header> <div class="docstring"><pre>Marks the body as being skippable if an error occurs within.
This establishes the restart SKIP-ERROR.</pre></div> </article> </li></ul> </li></ul> </article> </main> </body> </html>