Packages

  • package root
    Definition Classes
    root
  • package eu
    Definition Classes
    root
  • package cdevreeze
    Definition Classes
    eu
  • package yaidom2

    Yaidom2 is yet another Scala XML query API.

    Yaidom2 is yet another Scala XML query API.

    Definition Classes
    cdevreeze
  • package core

    The core concepts of yaidom2.

    The core concepts of yaidom2. For example, qualified names, expanded names, namespace declarations and in-scope namespaces. These concepts form a "namespace theory", in which they are related to each other in a mathematically precise way.

    The rest of yaidom2 depends on this package, and reversely, this package depends on nothing else in yaidom2.

    Definition Classes
    yaidom2
  • package creationapi

    The element creation API of yaidom2.

    The element creation API of yaidom2.

    Definition Classes
    yaidom2
  • package dialect

    Support for "yaidom dialects", for example a "dialect" for XML Schema.

    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.

    Definition Classes
    yaidom2
  • AbstractDialectBackingElem
  • AbstractDialectClarkElem
  • AbstractDialectScopedElem
  • package jaxp
    Definition Classes
    yaidom2
  • package node
    Definition Classes
    yaidom2
  • package queryapi

    The query API of yaidom2.

    The query API of yaidom2.

    Most yaidom2 users do not directly use these query API traits, but use concrete element implementations instead. Still, concrete element implementations mix in these query API traits, and new element implementations can be invented that do the same.

    The API is designed in such a way that user code can mostly work with "raw" element types without having to specify the concrete type parameters. This makes it easy to wrap element abstractions in "XML dialect" abstractions without needing any generics in the latter, which greatly improves ease of use.

    The above-mentioned design has a simple abstract API in that the member type constraints are trivial F-bounded polymorphism, without using self types etc. The implementations of that abstract API are mostly only in the concrete element implementations (and not in generic implementation traits), even if that means that there is some code duplication.

    Definition Classes
    yaidom2
  • package updateapi
    Definition Classes
    yaidom2

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.

Linear Supertypes
AnyRef, Any

Type Members

  1. 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.

  2. 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.

  3. 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.

Inherited from AnyRef

Inherited from Any

Ungrouped