Update of /cvsroot/monetdb/pathfinder/compiler/semantics
In directory sc8-pr-cvs16:/tmp/cvs-serv31589/semantics
Modified Files:
xquery_fo.c
Log Message:
-- Fix fn:string: Call specialized variants as long as the most general one
doesn't work.
Index: xquery_fo.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/semantics/xquery_fo.c,v
retrieving revision 1.122
retrieving revision 1.123
diff -u -d -r1.122 -r1.123
--- xquery_fo.c 4 May 2007 09:44:53 -0000 1.122
+++ xquery_fo.c 8 May 2007 12:44:40 -0000 1.123
@@ -102,14 +102,86 @@
{ .ns = PFns_fn, .loc = "string",
.arity = 0, .sig_count = 1, .sigs = { {
.par_ty = (PFty_t[]) { PFty_none () },
+ .ret_ty = PFty_xs_string () } } }
+ /* fn:string ((atomic|attribute)?) as string */
+ /* (F&O 2.3) */
+ , { .ns = PFns_fn, .loc = "string",
+ .arity = 1,
+ .sig_count = 1, .sigs = { {
+ .par_ty = (PFty_t[]) { PFty_opt (
+ PFty_choice (
+ PFty_atomic (), PFty_xs_anyAttribute ())) },
.ret_ty = PFty_xs_string () } },
- .alg = PFbui_fn_string}
+ .alg = PFbui_fn_string_attr }
+ , /* fn:string ((atomic|text)?) as string */
+ /* (F&O 2.3) */
+ { .ns = PFns_fn, .loc = "string",
+ .arity = 1,
+ .sig_count = 1, .sigs = { {
+ .par_ty = (PFty_t[]) { PFty_opt (
+ PFty_choice (
+ PFty_atomic (), PFty_text ())) },
+ .ret_ty = PFty_xs_string () } },
+ .alg = PFbui_fn_string_text }
+ , /* fn:string ((atomic|processing-instruction)?) as string */
+ /* (F&O 2.3) */
+ { .ns = PFns_fn, .loc = "string",
+ .arity = 1,
+ .sig_count = 1, .sigs = { {
+ .par_ty = (PFty_t[]) { PFty_opt (
+ PFty_choice (
+ PFty_atomic (), PFty_pi (NULL))) },
+ .ret_ty = PFty_xs_string () } },
+ .alg = PFbui_fn_string_pi }
+ , /* fn:string ((atomic|comment)?) as string */
+ /* (F&O 2.3) */
+ { .ns = PFns_fn, .loc = "string",
+ .arity = 1,
+ .sig_count = 1, .sigs = { {
+ .par_ty = (PFty_t[]) { PFty_opt (
+ PFty_choice (
+ PFty_atomic (), PFty_text ())) },
+ .ret_ty = PFty_xs_string () } },
+ .alg = PFbui_fn_string_comm }
+ , /* fn:string ((element)?) as string */
+ /* (F&O 2.3) */
+ { .ns = PFns_fn, .loc = "string",
+ .arity = 1,
+ .sig_count = 1, .sigs = { {
+ .par_ty = (PFty_t[]) { PFty_opt (
+ PFty_choice (
+ PFty_atomic (),
+ PFty_choice (
+ PFty_xs_anyElement (),
+ PFty_choice (
+ PFty_text (),
+ PFty_doc (PFty_xs_anyType ()))))) },
+ .ret_ty = PFty_xs_string () } },
+ .alg = PFbui_fn_string_elem }
+ , /* fn:string ((atomic|element|doc|text|attribute)?) as string */
+ /* (F&O 2.3) */
+ { .ns = PFns_fn, .loc = "string",
+ .arity = 1,
+ .sig_count = 1, .sigs = { {
+ .par_ty = (PFty_t[]) { PFty_opt (
+ PFty_choice (
+ PFty_atomic (),
+ PFty_choice (
+ PFty_xs_anyElement (),
+ PFty_choice (
+ PFty_doc (PFty_xs_anyType ()),
+ PFty_choice (
+ PFty_text (),
+ PFty_xs_anyAttribute ()))))) },
+ .ret_ty = PFty_xs_string () } },
+ .alg = PFbui_fn_string_elem_attr }
, /* fn:string (item?) as string */
+ /* (F&O 2.3) */
{ .ns = PFns_fn, .loc = "string",
.arity = 1, .sig_count = 1, .sigs = { {
.par_ty = (PFty_t[]) { PFty_opt (PFty_item ()) },
.ret_ty = PFty_xs_string () } },
- .alg = PFbui_fn_string}
+ .alg = PFbui_fn_string }
/* 2.4. fn:data */
/* fn:data ((atomic|attribute)*) as atomic* */
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins