package dialect
Support for "yaidom dialects", for example a "dialect" for XML Schema. Such dialects offer a yaidom query API. They get an underlying element, which also offers a yaidom query API. Typically this yaidom query API (in both cases) is the backing element query API.
The types in this package make creation of "dialects" a lot easier. They take an underlying element of the "raw" type, instead of requiring any type parameters. This makes it possible to decouple dialects entirely from the underlying element implementations!
Using a dialect abstract element type as super-type, it is easy to implement type-safe query methods for the specific dialect.
Type Members
- trait AbstractDialectBackingElem extends Elem
General partly implementation of "dialect Backing elements".
General partly implementation of "dialect Backing elements". This makes implementing each dialect (as Backing elements) a breeze.
In order to avoid type gymnastics, and to offer a simple API to extend in yaidom dialects, this class does not extend type AbstractDialectScopedElem. To the user of this API this does not matter.
In order for this type to be useful in dialect element implementations, wrapping an underlying element must be a very fast and non-recursive operation.
- trait AbstractDialectClarkElem extends Elem
General partly implementation of "dialect Clark elements".
General partly implementation of "dialect Clark elements". This makes implementing each dialect (as Clark elements) a breeze.
In order for this type to be useful in dialect element implementations, wrapping an underlying element must be a very fast and non-recursive operation.
- trait AbstractDialectScopedElem extends Elem
General partly implementation of "dialect Scoped elements".
General partly implementation of "dialect Scoped elements". This makes implementing each dialect (as Scoped elements) a breeze.
In order to avoid type gymnastics, and to offer a simple API to extend in yaidom dialects, this class does not extend type AbstractDialectClarkElem. To the user of this API this does not matter.
In order for this type to be useful in dialect element implementations, wrapping an underlying element must be a very fast and non-recursive operation.