public virtual docScript compose(docScript script)
        {
            script = this.checkScript(script);

            script.x_scopeIn(this);

            header.compose(script);

            navigation.compose(script);

            script.AppendLine();

            foreach (PropertyCollection pc in dataset)
            {
                script.c_line();

                string tablename = pc.getAndRemoveProperString(templateFieldDataTable.data_tablename);
                string desc      = pc.getAndRemoveProperString(templateFieldDataTable.data_tabledesc);
                script.pairs(tablename, desc, pc, "", 2, false);

                script.AppendLine();
            }

            footer.compose(script);

            //script.add(appendType.i_page, docScriptArguments.dsa_name, docScriptArguments.dsa_title,docScriptArguments.dsa_description)
            //    .set(name, pageTitle, pageDescription);

            // script.add(appendType.s_settings).arg(docScriptArguments.dsa_stylerSettings, settings);

            ///            script.add(appendType.s_palette).arg(acePaletteRole.colorDefault);

            // script = this.subCompose(script);

            script.x_scopeOut(this);

            return(script);
        }