relaxng / jing-trang

Schema validation and conversion based on RELAX NG
http://www.thaiopensource.com/relaxng/
Other
229 stars 69 forks source link

OR operator uses exceptions for control flow #146

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
The OR operator uses exceptions for control flow.

If you have a lot of occurrences of the OR pattern with leaf-node XSD types, 
the exceptions get expensive:

  empty | xsd:integer

Even if you have empty first, it still tries to parse the content as 
xsd:integer, and gets an exception thrown back up to the disjunction.

Original issue reported on code.google.com by Leigh.Kl...@gmail.com on 12 Oct 2011 at 6:28