[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: 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
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]