Done..

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: Monday, September 26, 2016 at 8:11 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 26 September 2016 at 08:11, Geert Josten 
<[email protected]<mailto:[email protected]>> wrote:
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.

MarkLogic (from at least version 6.0) does accept:

    validate type xs:boolean { <a>true</a> }

It also accepts EQNames in most places, just not in the ValidateExpr construct. 
It looks like that was an omission when extending MarkLogic to support the 
XQuery 3.0 ValidateExpr and EQName constructs.

Do you have a particular need for it?

I don't have a specific need for it. I found this implementation bug when 
testing my XQuery language support plugin for IntelliJ I am developing.

I can file an RFE on your behalf..

Great. Thanks.

- Reece

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]<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

Reply via email to