/// <summary>
        /// Builds an XML Document objcet
        /// </summary>
        /// <param name="Document">Document being built.</param>
        /// <param name="Parent">Parent element.</param>
        /// <param name="Variables">Current set of variables.</param>
        internal override void Build(XmlDocument Document, XmlElement Parent, Variables Variables)
        {
            foreach (XmlScriptProcessingInstruction PI in this.processingInstructions)
            {
                PI.Build(Document, Parent, Variables);
            }

            this.root?.Build(Document, Parent, Variables);
        }