OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl message

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


Subject: SV: [ubl] More input regarding removing code lists from schemas


Ken,

I'm not sure the difference in time comes (directly) from different code list validation methods. The big different is probably that CII is using a library of reusable types that are stored on the unece.org-servers and with absolute paths for the imports. The latest version of the library-schema is 5.4 mb so the 70 secs are most likely downloading time.

To make an isolated comparison of code list validation, I would use some sort of caching.

/Martin
________________________________________
Från: G. Ken Holman [gkholman@CraneSoftwrights.com]
Skickat: den 25 juni 2009 19:52
Till: Universal Business Language
Ämne: [ubl] More input regarding removing code lists from schemas

Hi folks!

I was running some timing tests with Roberto comparing the UN/CEFACT
cross industry invoice (CII) with the UBL Invoice in regard to the
validation of invoice instances.

Perhaps someone else could run these tests with other engines ... the
numbers below are using the Saxon 9.1.0.1 schema processor and
9.1.0.7 stylesheet processor.

I don't have a CII invoice to work with, so I passed it a dummy
instance since Saxon times the schema checking separately from the
instance checking.

Here are the results of just checking the CII invoice schema and all
of its code lists:

   Finished loading schema document file:/T:/cii/CrossIndustryInvoice_4p0.xsd
   Schema checking successful. Time: 70821 milliseconds

Here is the first pass schema validation of a UBL instance with a UBL
2.0 schema from the "xsdrt" subdirectory:

   Finished loading schema document
file:/U:/cd/artefacts/os-UBL-2.0/xml/../xsdrt/maindoc/UBL-Invoice-2.0.xsd
   Schema checking successful. Time: 1432 milliseconds
   Processing file:/U:/cd/artefacts/os-UBL-2.0/xml/UBL-Invoice-2.0-Example.xml
   Validation time: 90 milliseconds
   Validation successful
   No validation errors.

And this is the second-pass XSLT using defaultCodeList.xsl supplied
with UBL 2.0 on the same UBL instance:

   Tree built in 20 milliseconds
   Tree size: 572 nodes, 1321 characters, 15 attributes
   Loading net.sf.saxon.event.MessageEmitter
   Execution time: 90 milliseconds

Total time for UBL validation is less than two seconds, compared to a
total time for only CII invoice schema checking without CII instance
checking of almost 71 seconds.  I'm running an old 1.8GHz Pentium
with 2Gb of RAM.

First-blush conclusions:  there appear to be performance reasons to
be considered when comparing the one-pass-pure-XSD-with-enumerations
approach with the two-pass-code-lists-in-XSLT-value-validation
approach.  And the UBL 2.1 schema loading will be faster still since
there will be no schema enumerations whatsoever in the new
unqualified data types.

But this is only a single isolated test and more thought needs to be
put into this.  Has anyone else done any comparisons in this regard
for us to consider when weighing costs and benefits of different
approaches?  I think this isolated test exposes the necessity to
explore this further, so I encourage others to run similar tests and
publish the results.

. . . . . . . . . . . . Ken

--
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/o/
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/o/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php


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