Re: Xerces not reporting validation errors ?
Gerben Abbink <[email protected]>
| Newsgroups | gmane.text.xml.xerces-j.user |
|---|---|
| Message-ID | <CALOFD2VeBiHOK6yH5DzG7EcJL7yJFB+fOHEG1KKgui8b=7v1xw@mail.gmail.com> |
Hallo Ed,
What makes you think XMLSpy is correct? Element
CommutingExpensesDaysPerWeekCount is defined by:
http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd
<attributeGroup name="numericItemAttrs">
<annotation>
<documentation>
Group of attributes for non-fractional numeric items
</documentation>
</annotation>
<attributeGroup ref="xbrli:essentialNumericItemAttrs" />
<attribute name="precision" type="xbrli:precisionType" use="optional"
/> <-- OPTIONAL!
<attribute name="decimals" type="xbrli:decimalsType" use="optional"
/> <-- OPTIONAL!
</attributeGroup>
It seems to me the attributes are indeed optional. Maybe XMLSpy is using a
different version of the XBRL schemas?
- Gerben Abbink
XMLBlueprint XML Editor
XMLBlueprint.com
On Sun, Aug 18, 2013 at 7:19 PM, Ed Bras <[email protected]> wrote:
> I am validating an XML doc in Java with Xerces, but don't get any errors.
> However, the XML doc contains errors and when I validate it with for
> example
> XMLSply editor, the errors are correctly reported.
> I can't find what I am doing wrong. I think I do include all XSD schemas
> that are required to validate correctly.
>
> Please some advice? The code snippet:
> -----
> SchemaFactory factory =
> SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
> factory.setErrorHandler(new ErrorHandlerDefault());
> Schema schema = factory.newSchema(createSchemaSources());
> validator = schema.newValidator().validate("file.xml";
> ----
>
> The XSD's that I use to validate:
> ---------
> private Source[] createSchemaSources() throws IOException {
> Source[] sources = new Source[5];
> sources[0] =
> createSource("
> http://www.nltaxonomie.nl/7.0/domein/bd/tuples/bd-bedr-tuples.
> xsd");
> sources[1] =
> createSource("
> http://www.nltaxonomie.nl/7.0/domein/bd/tuples/bd-bedr-tuples.
> xsd");
> sources[2] =
> createSource("
> http://www.nltaxonomie.nl/7.0/domein/bd/tuples/bd-burg-tuples.
> xsd");
> sources[3] =
> createSource("http://www.nltaxonomie.nl/7.0/basis/sbr/types/nl-types.xsd
> ");
> sources[4] =
> createSource("http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd");
> return sources;
> }
> ----------
>
> A small snippet of the xml file being validated (too big to list all):
> ---------
> <bd-burgers:CommutingExpensesDaysPerWeekCount unitRef="uu_513"
> contextRef="cc_711">2</bd-burgers:CommutingExpensesDaysPerWeekCount>
> ----------
> This entry contains an error, namely:
> Numeric item <bd-burgers:CommutingExpensesDaysPerWeekCount> has neither a
> 'precision' nor a 'decimals' attribute.
>
> This is correctly reported by XMLSpy but not by my Java code :(... So what
> am I doing wrong here? I though I was forgetting an XSD file, but
> "CommutingExpensesDaysPerWeekCount" is defined in
> "http://www.nltaxonomie.nl/7.0/basis/bd/items/bd-burgers.xsd", that is
> contained int he above xsd's, that corresponds to the type
> "nonNegativeIntegerItemType" contained in
> "http://www.nltaxonomie.nl/7.0/basis/sbr/types/nl-types.xsd", also
> contained
> in the xsd's above, and that extends "monetaryItemType" and is defined in
> "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", which xsd is also
> contained in the above validation.
>
> Any idea why my Java validation not reports any errors?
>
> BTW: it does report an error if I change the above XML snippet in:
>
> -----
>
>
> <bd-burgers:CommutingExpensesAccordingToTableTotalAmount>841.0</bd-burgers:C
> ommutingExpensesAccordingToTableTotalAmount>
> ----
> That is: removing all attributes. I then get a correct Validation error
> saying that the contextRef is missing.
>
> - Ed
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>