Namespace ZptSharp.Metal
Classes
AddDefinedMacroToGlobalScopeProcessorDecorator
Decorator for the IProcessesExpressionContext service which detects element nodes which have 'define-macro' attributes upon them. If such an attribute is found then the macro is stored in the current context's global scope for later usage.
MacroExpander
Implementation of IExpandsMacro which first extends the macro and then fills its slots.
MacroExpansionContext
A model representing an in-progress macro expansion.
MacroNotFoundException
Thrown when a 'use-macro' attribute indicates that a macro should be used, but the macro to use cannot be found.
MacroProvider
Implementation of IGetsMacro which uses an expression evaluator to get macros from attributes.
MacroUsageContextProcessor
A IProcessesExpressionContext which applies the METAL rendering process.
This begins with detection of the metal:use-macro
attribute.
MetalAttributeSpecProvider
Implementation of IGetsMetalAttributeSpecs which uses string constants and a IGetsWellKnownNamespace.
MetalContextProcessorFactory
Implementation of IGetsMetalContextProcessor which gets the expression-context processor for METAL.
MetalDocumentAdapter
An adapter for an IDocument which allows it to be used as IProvidesMacros and IGetsNamedTalesValue.
MetalDocumentAdapterFactory
Implementation of IGetsMetalDocumentAdapter which uses dependency injection to backfill the other dependencies, as well as the document.
MetalMacro
Describes a METAL macro.
Slot
A model which may represent either a defined macro slot or content which should fill a macro slot.
SlotFiller
Implementation of IFillsSlots which replaces DOM nodes and removes the slot filler from the macro context when it is used.
SlotFinder
Default implementation of IGetsSlots which gets a collection of slot-fillers for an node.
Interfaces
IExpandsMacro
An object which expands a MetalMacro. Expansion is the process applying macro extension (where applicable) and of filling any defined slots.
IFillsSlots
An object which fills slots in METAL macros.
IGetsMacro
An object which gets a METAL macro for an node which has a matching METAL attribute.
IGetsMetalAttributeSpecs
An object which gets AttributeSpec instances for well-known METAL attributes.
IGetsMetalContextProcessor
An object which can get a IProcessesExpressionContext suitable for the METAL macro-expansion process.
IGetsMetalDocumentAdapter
An object which gets an instance of MetalDocumentAdapter for a specified document.
IGetsSlots
An object which gets a collection of Slot instances from a specified INode and its descendents.
IProvidesMacros
An object which can get METAL macros from a document.