XmlDataProcessor
The XML data processor class. This data processor implementation uses XML as input and output data. This class is needed because unlike HTML, XML allows to use any tag with any value. For example, <link>Text</link> is a valid XML but invalid HTML.
Properties
module:engine/dataprocessor/xmldataprocessor~XmlDataProcessor#domConverterDOM converter used to convert DOM elements to view elements.
domParser : DOMParsermodule:engine/dataprocessor/xmldataprocessor~XmlDataProcessor#domParserDOM parser instance used to parse an XML string to an XML document.
module:engine/dataprocessor/xmldataprocessor~XmlDataProcessor#htmlWriterA basic HTML writer instance used to convert DOM elements to an XML string. There is no need to use a dedicated XML writer because the basic HTML writer works well in this case.
namespaces : Array<string>module:engine/dataprocessor/xmldataprocessor~XmlDataProcessor#namespacesA list of namespaces allowed to use in the XML input.
For example, registering namespaces [ 'attribute', 'container' ] allows to use
<attirbute:tagName></attribute:tagName>and<container:tagName></container:tagName>input. It is mainly for debugging.skipComments : booleanmodule:engine/dataprocessor/xmldataprocessor~XmlDataProcessor#skipCommentsIf
false, comment nodes will be converted to$comment. Otherwise comment nodes are ignored.
Methods
constructor( document, options = { [options.namespaces] } )module:engine/dataprocessor/xmldataprocessor~XmlDataProcessor#constructorCreates a new instance of the XML data processor class.
Parameters
document : ViewDocumentThe view document instance.
options : objectConfiguration options.
Properties[ options.namespaces ] : Array<string>A list of namespaces allowed to use in the XML input.
Defaults to
{}
registerRawContentMatcher( pattern ) → voidmodule:engine/dataprocessor/xmldataprocessor~XmlDataProcessor#registerRawContentMatcherRegisters a
MatcherPatternfor view elements whose content should be treated as raw data and not processed during the conversion from XML to view elements.The raw data can be later accessed by a custom property of a view element called
"$rawContent".Parameters
pattern : MatcherPatternPattern matching all view elements whose content should be treated as raw data.
Returns
void
toData( viewFragment ) → stringmodule:engine/dataprocessor/xmldataprocessor~XmlDataProcessor#toDataConverts the provided document fragment to data format – in this case an XML string.
Parameters
viewFragment : ViewDocumentFragment
Returns
stringAn XML string.
toView( data ) → ViewDocumentFragmentmodule:engine/dataprocessor/xmldataprocessor~XmlDataProcessor#toViewConverts the provided XML string to a view tree.
Parameters
data : stringAn XML string.
Returns
ViewDocumentFragmentA converted view element.
useFillerType( type ) → voidmodule:engine/dataprocessor/xmldataprocessor~XmlDataProcessor#useFillerTypeIf the processor is set to use marked fillers, it will insert
fillers wrapped in<span>elements (<span data-cke-filler="true"> </span>) instead of regular characters.This mode allows for a more precise handling of block fillers (so they do not leak into editor content) but bloats the editor data with additional markup.
This mode may be required by some features and will be turned on by them automatically.
Parameters
type : 'default' | 'marked'Whether to use the default or the marked
block fillers.
Returns
void
_toDom( data ) → DocumentFragmentprivatemodule:engine/dataprocessor/xmldataprocessor~XmlDataProcessor#_toDomConverts an XML string to its DOM representation. Returns a document fragment containing nodes parsed from the provided data.
Parameters
data : string
Returns
DocumentFragment