Re: Still trying to validate an XML Schema

Florian Schmitt <[email protected]> Tue, 11 Jun 2024 17:48:46 +0200
Newsgroups gmane.text.xml.exist
Message-ID <[email protected]>
Hi Ted,

i'm not sure if it works with validation:jaxp-report, too, but i got a 
simple example running with validation:jaxv-report. Schema and XML 
instance are copied from the W3 Schools example:

https://www.w3schools.com/xml/schema_intro.asp

------------------------------
schema.xsd:
------------------------------
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="note">
   <xs:complexType>
     <xs:sequence>
       <xs:element name="to" type="xs:string"/>
       <xs:element name="from" type="xs:string"/>
       <xs:element name="heading" type="xs:string"/>
       <xs:element name="body" type="xs:string"/>
     </xs:sequence>
   </xs:complexType>
</xs:element>

</xs:schema>

------------------------------
note.xml:
------------------------------
<note>
   <to>Tove</to>
   <from>Jani</from>
   <heading>Reminder</heading>
   <body>Don't forget me this weekend!</body>
</note>

------------------------------
schema-test.xq:
------------------------------
xquery version "3.0";
import module namespace 
validation="http://exist-db.org/xquery/validation";
let $schema := xs:anyURI('/db/xmldata/schema.xsd')
let $instance := xs:anyURI('/db/xmldata/note.xml')
return
(validation:clear-grammar-cache(), validation:jaxv-report($instance, 
$schema))

------------------------------
Output (with eXist-db 5.2.0 - sorry, currently no 6.xx available:
------------------------------
0
<report>
     <status>valid</status>
     <duration unit="msec">13</duration>
</report>

HTH
Florian


Am 09.06.24 um 21:41 schrieb Ted Hickox:
> I have a small update.  I made a couple of changes to my code:
> 
> xquery version "3.0";
> import module namespace 
> validation="http://exist-db.org/xquery/validation 
> <http://exist-db.org/xquery/validation>";
> let $schema := 
> xs:anyURI('/db/apps/HTML_Student/SVG_Ellipse_Webpage_XML_Schema.xsd')
> let $instance := 
> xs:anyURI('/db/apps/HTML_Student/SVG_Ellipse_Webpage_XML.xml')
> return
> (validation:clear-grammar-cache())
> (validation:jaxp-report($instance, $schema))
> 
> This fixed a bunch of problems.  But when I ran the code, I got this 
> information:
> 
> image.png
> 
> I still don't know what error I made.
> eption>
> <path>/db/apps/HTML_Student/SVG_Ellipse_Webpage_XQuery_Validator.xq</path>
> <message>err:XPTY0004 Type error: expected function, got xs:integer 
> [at line 6, column 2, source: 
> /db/apps/HTML_Student/SVG_Ellipse_Webpage_XQuery_Validator.xq]</message>
> </exception>
> 
> exception>exception>
> <path>/db/apps/HTML_Student/SVG_Ellipse_Webpage_XQuery_Validator.xq</path>
> <message>err:XPTY0004 Type error: expected function, got xs:integer 
> [at line 6, column 2, source: 
> /db/apps/HTML_Student/SVG_Ellipse_Webpage_XQuery_Validator.xq]</message>
> </exception>
> <path>/db/apps/HTML_Student/SVG_Ellipse_Webpage_XQuery_Validator.xq</path>
> <message>err:XPTY0004 Type error: expected function, got xs:integer 
> [at line 6, column 2, source: 
> /db/apps/HTML_Student/SVG_Ellipse_Webpage_XQuery_Validator.xq]</message>
> </exception>
> 
> On Sun, Jun 9, 2024 at 1:58 PM Ted Hickox <[email protected] 
> <mailto:[email protected]>> wrote:
> 
>     A few months ago I was informed that the function
>     validation:validate-report had been depreciated and is no longer
>     available in the eXist database.  So someone suggested I use the
>     validate:jaxp-report function.  Shortly after I received this
>     suggestion, I tried to use it.  But it failed.  Unfortunately my
>     life became very busy and I had to abandon my project.  Now that
>     my life is a little calmer, I tried to play with this computer
>     code again.  And still something is not functioning correctly. 
>     I'm still not sure what I'm doing wrong.
> 
>     xquery version "3.0";
>     import module namespace
>     validation="http://exist-db.org/xquery/validation
>     <http://exist-db.org/xquery/validation>";
>     let $schema :=
>     xs:anyURI('/db/apps/HTML_Student/SVG_Ellipse_Webpage_XML_Schema.xsd')
>     let $instance :=
>     xs:anyURI('/db/apps/HTML_Student/SVG_Ellipse_Webpage_XML.xml')
>     return
>     (validation:clear-grammar-cache();
>     validation:jaxp-report($instance as item(), $enable-grammar-cache
>     as xs:boolean, $catalogs as item()*) as node())
> 
> 
> 
> _______________________________________________
> Exist-open mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/exist-open



_______________________________________________
Exist-open mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/exist-open