XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
(Deleted User) Subject: Command line option for your file Validator
Author: (Deleted User)
Date: 03 Sep 2003 10:30 AM
I have asked before, but do you have a command line version of the schema validator like you do for the xsl engine.

The reason I ask is that we have found your validator the most accurate and would like to do batches of files when we make lots of changes.

Thanks

Postnext
Alberto MassariSubject: Re: Command line option for your file Validator
Author: Alberto Massari
Date: 04 Sep 2003 11:46 AM
At 04.53 03/09/2003, you wrote:
>From: "Martin Roberts"
>
>I have asked before, but do you have a command line version of the schema
>validator like you do for the xsl engine.

No, we don't have such a command line utility (yet).
If what you need is simply a valid/invalid report for an XML document, you
can try creating a dummy XQuery document (containing just a "Document is
valid" string - quotes included), and running

stylusxql Dummy.xquery xml-to-validate.xml stdout

You will see either the "Document is valid" message, or the first
validation error.

Hope this helps,
Alberto

Postnext
(Deleted User) Subject: Re: Command line option for your file Validator
Author: (Deleted User)
Date: 05 Sep 2003 07:10 AM
Does this do schema validation only if full schema location info is in the XML file? I want to validate files against schemas without having to refer to xsi:schemalocation in the file?

Postnext
Alberto MassariSubject: Re: Command line option for your file Validator
Author: Alberto Massari
Date: 05 Sep 2003 10:21 AM
At 07.33 05/09/2003, you wrote:
>From: "Martin Roberts"
>
>Does this do schema validation only if full schema location info is in the
>XML file? I want to validate files against schemas without having to
>refer to xsi:schemalocation in the file?

Validation will be performed only if the source XML document refers to a
schema (either DTD or XSD). If you want to force validation against a
well-known schema, you need to change the dummy XQuery document to be:

import schema "http://www.mycompany.com/myNamespace" at "example.xsd"

if(validate { /element() }) then
"Validation succeeded"
else
"Validation failed"


Hope this helps,
Alberto

Postnext
(Deleted User) Subject: Re: Command line option for your file Validator
Author: (Deleted User)
Date: 11 Sep 2003 05:31 AM
Thanks for this, would it work if I imported several schemas associated with several namespaces?

Postnext
(Deleted User) Subject: Re: Command line option for your file Validator
Author: (Deleted User)
Date: 11 Sep 2003 06:07 AM
I have attached a file showing multiple schemas being imported. I got the warning:

No caching of grammar set, a grammar with same key found in cache pool

What does this mean?


Applicationtesting.xquery

Postnext
Alberto MassariSubject: Re: Command line option for your file Validator
Author: Alberto Massari
Date: 12 Sep 2003 04:00 PM
Hi Martin,
the file you attached is importing just one schema; also, can you send me
the XML document being validated and the schema named in the XQuery document?

Thanks,
Alberto

Postnext
(Deleted User) Subject: Re: Command line option for your file Validator
Author: (Deleted User)
Date: 15 Sep 2003 11:41 AM
Sorry I uploaded the wrong file:


Applicationtesting1.xquery
Xquery File

Postnext
(Deleted User) Subject: Re: Command line option for your file Validator
Author: (Deleted User)
Date: 15 Sep 2003 11:45 AM
And the Example that should validate


DocumentPurchaseOrderProvide.zip
Example XMl file that should validate

Postnext
Alberto MassariSubject: Re: Command line option for your file Validator
Author: Alberto Massari
Date: 16 Sep 2003 01:00 PM
Hi Martin,
can you send me (privately, if you prefer) also the schemas? I tried
looking at the telcob2b website, but they don't seem to be publicly available.

Thanks,
Alberto

Postnext
(Deleted User) Subject: Re: Command line option for your file Validator
Author: (Deleted User)
Date: 18 Sep 2003 05:33 AM
Schemas sent privately

Postnext
Alberto MassariSubject: Re: Command line option for your file Validator
Author: Alberto Massari
Date: 18 Sep 2003 11:21 AM
Hi Martin,
the error is caused by the fact that one of the schemas is already
including the first one (Order.ServiceRequest.xsd imports Order.xsd), so
Xerces throws an exception when we try to add the second copy to the cache.
A workaround could be not to import the Order.xsd schema, relying on the
fact that it's referenced by Order.ServiceRequest.xsd.
We will work on finding a way to convince Xerces that this is not really an
error.

Hope this helps,
Alberto

Postnext
(Deleted User) Subject: Re: Command line option for your file Validator
Author: (Deleted User)
Date: 23 Oct 2003 09:43 AM
Alberto,
Sadly removing the references to imported schemas does not resolve it as two of the lower level schemas import the same schema. This does not seem to be a problem with your client side validation, why should xerces throw it out when doing it within the XQuery?

I removed all bar the Notification and the Wholesale Calls but these both import the same schema. With out these imports you can not validate the schemas individually, so it seems strange that you can not validate the xml instances against these. Is this a known bug in xerces?

Postnext
Alberto MassariSubject: Re: Command line option for your file Validator
Author: Alberto Massari
Date: 23 Oct 2003 10:09 AM
Hi Martin,

At 10.07 23/10/2003 -0400, you wrote:
>From: "Martin Roberts"
>
>Alberto,
>Sadly removing the references to imported schemas does not resolve it as
>two of the lower level schemas import the same schema. This does not seem
>to be a problem with your client side validation, why should xerces throw
>it out when doing it within the XQuery?
>
>I removed all bar the Notification and the Wholesale Calls but these both
>import the same schema. With out these imports you can not validate the
>schemas individually, so it seems strange that you can not validate the
>xml instances against these. Is this a known bug in xerces?

Yes, it is a known bug in Xerces; when the XQuery processor is adding all
the schemas to the single schema cache, an exception is thrown if a schema
happens to be already in the cache. This situation is not considered an
error when validating an XML file against a single schema document.

Alberto

Postnext
(Deleted User) Subject: Re: Command line option for your file Validator
Author: (Deleted User)
Date: 23 Oct 2003 12:14 PM
Alberto,
I can use your schema validator to validate xml instance documents against the schemas I sent you without the failure. This works if I do an explicit schemaLocation call. I suppose this does not attempt to load the cache?

Is there a proposal to fix this bug in xerces either by yourselves or others?

Thanks

Postnext
Alberto MassariSubject: Re: Command line option for your file Validator
Author: Alberto Massari
Date: 23 Oct 2003 12:59 PM
At 12.38 23/10/2003 -0400, you wrote:
>From: "Martin Roberts"
>
>Alberto,
> I can use your schema validator to validate xml instance documents
> against the schemas I sent you without the failure. This works if I do
> an explicit schemaLocation call. I suppose this does not attempt to load
> the cache?

Yes; the schema cache is involved in the picture when you use the "import
schema" keyword. You want to use this keyword when you know that the XML
file you are going to validate doesn't have a reference to a schema, and
you want to assign one to the namespace it uses.


>Is there a proposal to fix this bug in xerces either by yourselves or others?

The fix has already been identified; but it's a change in the behavior of
the parser, and it's not still clear if this change would break something
else inside Xerces.

Alberto

Postnext
(Deleted User) Subject: Re: Command line option for your file Validator
Author: (Deleted User)
Date: 16 Jul 2004 11:12 AM
I have used the technique in the previous posting (finally) and I find I get the following error:

Warning: No caching of grammar set, a grammar with same key found in the cache pool.

I have attached the xquery file.


Documentvalidation.xquery
xquery to schema validate file

UnknownAddOrder-Cease.xml

Postnext
(Deleted User) Subject: Re: Command line option for your file Validator
Author: (Deleted User)
Date: 16 Jul 2004 11:45 AM
I have sorted out the previous error as you had explained in the previous emails. unfortunately the validator is not picking up incorrect XML. Can you please confirm that the validate command actually checks against schemas and not just for well formedness?

Postnext
Alberto MassariSubject: Re: Command line option for your file Validator
Author: Alberto Massari
Date: 16 Jul 2004 12:15 PM
At 11.27 16/07/2004 -0400, stylus-studio-tech Listmanager wrote:
>From: "Martin Roberts"
>
>[...]
>I have attached the xquery file.

Hi Martin,
can you send me the XQuery file? It looks like the BBS software didn't
store it properly, as clicking on the link open a "file not found" page.

Thanks,
Alberto


Postnext
(Deleted User) Subject: Command line option for your file Validator
Author: (Deleted User)
Date: 16 Jul 2004 12:05 PM
I seem to have got it working by using the validate strict command.

However, it does not fail the if statement it bombs out altogether.
Is there a way to force it to fail gracefully?

Posttop
Alberto MassariSubject: Command line option for your file Validator
Author: Alberto Massari
Date: 16 Jul 2004 12:52 PM
Hi Martin,

>I seem to have got it working by using the validate strict
>command.
>
>However, it does not fail the if statement it bombs out
>altogether.
>Is there a way to force it to fail gracefully?

Unfortunately the "validate" command in XQuery is designed to report
an error when validation fails. The good news is that Stylus now ships
with a command line tool that exposes the internal validator.
Its syntax is:

usage: StylusValidator [-q] [-noval] [-schema file]* filename
-q: quiet mode (errors are not printed)
-noval: check only for the document to be well-formed
-schema: force validation of the document against this XML Schema

So you can run
StylusValidator -schema http://.../schema.xsd MySample.xml
to force the validation of the sample XML file against the given schema,
and have a list of the errors.

In a future release the capability of validating against non-bound
schemas will be available also from inside the IDE.

Hope this helps,
Alberto

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.