MUSX Document Model
Loading...
Searching...
No Matches
musx::factory Namespace Reference

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)
 

Detailed Description

Class factories are in this namespace.

Typedef Documentation

◆ NodeFilter

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.