Factory of EditableClarkElem objects.
Strategy trait for finding TextENameExtractors in a document.
Strategy trait for finding TextENameExtractors in a document. Hence implementations of this trait can retrieve all ENames and therefore all namespaces used in a document.
Trait defining the contract for "editable" elements that can be functionally updated in the resolved name, resolved attributes, or children.
Trait defining the contract for "editable" elements that can be functionally updated in the resolved name, resolved attributes, or children.
The implementation is very direct for resolved elements. For simple elements, the implementation is less straightforward, because the scopes have to be edited as well. Strategies for using "fall-back" scopes can be passed to the element editor (for simple elements).
For simple editable elements, we must be able to prove the semantics of the offered operations in terms of the same operations on the corresponding resolved elements. Moreover, we must be able to reason about the scopes before and after performing an operation.
EditableClarkElem taking a resolved element.
EditableClarkElem taking a simple element, as well as a "fall-back" function mapping namespace URIs to prefixes (the empty string as prefix for the default namespace).
EditableClarkElem taking a simple element, as well as a "fall-back" function mapping namespace URIs to prefixes (the empty string as prefix for the default namespace).
Preferably, this "fall-back" function is backed by an invertible Scope, without default namespace. After all, introducing a default namespace could affect resolution of QNames in text content or attribute values. For other namespace URIs that are not even in that fall-back scope, a prefix could be generated.
The methods that functionally set or add children make sure that no prefixed namespace undeclarations are introduced.
Factory of EditableSimpleElem objects.
Strategy trait for extracting ENames from attribute values or element text content.
Utility for creating ENameProviders by parsing XML schema files.
Utility for manipulating and finding namespaces.
Utility for creating QNameProviders by parsing XML schema files.
Factory of EditableResolvedElem objects.
TextENameExtractor that treats the text as a QName, to be resolved using the passed Scope.
Several utilities, such as custom ENameProviders and QNameProviders. They are utilities "on top of yaidom", so the rest of yaidom has no dependencies on this package, but this package does depend on the rest of yaidom.