public ConceptualPostTransComponent(BuildAssembler assembler,
                                            XPathNavigator configuration)
            : base(assembler, configuration)
        {
            try
            {
                MathController mathFormatters = MathController.GetInstance("conceptual");
                if (mathFormatters != null)
                {
                    _mathApply          = true;
                    _mathNumber         = mathFormatters.ShowNumber;
                    _mathNumFormat      = mathFormatters.NumberFormat;
                    _mathNumIncludePage = mathFormatters.NumberIncludesPage;

                    _mathSelector = XPathExpression.Compile(
                        "//artLink[starts-with(@target, 'Equation|')]");

                    if (String.IsNullOrEmpty(_mathNumFormat))
                    {
                        if (_mathNumIncludePage)
                        {
                            _mathNumFormat = "({0}.{1})";
                        }
                        else
                        {
                            _mathNumFormat = "({0})";
                        }
                    }
                }

                CodeController codeController = CodeController.GetInstance("conceptual");
                if (codeController != null)
                {
                    _codeApply = true;

                    // This works for Vs2005...
                    _codeSelector = XPathExpression.Compile(
                        "//pre/span[@name='SandAssist' and @class='tgtSentence']");

                    _spanSelector = XPathExpression.Compile(
                        "span[@name='SandAssist' and @class='tgtSentence']");
                }

                _tokensSelector = XPathExpression.Compile(
                    "//span[@name='SandTokens' and @class='tgtSentence']");
            }
            catch (Exception ex)
            {
                this.WriteMessage(MessageLevel.Error, ex);
            }
        }