/// <summary>
        /// Returns Symbol value from name, or Symbol.None if no such Symbol exists.
        /// </summary>
        internal static Symbol SymbolFromName(string name)
        {
            Symbol symbol;

            if (!NameToEnum.TryGetValue(name, out symbol))
            {
                // Check for case sensitive keywords. Allow first character upper case only.
                if (string.Compare(name, "True", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    symbol = Symbol.True;
                }
                else if (string.Compare(name, "False", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    symbol = Symbol.False;
                }
                else if (string.Compare(name, "Null", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    symbol = Symbol.Null;
                }
                else
                {
                    symbol = Symbol.None;
                }
            }
            return(symbol);
        }
        static KeyWords()
        {
            EnumToName.Add(Symbol.True, "true");
            EnumToName.Add(Symbol.False, "false");
            EnumToName.Add(Symbol.Null, "null");

            EnumToName.Add(Symbol.Styles, @"\styles");
            EnumToName.Add(Symbol.Document, @"\document");
            EnumToName.Add(Symbol.EmbeddedFile, @"\EmbeddedFile");
            EnumToName.Add(Symbol.Section, @"\section");
            EnumToName.Add(Symbol.Paragraph, @"\paragraph");
            EnumToName.Add(Symbol.Header, @"\header");
            EnumToName.Add(Symbol.Footer, @"\footer");
            EnumToName.Add(Symbol.PrimaryHeader, @"\primaryheader");
            EnumToName.Add(Symbol.PrimaryFooter, @"\primaryfooter");
            EnumToName.Add(Symbol.FirstPageHeader, @"\firstpageheader");
            EnumToName.Add(Symbol.FirstPageFooter, @"\firstpagefooter");
            EnumToName.Add(Symbol.EvenPageHeader, @"\evenpageheader");
            EnumToName.Add(Symbol.EvenPageFooter, @"\evenpagefooter");
            EnumToName.Add(Symbol.Table, @"\table");
            EnumToName.Add(Symbol.Columns, @"\columns");
            EnumToName.Add(Symbol.Column, @"\column");
            EnumToName.Add(Symbol.Rows, @"\rows");
            EnumToName.Add(Symbol.Row, @"\row");
            EnumToName.Add(Symbol.Cell, @"\cell");
            EnumToName.Add(Symbol.Image, @"\image");
            EnumToName.Add(Symbol.TextFrame, @"\textframe");
            EnumToName.Add(Symbol.PageBreak, @"\pagebreak");
            EnumToName.Add(Symbol.Barcode, @"\barcode");
            EnumToName.Add(Symbol.Chart, @"\chart");
            EnumToName.Add(Symbol.HeaderArea, @"\headerarea");
            EnumToName.Add(Symbol.FooterArea, @"\footerarea");
            EnumToName.Add(Symbol.TopArea, @"\toparea");
            EnumToName.Add(Symbol.BottomArea, @"\bottomarea");
            EnumToName.Add(Symbol.LeftArea, @"\leftarea");
            EnumToName.Add(Symbol.RightArea, @"\rightarea");
            EnumToName.Add(Symbol.PlotArea, @"\plotarea");
            EnumToName.Add(Symbol.Legend, @"\legend");
            EnumToName.Add(Symbol.XAxis, @"\xaxis");
            EnumToName.Add(Symbol.YAxis, @"\yaxis");
            EnumToName.Add(Symbol.ZAxis, @"\zaxis");
            EnumToName.Add(Symbol.Series, @"\series");
            EnumToName.Add(Symbol.XValues, @"\xvalues");
            EnumToName.Add(Symbol.Point, @"\point");

            EnumToName.Add(Symbol.Bold, @"\bold");
            EnumToName.Add(Symbol.Italic, @"\italic");
            EnumToName.Add(Symbol.Underline, @"\underline");
            EnumToName.Add(Symbol.FontSize, @"\fontsize");
            EnumToName.Add(Symbol.FontColor, @"\fontcolor");
            EnumToName.Add(Symbol.Font, @"\font");
            //
            EnumToName.Add(Symbol.Field, @"\field");
            EnumToName.Add(Symbol.Symbol, @"\symbol");
            EnumToName.Add(Symbol.Chr, @"\chr");
            //
            EnumToName.Add(Symbol.Footnote, @"\footnote");
            EnumToName.Add(Symbol.Hyperlink, @"\hyperlink");
            //
            EnumToName.Add(Symbol.SoftHyphen, @"\-");
            EnumToName.Add(Symbol.Tab, @"\tab");
            EnumToName.Add(Symbol.LineBreak, @"\linebreak");
            EnumToName.Add(Symbol.Space, @"\space");
            EnumToName.Add(Symbol.NoSpace, @"\nospace");

            //
            //
            EnumToName.Add(Symbol.BraceLeft, "{");
            EnumToName.Add(Symbol.BraceRight, "}");
            EnumToName.Add(Symbol.BracketLeft, "[");
            EnumToName.Add(Symbol.BracketRight, "]");
            EnumToName.Add(Symbol.ParenLeft, "(");
            EnumToName.Add(Symbol.ParenRight, ")");
            EnumToName.Add(Symbol.Colon, ":");
            EnumToName.Add(Symbol.Semicolon, ";");  //??? id DDL?
            EnumToName.Add(Symbol.Dot, ".");
            EnumToName.Add(Symbol.Comma, ",");
            EnumToName.Add(Symbol.Percent, "%"); //??? id DDL?
            EnumToName.Add(Symbol.Dollar, "$");  //??? id DDL?
            //enumToName.Add(Symbol.At,                "@");
            EnumToName.Add(Symbol.Hash, "#");    //??? id DDL?
            //enumToName.Add(Symbol.Question,          "?");  //??? id DDL?
            //enumToName.Add(Symbol.Bar,               "|");  //??? id DDL?
            EnumToName.Add(Symbol.Assign, "=");
            EnumToName.Add(Symbol.Slash, "/"); //??? id DDL?
            EnumToName.Add(Symbol.BackSlash, "\\");
            EnumToName.Add(Symbol.Plus, "+");  //??? id DDL?
            EnumToName.Add(Symbol.PlusAssign, "+=");
            EnumToName.Add(Symbol.Minus, "-"); //??? id DDL?
            EnumToName.Add(Symbol.MinusAssign, "-=");
            EnumToName.Add(Symbol.Blank, " ");

            //---------------------------------------------------------------
            //---------------------------------------------------------------
            //---------------------------------------------------------------

            NameToEnum.Add("true", Symbol.True);
            NameToEnum.Add("false", Symbol.False);
            NameToEnum.Add("null", Symbol.Null);
            //
            NameToEnum.Add(@"\styles", Symbol.Styles);
            NameToEnum.Add(@"\document", Symbol.Document);
            NameToEnum.Add(@"\EmbeddedFile", Symbol.EmbeddedFile);
            NameToEnum.Add(@"\section", Symbol.Section);
            NameToEnum.Add(@"\paragraph", Symbol.Paragraph);
            NameToEnum.Add(@"\header", Symbol.Header);
            NameToEnum.Add(@"\footer", Symbol.Footer);
            NameToEnum.Add(@"\primaryheader", Symbol.PrimaryHeader);
            NameToEnum.Add(@"\primaryfooter", Symbol.PrimaryFooter);
            NameToEnum.Add(@"\firstpageheader", Symbol.FirstPageHeader);
            NameToEnum.Add(@"\firstpagefooter", Symbol.FirstPageFooter);
            NameToEnum.Add(@"\evenpageheader", Symbol.EvenPageHeader);
            NameToEnum.Add(@"\evenpagefooter", Symbol.EvenPageFooter);
            NameToEnum.Add(@"\table", Symbol.Table);
            NameToEnum.Add(@"\columns", Symbol.Columns);
            NameToEnum.Add(@"\column", Symbol.Column);
            NameToEnum.Add(@"\rows", Symbol.Rows);
            NameToEnum.Add(@"\row", Symbol.Row);
            NameToEnum.Add(@"\cell", Symbol.Cell);
            NameToEnum.Add(@"\image", Symbol.Image);
            NameToEnum.Add(@"\textframe", Symbol.TextFrame);
            NameToEnum.Add(@"\pagebreak", Symbol.PageBreak);
            NameToEnum.Add(@"\barcode", Symbol.Barcode);
            NameToEnum.Add(@"\chart", Symbol.Chart);
            NameToEnum.Add(@"\headerarea", Symbol.HeaderArea);
            NameToEnum.Add(@"\footerarea", Symbol.FooterArea);
            NameToEnum.Add(@"\toparea", Symbol.TopArea);
            NameToEnum.Add(@"\bottomarea", Symbol.BottomArea);
            NameToEnum.Add(@"\leftarea", Symbol.LeftArea);
            NameToEnum.Add(@"\rightarea", Symbol.RightArea);
            NameToEnum.Add(@"\plotarea", Symbol.PlotArea);
            NameToEnum.Add(@"\legend", Symbol.Legend);
            NameToEnum.Add(@"\xaxis", Symbol.XAxis);
            NameToEnum.Add(@"\yaxis", Symbol.YAxis);
            NameToEnum.Add(@"\zaxis", Symbol.ZAxis);
            NameToEnum.Add(@"\series", Symbol.Series);
            NameToEnum.Add(@"\xvalues", Symbol.XValues);
            NameToEnum.Add(@"\point", Symbol.Point);
            NameToEnum.Add(@"\bold", Symbol.Bold);
            NameToEnum.Add(@"\italic", Symbol.Italic);
            NameToEnum.Add(@"\underline", Symbol.Underline);
            NameToEnum.Add(@"\fontsize", Symbol.FontSize);
            NameToEnum.Add(@"\fontcolor", Symbol.FontColor);
            NameToEnum.Add(@"\font", Symbol.Font);
            //
            NameToEnum.Add(@"\field", Symbol.Field);
            NameToEnum.Add(@"\symbol", Symbol.Symbol);
            NameToEnum.Add(@"\chr", Symbol.Chr);
            //
            NameToEnum.Add(@"\footnote", Symbol.Footnote);
            NameToEnum.Add(@"\hyperlink", Symbol.Hyperlink);
            //
            NameToEnum.Add(@"\-", Symbol.SoftHyphen); //??? \( is another special case.
            NameToEnum.Add(@"\tab", Symbol.Tab);
            NameToEnum.Add(@"\linebreak", Symbol.LineBreak);
            NameToEnum.Add(@"\space", Symbol.Space);
            NameToEnum.Add(@"\nospace", Symbol.NoSpace);
        }
Beispiel #3
0
        static XmlKeyWords()
        {
            EnumToName.Add(XmlSymbol.True, "true");
            EnumToName.Add(XmlSymbol.False, "false");
            //EnumToName.Add(XmlSymbol.Null, "null");


            EnumToName.Add(XmlSymbol.Attributes, "attributes");
            EnumToName.Add(XmlSymbol.Styles, "styles");
            EnumToName.Add(XmlSymbol.Style, "style");
            EnumToName.Add(XmlSymbol.Document, "document");
            EnumToName.Add(XmlSymbol.Sections, "sections");
            EnumToName.Add(XmlSymbol.Section, "section");
            EnumToName.Add(XmlSymbol.Paragraph, "p");             // paragraph
            EnumToName.Add(XmlSymbol.Header, "header");
            EnumToName.Add(XmlSymbol.Footer, "footer");
            EnumToName.Add(XmlSymbol.PrimaryHeader, "primaryheader");
            EnumToName.Add(XmlSymbol.PrimaryFooter, "primaryfooter");
            EnumToName.Add(XmlSymbol.FirstPageHeader, "firstpageheader");
            EnumToName.Add(XmlSymbol.LastPageHeader, "lastpageheader");
            EnumToName.Add(XmlSymbol.FirstPageFooter, "firstpagefooter");
            EnumToName.Add(XmlSymbol.LastPageFooter, "lastpagefooter");
            EnumToName.Add(XmlSymbol.EvenPageHeader, "evenpageheader");
            EnumToName.Add(XmlSymbol.EvenPageFooter, "evenpagefooter");
            EnumToName.Add(XmlSymbol.Table, "table");
            EnumToName.Add(XmlSymbol.Columns, "columns");
            EnumToName.Add(XmlSymbol.Column, "column");
            EnumToName.Add(XmlSymbol.Rows, "rows");
            EnumToName.Add(XmlSymbol.Row, "row");
            EnumToName.Add(XmlSymbol.Cell, "cell");
            EnumToName.Add(XmlSymbol.Image, "image");
            // EnumToName.Add(XmlSymbol.Text, "text");
            EnumToName.Add(XmlSymbol.TextFrame, "textframe");
            EnumToName.Add(XmlSymbol.PageBreak, "pagebreak");
            EnumToName.Add(XmlSymbol.Barcode, "barcode");
            EnumToName.Add(XmlSymbol.Chart, "chart");
            EnumToName.Add(XmlSymbol.HeaderArea, "headerarea");
            EnumToName.Add(XmlSymbol.FooterArea, "footerarea");
            EnumToName.Add(XmlSymbol.TopArea, "toparea");
            EnumToName.Add(XmlSymbol.BottomArea, "bottomarea");
            EnumToName.Add(XmlSymbol.LeftArea, "leftarea");
            EnumToName.Add(XmlSymbol.RightArea, "rightarea");
            EnumToName.Add(XmlSymbol.PlotArea, "plotarea");
            EnumToName.Add(XmlSymbol.Legend, "legend");
            EnumToName.Add(XmlSymbol.XAxis, "xaxis");
            EnumToName.Add(XmlSymbol.YAxis, "yaxis");
            EnumToName.Add(XmlSymbol.ZAxis, "zaxis");
            EnumToName.Add(XmlSymbol.Series, "series");
            EnumToName.Add(XmlSymbol.XSeries, "xseries");
            EnumToName.Add(XmlSymbol.XValue, "xvalue");
            EnumToName.Add(XmlSymbol.Point, "point");

            EnumToName.Add(XmlSymbol.TabStops, "tabstops");
            EnumToName.Add(XmlSymbol.TabStop, "tabstop");

            EnumToName.Add(XmlSymbol.Bold, "b");
            EnumToName.Add(XmlSymbol.Italic, "i");
            EnumToName.Add(XmlSymbol.Underline, "u");
            EnumToName.Add(XmlSymbol.FontSize, "fontsize");
            EnumToName.Add(XmlSymbol.FontColor, "fontcolor");
            EnumToName.Add(XmlSymbol.Font, "font");
            //
            EnumToName.Add(XmlSymbol.Field, "field");
            EnumToName.Add(XmlSymbol.Symbol, "symbol");
            EnumToName.Add(XmlSymbol.Chr, "chr");
            //
            EnumToName.Add(XmlSymbol.Footnote, "footnote");
            EnumToName.Add(XmlSymbol.Hyperlink, "hyperlink");
            //
            EnumToName.Add(XmlSymbol.SoftHyphen, "-");
            EnumToName.Add(XmlSymbol.Tab, "tab");
            EnumToName.Add(XmlSymbol.LineBreak, "br");
            EnumToName.Add(XmlSymbol.ParaBreak, "pbr");
            EnumToName.Add(XmlSymbol.Space, "space");
            EnumToName.Add(XmlSymbol.NoSpace, "nospace");

            //
            //

            /*EnumToName.Add(XmlSymbol.BraceLeft, "{");
             * EnumToName.Add(XmlSymbol.BraceRight, "}");
             * EnumToName.Add(XmlSymbol.BracketLeft, "[");
             * EnumToName.Add(XmlSymbol.BracketRight, "]");
             * EnumToName.Add(XmlSymbol.ParenLeft, "(");
             * EnumToName.Add(XmlSymbol.ParenRight, ")");
             * EnumToName.Add(XmlSymbol.Colon, ":");
             * EnumToName.Add(XmlSymbol.Semicolon, ";");  //??? id DDL?
             * EnumToName.Add(XmlSymbol.Dot, ".");
             * EnumToName.Add(XmlSymbol.Comma, ",");
             * EnumToName.Add(XmlSymbol.Percent, "%");  //??? id DDL?
             * EnumToName.Add(XmlSymbol.Dollar, "$");  //??? id DDL?
             * //enumToName.Add(XmlSymbol.At,                "@");
             * EnumToName.Add(XmlSymbol.Hash, "#");  //??? id DDL?
             * //enumToName.Add(XmlSymbol.Question,          "?");  //??? id DDL?
             * //enumToName.Add(XmlSymbol.Bar,               "|");  //??? id DDL?
             * EnumToName.Add(XmlSymbol.Assign, "=");
             * EnumToName.Add(XmlSymbol.Slash, "/");  //??? id DDL?
             * EnumToName.Add(XmlSymbol.BackSlash, "\\");
             * EnumToName.Add(XmlSymbol.Plus, "+");  //??? id DDL?
             * EnumToName.Add(XmlSymbol.PlusAssign, "+=");
             * EnumToName.Add(XmlSymbol.Minus, "-");  //??? id DDL?
             * EnumToName.Add(XmlSymbol.MinusAssign, "-=");
             * EnumToName.Add(XmlSymbol.Blank, " ");
             */
            //---------------------------------------------------------------
            //---------------------------------------------------------------
            //---------------------------------------------------------------

            NameToEnum.Add("true", XmlSymbol.True);
            NameToEnum.Add("false", XmlSymbol.False);
            //NameToEnum.Add("null", XmlSymbol.Null);
            //
            NameToEnum.Add("attributes", XmlSymbol.Attributes);
            NameToEnum.Add("styles", XmlSymbol.Styles);
            NameToEnum.Add("style", XmlSymbol.Style);
            NameToEnum.Add("document", XmlSymbol.Document);
            NameToEnum.Add("info", XmlSymbol.Info);
            NameToEnum.Add("sections", XmlSymbol.Sections);
            NameToEnum.Add("section", XmlSymbol.Section);
            NameToEnum.Add("p", XmlSymbol.Paragraph);
            NameToEnum.Add("header", XmlSymbol.Header);
            NameToEnum.Add("footer", XmlSymbol.Footer);
            NameToEnum.Add("primaryheader", XmlSymbol.PrimaryHeader);
            NameToEnum.Add("primaryfooter", XmlSymbol.PrimaryFooter);
            NameToEnum.Add("firstpageheader", XmlSymbol.FirstPageHeader);
            NameToEnum.Add("lastpageheader", XmlSymbol.LastPageHeader);
            NameToEnum.Add("firstpagefooter", XmlSymbol.FirstPageFooter);
            NameToEnum.Add("lastpagefooter", XmlSymbol.LastPageFooter);
            NameToEnum.Add("evenpageheader", XmlSymbol.EvenPageHeader);
            NameToEnum.Add("evenpagefooter", XmlSymbol.EvenPageFooter);
            NameToEnum.Add("table", XmlSymbol.Table);
            NameToEnum.Add("columns", XmlSymbol.Columns);
            NameToEnum.Add("column", XmlSymbol.Column);
            NameToEnum.Add("rows", XmlSymbol.Rows);
            NameToEnum.Add("row", XmlSymbol.Row);
            NameToEnum.Add("cell", XmlSymbol.Cell);
            NameToEnum.Add("image", XmlSymbol.Image);
            //NameToEnum.Add("text", XmlSymbol.Text);
            NameToEnum.Add("textframe", XmlSymbol.TextFrame);
            NameToEnum.Add("pagebreak", XmlSymbol.PageBreak);
            NameToEnum.Add("barcode", XmlSymbol.Barcode);
            NameToEnum.Add("chart", XmlSymbol.Chart);
            NameToEnum.Add("headerarea", XmlSymbol.HeaderArea);
            NameToEnum.Add("footerarea", XmlSymbol.FooterArea);
            NameToEnum.Add("toparea", XmlSymbol.TopArea);
            NameToEnum.Add("bottomarea", XmlSymbol.BottomArea);
            NameToEnum.Add("leftarea", XmlSymbol.LeftArea);
            NameToEnum.Add("rightarea", XmlSymbol.RightArea);
            NameToEnum.Add("plotarea", XmlSymbol.PlotArea);
            NameToEnum.Add("legend", XmlSymbol.Legend);
            NameToEnum.Add("xaxis", XmlSymbol.XAxis);
            NameToEnum.Add("yaxis", XmlSymbol.YAxis);
            NameToEnum.Add("zaxis", XmlSymbol.ZAxis);
            NameToEnum.Add("series", XmlSymbol.Series);
            NameToEnum.Add("xseries", XmlSymbol.XSeries);
            NameToEnum.Add("xvalue", XmlSymbol.XValue);
            NameToEnum.Add("point", XmlSymbol.Point);

            NameToEnum.Add("tabstops", XmlSymbol.TabStops);
            NameToEnum.Add("tabstop", XmlSymbol.TabStop);

            NameToEnum.Add("b", XmlSymbol.Bold);
            NameToEnum.Add("i", XmlSymbol.Italic);
            NameToEnum.Add("u", XmlSymbol.Underline);
            NameToEnum.Add("fontsize", XmlSymbol.FontSize);
            NameToEnum.Add("fontcolor", XmlSymbol.FontColor);
            NameToEnum.Add("font", XmlSymbol.Font);
            //
            NameToEnum.Add("field", XmlSymbol.Field);
            NameToEnum.Add("symbol", XmlSymbol.Symbol);
            NameToEnum.Add("chr", XmlSymbol.Chr);
            //
            NameToEnum.Add("footnote", XmlSymbol.Footnote);
            NameToEnum.Add("hyperlink", XmlSymbol.Hyperlink);
            //
            NameToEnum.Add("-", XmlSymbol.SoftHyphen);             //??? \( is another special case.
            NameToEnum.Add("tab", XmlSymbol.Tab);
            NameToEnum.Add("br", XmlSymbol.LineBreak);
            NameToEnum.Add("pbr", XmlSymbol.ParaBreak);
            NameToEnum.Add("space", XmlSymbol.Space);
            NameToEnum.Add("nospace", XmlSymbol.NoSpace);
        }