示例#1
0
        /// <summary>
        /// Processes the model
        /// </summary>
        /// <param name="document">The model</param>
        internal void ProcessModel(XmlPdfDocument document)
        {
            if (mDocumentBuilder != null)
            {
                mDocumentBuilder = DocumentBuilder.New();
            }
            Variables variables = new Variables();

            variables["documentBuilder"] = mDocumentBuilder;

            var actions = Compile(document);

            foreach (var action in actions)
            {
                action.Execute(variables);
            }
        }
示例#2
0
        internal static Queue <CallAction> Compile(XmlPdfDocument document)
        {
            Queue <CallAction> actions = new Queue <CallAction>();

            if (document.styles != null)
            {
                foreach (var style in document.styles)
                {
                    HandleStyle(actions, style);
                }
            }

            if (document.sections != null)
            {
                foreach (var section in document.sections)
                {
                    HandleSection(actions, section);
                }
            }

            return(actions);
        }