The UPA constraint is mandatory as well, in the XML Schema language.
Validating against xsd
The other compliant products will exhibit similar behavior.
If we look at the sibling declarations of xs:element (with name="a") and xs:any, then that is an example of UPA violation in XSD 1.0 language (it's not a UPA violation in XSD 1.1, as we'll discuss later).
By using XMLFox Advance you can validate XML document for both cases, when your XML document contains an in-line XSD schema and for an outside XSD file as well. First one displays an XML with in-line XSD and the second shows two separate XML and XSD files.
To run the validation, go to Script Page where your XML is open and click Validate button.
In this article, I'll attempt to describe any differences as well about UPA constraint in XSD 1.0 and XSD 1.1 languages.
These differences are not too many, but still it's useful to know them in case you're planning to use XSD 1.1 as your preferred XML Schema language.
The error messages will appear in the bottom part of the XMLFox Advance interface.
Error will be located in XML script and its location will be highlighted.
For this modified XSD document, Xerces-J's XSD processor (both 1.0 and 1.1 processors) emits following error message, [Error] x.xsd:: cos-nonambig: WC[##any] and WC[##any] (or elements from their substitution group) violate "Unique Particle Attribution".
Most of UPA violations which were present in XSD 1.0 are also present in XSD 1.1.
I believe it's important to know and to understand about the XML Schema UPA constraint, by the XML Schema document authors, because in the presence of UPA violations the XSD document will fail to compile when fed to the XSD processor.