Note
You don’t need to know in detail what this module does and how it works to develop plugins.
This is the heart of the painless plugin registration feature of PyXWF. Herein defined are the metaclasses responsible for validating and registering plugin classes and the registries themselves.
Takes abc.ABCMeta and mixes it with the NamespaceMetaMixin to create a suitable Crumb plugin metaclass.
Note
See CrumbBase for an example of use.
Mixin for a metaclass which handles registration of classes which register based on namespace/tag name pairs.
It requires that the class has a namespace attribute which has to be a valid XML namespace as a string and a names attribute which must be an iterable of strings which must all be valid XML node tags.
The class will be registered for all names in the given namespace.
A more specialized baseclass for registries dealing with namespace/tagname pairs for XML nodes.
Takes NodeMeta and mixes it with the NamespaceMetaMixin to create a suitable Node plugin metaclass.
Note
See Node for an example of use.