Hello,
I discovered a strage behaviour in the c++ and java implementation of
xerces.
I want to validate a xml file against a schema, the example file and the
schema files are part of the stabdard "(FBX) FIBEX - Field Bus Exchange
Format" [1]. MSXML does validate the file successful, and I does not see
a error in the file, too.
The root element of the file FlexRay_Cluster_Example.xml has the attribute
xsi:schemaLocation="http://www.asam.net/xml/fbx/all fibex4multiplatform.xsd"
.
The validation with xerces-c via
SAX2Count.exe -v=always -p -f
results to
Error at file F:\xxx\fibex/FlexRay_Cluster_Example.xml, line 120, char 52
Message: Unknown element 'fx:PDU-TRIGGERING'
Error at file F:\xxx\fibex/FlexRay_Cluster_Example.xml, line 120, char 52
Message: Attribute 'ID' is not declared for element 'fx:PDU-TRIGGERING'
Error at file F:\xxx\fibex/FlexRay_Cluster_Example.xml, line 124, char 52
Message: Unknown element 'fx:PDU-TRIGGERING'
Error at file F:\xxx\fibex/FlexRay_Cluster_Example.xml, line 124, char 52
Message: Attribute 'ID' is not declared for element 'fx:PDU-TRIGGERING'
Error at file F:\xxx\fibex/FlexRay_Cluster_Example.xml, line 154, char 52
Message: Unknown element 'fx:PDU-TRIGGERING'
...
The validation with xerces-j via
sax.Counter -n -np -v -s -f -hs -va
results to
[Error] FlexRay_Cluster_Example.xml:33:55: cvc-elt.1: Cannot find the
declaration of element 'fx:FIBEX'.
[Error] FlexRay_Cluster_Example.xml:40:76: cvc-elt.4.2: Cannot resolve
'flexray:CLUSTER-TYPE' to a type definition for element 'fx:CLUSTER'.
...
Because fibex4multiplatform.xsd imorts fibex4flexray.xsd and fibex.xsd,
the schemaLocation of the root element of the xml file is changed to
xsi:schemaLocation="http://www.asam.net/xml/fbx/flexray
fibex4flexray.xsd http://www.asam.net/xml/fbx fibex.xsd"
sax.Counter of xerces-j validates the xml now successful:
FlexRay_Cluster_Example.xml: 1060 ms (961 elems, 369 attrs, 0 spaces,
19497 chars)
and xerces-c is producing the same errors, and my application will be
written in c++.
Any ideas describing the mysterious behaviour of xerces?
regards
dominik holler
[1]
http://www.asam.net/03_standards_06.php