|
MUSX Document Model
|
Class factories are in this namespace. More...
Classes | |
| class | ConstructionContext |
| State shared by all factories during one document construction. More... | |
| class | DetailsFactory |
Creates a details pool from an XML <details> element. More... | |
| class | DocumentFactory |
| Creates and finalizes musxdom documents from XML or client-provided data. More... | |
| class | EntryFactory |
Creates an entry pool from an XML <entries> element. More... | |
| class | FactoryBase |
| Factory base class. More... | |
| class | HeaderFactory |
Creates a header from an XML <header> element. More... | |
| class | OptionsFactory |
Creates an options pool from an XML <options> element. More... | |
| class | OthersFactory |
Creates an others pool from an XML <others> element. More... | |
| class | PartSharingFactory |
| Initializes a partially shared part object from its score object. More... | |
| class | TextsFactory |
Creates a texts pool from an XML <texts> element. More... | |
| class | unknown_xml_error |
| Exception for unknown XML nodes when strict XML handling is enabled. More... | |
Typedefs | |
| using | NodeFilter = std::function< bool(const xml::XmlElementPtr &)> |
| Selects which child elements a pool factory creates objects from. | |
Functions | |
| void | resolveFontDefinitions (const dom::DocumentPtr &document, const ConstructionContext &context) |
Class factories are in this namespace.
| using musx::factory::NodeFilter = typedef std::function<bool(const xml::XmlElementPtr&)> |
Selects which child elements a pool factory creates objects from.
Returning false skips the element entirely, as if it were absent from the source. This lets a client seed a pool from an allowlisted subset of an element without editing or rebuilding the source XML. An empty (default-constructed) filter accepts every child, which is the behavior when no filter is supplied.
Which nodes belong in a document is caller policy. A subset that omits nodes other nodes depend on produces a document that fails integrity validation when the construction session is finished, so the caller is responsible for selecting a self-consistent subset.