docx
    Preparing search index...

    Class InitializableXmlComponentAbstract

    XML component that can be initialized from another component.

    InitializableXmlComponent extends XmlComponent to support copying the internal state (root array) from another component. This is useful when you need to create a new component that shares or extends the children of an existing component.

    class MyElement extends InitializableXmlComponent {
    constructor(init?: MyElement) {
    super("w:myElement", init);
    // If init is provided, this.root is copied from init
    // Otherwise, this.root is an empty array
    }
    }

    const element1 = new MyElement();
    element1.addChildElement(new TextRun("Hello"));

    const element2 = new MyElement(element1);
    // element2 now has the same children as element1

    Hierarchy (View Summary)

    Index

    Constructors

    Methods

    • Prepares this component and its children for XML serialization.

      This method is called by the Formatter to convert the component tree into an object structure compatible with the xml library (https://www.npmjs.com/package/xml). It recursively processes all children and handles special cases like attribute-only elements and empty elements.

      The method can be overridden by subclasses to customize XML representation or execute side effects during serialization (e.g., creating relationships).

      Parameters

      • context: IContext

        The serialization context containing document state

      Returns IXmlableObject | undefined

      The XML-serializable object, or undefined to exclude from output

      // Override to add custom serialization logic
      prepForXml(context: IContext): IXmlableObject | undefined {
      // Custom logic here
      return super.prepForXml(context);
      }