Using Other Schema Languages
All the schema languages supported by Sun Multi-Schema Validator are supported. Specifically,
- XML DTD
- W3C XML Schema
- RELAX Core
- RELAX Namespace
it is very difficult to translate a schema from one language to another while strictly preserving all the constraints. As such, although Bali can compile schemas written in other languages, it cannot correctly enforce all the constraints mandated by each schema language.
Here are the list of limitations. W3C XML Schema might have other problems that I'm not aware of.
- XML DTD (stable)
- DTD validation should work below the namespace processing, but the generated validate works above the namespace processing. If you are working with namespace-aware documents, this is probably not a problem, but if not, don't use this tool.
- NOTATION, ENTITY, and ENTITIES types are not validated.
- W3C XML Schema (use it with caution)
- xsi:* are not supported and causes validation error. Some of them are easy to support, so let us know how you think about this limitation.
- fixed value constraints will not correctly validated. The generated validatelet will accept values that are not equal to the fixed value.
- RELAX Core / RELAX Namespace (stable)
- RELAX Core's semantics of allowing non-declared attributes are not supported. Attributes that are not declared will cause a validation error.
- TREX (stable)
- <concur> pattern is not supported and causes the compilation to fail.