[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: AW: Need a language whiz: An XML Schema "specifies" howdat

  • From: Christophe Marchand <cmarchand@oxiane.com>
  • To: xml-dev@lists.xml.org
  • Date: Thu, 4 Jan 2018 11:25:28 +0100

Re: AW:  Need a language whiz: An XML Schema "specifies" howdat
We had exactly the same problems, with UBL-invoice also.

We did a XSD validation, then a schematron validation to check the specific UBL-invoice uses of the context. The result of these two validations decided if a XML document was "conform", so acceptable or not. This was a technical check, which decides if my application can or not manipulate the document.

Then, human experts were checking the XML content, to see if data was legal or not, "legal" being a business word grouping all business rules. Rules were so complicated that we did not write any schematron or anything else, but today, I'd put a Drools engine to do business validation behind.

So, I totally agree with you for the two phrases and phases.


Le 04/01/2018 à 07:59, Frank Steimke a écrit :
A remark to Mikes comment: we are dealing with the exchange of structured
messages between ict systems. The structure is coded in XML.. We use XML
Schema (XSD together with Schematron) as a language, which describes the
agreement of the involved parties about the messages to be exchanged. We can
make statements about the allowed structures (syntax) as well as (parts of)
the semantic of messages. A typical scenario is the exchange of electronic
invoices. Syntax and semantic can be defined in terms of UBL Schema and
additional interoperability specifications and business rules like european
EN 16931, which has a lot of schematron rules.

In this scenario, we try to distinguish between the words “validation” and
“assessment”. In fact, from our point of view, we see them as two distinct
phases on the receiver’s side.

Validation answers the question: does the exchanged document fulfil all
requirements of all involved Schemas? Validation should be a binary
decision: the message, which is an XML document, is valid to a Schema, or it
is not valid. We think that this is true for XML Schema (XSD), but we are
not sure if this is also true for Schematron Schema. Is a document with only
on failed-assertion, which @flag or @role is not error but warning, valid or
is it not valid? However, validation should be a clear and deterministic
yes-or-no decision, and this idea is supported in the definition of a
schematron processor in the ISO Standard for Schematron.

Assessment, on the other hand, is the second phase on the receiver’s side.
It means: decide whether you will accept or reject the message. This
decision is of course based on the result of validation. It should be easy
if there are no validation errors (you are obliged to accept), but in case
of validation errors, you are not always obliged to reject. Assessment
basically means: can we accept a message although it is not valid? Again,
this is especially important when the validation error is in fact a warning
in case of a Schematron business rule.

We have just discovered that the distinction between these two phases may be
useful, because it can give a lot more flexibility, especially when you try
to introduce new vocabularies for message exchange and you are not sure
about all the business rules. In fact, you can find a java application which
implements validation and assessment in Github at

We are pretty much interested about comments from the experts, whether the
distinction between these two phrases (and phases) makes sense and seems to
be useful.

Thanks in advance,
Frank Steimke

-----Ursprüngliche Nachricht-----
Von: Michael Kay [mailto:mike@saxonica.com]
Gesendet: Mittwoch, 3. Januar 2018 17:25
An: bryan rasmussen <rasmussen.bryan@gmail.com>
Cc: Costello, Roger L. <costello@mitre.org>; xml-dev@l...
Betreff: Re:  Need a language whiz: An XML Schema "specifies" how
data is to be structured? "describes"? "constrains"?

The essence of the semantics of XSD is that the specification defines a
process, variously called "validation" or "assessment", that takes a schema
and an instance document as input and produces an assessment outcome as its

assess(schema, instance) => outcome

(It's slightly more complicated than that because you can specify other
inputs to the assessment, e.g. strict/lax).

The specification does not use any specific term (such as "describes" or
"constrains") for the relationship between a schema and the set of instance
documents for which assessment has an outcome labeled "valid". You're
perfectly welcome to use a term such as "describes" for this relationship if
you wish, but it's not a term-of-art in XSD itself; so if you use it, you
should say carefully what you mean by it.

Michael Kay


XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
First Name
Last Name
Subscribe in XML format
RSS 2.0
Atom 0.3

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.

Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

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