Ah right, didn’t understand it that way..
I dug a little deeper in documentation, and noticed that "validate as” is not
conform XQuery 3. It would have been “validate type Q{a}b { … }”. Searching for
“validate as” in the MarkLogic documentation turned up this section:
http://docs.marklogic.com/guide/xquery/enhanced#id_90242
The "validate as" syntax is a MarkLogic specific extension to XQuery 1.0. It
looks like MarkLogic simply does not support the “validate type” syntax yet. Do
you have a particular need for it? I can file an RFE on your behalf..
Cheers
From:
<[email protected]<mailto:[email protected]>>
on behalf of Reece Dunn <[email protected]<mailto:[email protected]>>
Reply-To: MarkLogic Developer Discussion
<[email protected]<mailto:[email protected]>>
Date: Sunday, September 25, 2016 at 10:17 PM
To: MarkLogic Developer Discussion
<[email protected]<mailto:[email protected]>>
Subject: Re: [MarkLogic Dev General] The validate as/type construct does not
support URIQualifiedName
On 25 September 2016 at 20:56, Geert Josten
<[email protected]<mailto:[email protected]>> wrote:
Hi Reece,
Have you tried with a more regular qname? The docs give ‘validate as
xs:boolean’ as example, not URIQualifiedName:
http://docs.marklogic.com/guide/xquery/langoverview#id_55039
Yes, both 'validate as' and 'validate type' work with QNames like 'xs:boolean'.
Also, MarkLogic supports URIQualifiedNames elsewhere.
Keep in mind that MarkLogic does not cover the full XQuery 3 recommendation..
I'm aware of this. I was reporting it as an implementation bug here, as I could
not find where else to report MarkLogic implementation bugs to.
Thanks,
Reece
Cheers,
Geert
From:
<[email protected]<mailto:[email protected]>>
on behalf of Reece Dunn <[email protected]<mailto:[email protected]>>
Reply-To: MarkLogic Developer Discussion
<[email protected]<mailto:[email protected]>>
Date: Sunday, September 25, 2016 at 1:24 PM
To: "[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
Subject: [MarkLogic Dev General] The validate as/type construct does not
support URIQualifiedName
Hi all,
I have found an issue in the MarkLogic support for XQuery 3.0 'validate type'
constructs on MarkLogic 6.0 - 8.0
(https://www.w3.org/TR/2014/REC-xquery-30-20140408/#prod-xquery30-ValidateExpr).
Given:
xquery version "1.0-ml";
validate as Q{a}b { <test/> }
MarkLogic reports a parser error ("[1.0-ml] XDMP-UNEXPECTED: (err:XPST0003)
Unexpected token syntax error, unexpected URIQualifiedName_"). It is valid to
have a URIQualifiedName here according to the XQuery 3.0 grammar:
[101]
ValidateExpr<https://www.w3.org/TR/2014/REC-xquery-30-20140408/#doc-xquery30-ValidateExpr>
::= "validate"
(ValidationMode<https://www.w3.org/TR/2014/REC-xquery-30-20140408/#prod-xquery30-ValidationMode>
| ("type"
TypeName<https://www.w3.org/TR/2014/REC-xquery-30-20140408/#prod-xquery30-TypeName>))?
"{"
Expr<https://www.w3.org/TR/2014/REC-xquery-30-20140408/#prod-xquery30-Expr> "}"
[190]
TypeName<https://www.w3.org/TR/2014/REC-xquery-30-20140408/#doc-xquery30-TypeName>
::=
EQName<https://www.w3.org/TR/2014/REC-xquery-30-20140408/#prod-xquery30-EQName>
[196]
EQName<https://www.w3.org/TR/2014/REC-xquery-30-20140408/#doc-xquery30-EQName>
::=
QName<https://www.w3.org/TR/2014/REC-xquery-30-20140408/#prod-xquery30-QName> |
URIQualifiedName<https://www.w3.org/TR/2014/REC-xquery-30-20140408/#prod-xquery30-URIQualifiedName>
This also affects the MarkLogic specific 'validate as' syntax.
Kind regards,
Reece
_______________________________________________
General mailing list
[email protected]<mailto:[email protected]>
Manage your subscription at:
http://developer.marklogic.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
Manage your subscription at:
http://developer.marklogic.com/mailman/listinfo/general