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