Do not create pattern members if they are empty. This should save quite a bit of memory.
Use JSON.stringify as default hash function.
Start framework for interning patterns
To avoid exponential blowup, it is needed to be able to compare patterns. This comparison involves tree traversal unless hashes are used and patterns are deduplicated by looking them up in a cache.
Fix unit test.
Add <choice/> support for element and attribute names to the new implementation.
Add tests for parsing of name choices.
Fix parsing of name choices.
Comment out debug output.
Fix loading for large rng file and add a few more needed functions.
Fix latest unit test.
Also available in: