public void HardSpaceAfterVerseNumberNode()
        {
            const string file = "HardSpaceAfterVerseNumber";
            _projInfo.ProjectInputType = "Scripture";
            string styleOutput = GetStyleOutput(file);

            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            _validate.GetInnerText = true;
            string xpath = "//text:p/text:span[@text:style-name='span_Paragraph_scrSection_scrBody']";
            string content = "1\u00A0Sejay i tonton Jesu Criston edafod David tan si Abraham.";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Hard Space after versenumber test failed");
        }
        public void FootNote_Node()
        {
            const string file = "Footnote";
            _projInfo.ProjectInputType = "Dictionary";
            string styleOutput = GetStyleOutput(file);

            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            string xpath = "//text:note[@text:id='ftn1']";
            _validate.ClassName = string.Empty;
            _validate.GetOuterXml = true;
            string uni = Common.ConvertUnicodeToString("\\2021");
            string content = "<text:note text:id=\"ftn1\" text:note-class=\"footnote\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:note-citation text:label=\"" + uni + " \">" + uni + " </text:note-citation><text:note-body><text:p text:style-name=\"footnote\"><text:span text:style-name=\"footnote..footnote-marker\"></text:span><text:span text:style-name=\"footnote_p.first_section_div.scriptureText_scrBody\">1:1: You can use the add spaces button to separate the Unicode characters.</text:span></text:p></text:note-body></text:note>";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "FootNote - Content Failure");

            _validate = new ValidateXMLFile(styleOutput);
            _validate.ClassName = "footnote..footnote-call";
            _validate.ClassProperty.Add("fo:color", "#800080");
            _validate.ClassProperty.Add("fo:font-size", "12pt");
            _validate.ClassProperty.Add("style:text-position", "super 55%");
            _validate.ClassProperty.Add("text:display", "prince-footnote");
            //NOTE: If ttf-mscorefonts-installer is on Linux, the font-family is Arial, if not it is Verdana
            //_validate.ClassProperty.Add("fo:font-family", Common.IsUnixOS() ? "Verdana" : "Arial");
            _validate.ClassProperty.Add("fo:font-weight", "400");
            bool returnValue = _validate.ValidateNodeAttributesNS(false);
            Assert.IsTrue(returnValue, "Footnote cal - Style Failure");

            _validate = new ValidateXMLFile(styleOutput);
            _validate.ClassName = "footnote..footnote-marker";
            _validate.ClassProperty.Add("fo:color", "#ff0000");
            _validate.ClassProperty.Add("fo:font-size", "10pt");
            _validate.ClassProperty.Add("text:display", "prince-footnote");
            //NOTE: If ttf-mscorefonts-installer is on Linux, the font-family is Arial, if not it is Verdana
            //_validate.ClassProperty.Add("fo:font-family", Common.IsUnixOS() ? "Verdana" : "Arial");
            _validate.ClassProperty.Add("fo:font-weight", "700");
            returnValue = _validate.ValidateNodeAttributesNS(false);
            Assert.IsTrue(returnValue, "Footnote Marker - Style Failure");
        }
        public void FootnoteVerseNumberNode2()
        {
            const string file = "FootnoteVerse2";
            _projInfo.ProjectInputType = "Scripture";
            string styleOutput = GetStyleOutput(file);

            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            _validate.GetOuterXml = true;
            string xpath = "//text:note[@text:id='ftn1']/text:note-body";
            string content = "<text:note-body xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:p text:style-name=\"NoteCrossHYPHENReferenceParagraph\"><text:span text:style-name=\"NoteCrossHYPHENReferenceParagraph..footnote-marker\">1.19 </text:span><text:span text:style-name=\"span_.zxx_NoteCrossHYPHENReferenceParagraph_Paragraph_scrSection_columns_scrBook_scrBody\">Dan. 8:16, 9:21</text:span></text:p></text:note-body>";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Footnote versenumber special case '1.19-1' test failed");

            xpath = "//text:note[@text:id='ftn2']/text:note-body";
            content = "<text:note-body xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:p text:style-name=\"NoteGeneralParagraph\"><text:span text:style-name=\"span_.zxx_NoteGeneralParagraph_Paragraph_scrSection_columns_scrBook_scrBody\">Bahasa Yunani bilang \"Badiri di Allah pung muka\". Ini bisa pung arti \"karja par Tuhan\". Mar bisa pung arti lai \u2018Badiri di Allah pung muka\u2019. Malekat yang badiri di Allah pung muka pung kuasa labe dari malekat laeng. Jadi, Gabriel bukang malekat biasa.</text:span></text:p></text:note-body>";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Footnote versenumber special case '1.19-2' test failed");

            xpath = "//text:note[@text:id='ftn3']/text:note-body";
            content = "<text:note-body xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:p text:style-name=\"NoteCrossHYPHENReferenceParagraph\"><text:span text:style-name=\"NoteCrossHYPHENReferenceParagraph..footnote-marker\">1.27 </text:span><text:span text:style-name=\"span_.zxx_NoteCrossHYPHENReferenceParagraph_Paragraph_scrSection_columns_scrBook_scrBody\">Mat. 1:18</text:span></text:p></text:note-body>";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Footnote versenumber special case '1.27' test failed");

            xpath = "//text:note[@text:id='ftn4']/text:note-body";
            content = "<text:note-body xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:p text:style-name=\"NoteCrossHYPHENReferenceParagraph\"><text:span text:style-name=\"NoteCrossHYPHENReferenceParagraph..footnote-marker\">1.32-33 </text:span><text:span text:style-name=\"span_.zxx_NoteCrossHYPHENReferenceParagraph_Paragraph_scrSection_columns_scrBook_scrBody\">2Sam. 7:12, 13, 16; Yes. 9:6</text:span></text:p></text:note-body>";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Footnote versenumber special case '1.32-33' test failed");

            xpath = "//text:note[@text:id='ftn5']/text:note-body";
            content = "<text:note-body xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:p text:style-name=\"NoteCrossHYPHENReferenceParagraph\"><text:span text:style-name=\"NoteCrossHYPHENReferenceParagraph..footnote-marker\">2.41 </text:span><text:span text:style-name=\"span_.zxx_NoteCrossHYPHENReferenceParagraph_Paragraph_scrSection_columns_scrBook_scrBody\">Kel. 12:1-27; Ul. 16:1-8</text:span></text:p></text:note-body>";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Footnote versenumber special case '2.41-1' test failed");

            xpath = "//text:note[@text:id='ftn6']/text:note-body";
            content = "<text:note-body xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:p text:style-name=\"NoteGeneralParagraph\"><text:span text:style-name=\"NoteGeneralParagraph..footnote-marker\">2.41 </text:span><text:span text:style-name=\"span_.zxx_NoteGeneralParagraph_Paragraph_scrSection_columns_scrBook_scrBody\">Hari basar Paska Yahudi tu, orang Yahudi inga waktu dong pung tete nene moyang kaluar dari negara Mesir. Dolo dong jadi orang suru-suru di tampa tu, mar Allah kasi kaluar dong la bawa dong ka tana yang Antua su janji par dong.</text:span></text:p></text:note-body>";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Footnote versenumber special case '2.41-2' test failed");

        }
        public void AnchorTag_Node()
        {
            const string file = "AnchorTag";
            _projInfo.ProjectInputType = "Scripture";
            string styleOutput = GetStyleOutput(file);

            //Content Test - First
            //<text:span text:style-name="a_scrFootnoteMarker_Paragraph_scrSection_scrBook">
            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            _validate.ClassName = string.Empty;
            //text:note text:id="ftn1"
            string xpath = "//text:span[@text:style-name='scrFootnoteMarker_Paragraph_scrSection_scrBook_scrBody']";
            //string xpath = "//text:note[@text:id='ftn1']";
            string content = "<text:a xlink:type=\"simple\" xlink:href=\"#f7be51147-aa97-40a2-ba86-4df84849e9f9\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">a</text:a>";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "reference-ref failed");
            // ="
            xpath = "//text:span[@text:style-name='scrFootnoteMarker_Paragraph_scrSection_scrBook_scrBody']";
            //xpath = "//text:span[@text:style-name='scrFootnoteMarker_NoteGeneralParagraph_scrSection_scrBook_scrBody']/text:reference-mark[@text:name='f7be51147-aa97-40a2-ba86-4df84849e9f9']";
            //content = "<text:reference-mark text:name=\"f7be51147-aa97-40a2-ba86-4df84849e9f9\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" />a";
            content = "<text:a xlink:type=\"simple\" xlink:href=\"#f7be51147-aa97-40a2-ba86-4df84849e9f9\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">a</text:a>";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "reference - mark failed");

            //TODO  - ANCHOR blue color should be merged
            //Style Test - Second
            //_validate = new ValidateXMLFile(styleOutput);
            //_validate.ClassName = "scrFootnoteMarker_Paragraph_scrSection_scrBook";
            //_validate.ClassProperty.Add("fo:color", "#0000ff");
            //_validate.ClassProperty.Add("style:text-underline-style", "solid");

            //returnValue1 = _validate.ValidateNodeAttributesNS(false);
            //Assert.IsTrue(returnValue1, "AnchorTag - Style property Failure");
        }
        public void MirroredPageRefTest_Node()
        {
            const string file = "MirroredPageRef";

            string input = FileInput(file + ".css");
            string output = FileOutput(file + "styles.xml");
            GetCssClass(input, output);

            //First Node
            string xpath = "//style:page-layout[@style:name='";
            _validate = new ValidateXMLFile(output);
            _validate.ClassName = "pm1";
            _validate.ClassProperty.Add("style:page-usage", "mirrored");

            returnValue = _validate.ValidateNodeAttributesNS(0, xpath);
            Assert.IsTrue(returnValue);

            xpath = "samenode";
            _validate.ClassProperty.Add("fo:page-width", "14.8cm");
            _validate.ClassProperty.Add("fo:page-height", "21cm");
            _validate.ClassProperty.Add("style:num-format", "1");
            _validate.ClassProperty.Add("style:print-orientation", "portrait");
            _validate.ClassProperty.Add("style:writing-mode", "lr-tb");
            _validate.ClassProperty.Add("style:footnote-max-height", "0in");

            _validate.ClassProperty.Add("fo:margin-top", "1.15cm");
            _validate.ClassProperty.Add("fo:margin-right", "1.5cm");
            _validate.ClassProperty.Add("fo:margin-bottom", "1.5cm");
            _validate.ClassProperty.Add("fo:margin-left", "1.5cm");

            returnValue = _validate.ValidateNodeAttributesNS(1, xpath); // style:page-layout-properties
            Assert.IsTrue(returnValue);

            //Second Node
            xpath = "//style:page-layout[@style:name='";
            _validate.ClassName = "pm2";
            _validate.ClassProperty.Add("style:page-usage", "mirrored");

            returnValue = _validate.ValidateNodeAttributesNS(0, xpath);
            Assert.IsTrue(returnValue);

            xpath = "samenode";
            _validate.ClassProperty.Add("fo:page-width", "14.8cm");
            _validate.ClassProperty.Add("fo:page-height", "21cm");
            _validate.ClassProperty.Add("style:num-format", "1");
            _validate.ClassProperty.Add("style:print-orientation", "portrait");
            _validate.ClassProperty.Add("style:writing-mode", "lr-tb");
            _validate.ClassProperty.Add("style:footnote-max-height", "0in");

            _validate.ClassProperty.Add("fo:margin-top", "1.15cm");
            _validate.ClassProperty.Add("fo:margin-right", "1.5cm");
            _validate.ClassProperty.Add("fo:margin-bottom", "1.5cm");
            _validate.ClassProperty.Add("fo:margin-left", "1.5cm");

            returnValue = _validate.ValidateNodeAttributesNS(1, xpath);
            Assert.IsTrue(returnValue);

            //Third Node
            xpath = "//style:header-left";
            _validate.ClassName = string.Empty;
            string inner = "<text:p text:style-name=\"Header\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">" +
            "<text:span text:style-name=\"AllHeaderPageLeft\">" +
            "<text:chapter text:display=\"name\" text:outline-level=\"9\" />" +
            "</text:span>" +
            "<text:tab />" +
            "<text:span text:style-name=\"AllHeaderPageNumber\">" +
            "<text:page-number text:select-page=\"current\">4</text:page-number>" +
            "</text:span>" +
            "<text:tab />" +
            "<text:span text:style-name=\"AllHeaderPageRight\" />" +
            "</text:p>";
            returnValue = _validate.ValidateNodeInnerXml(xpath, inner);
            Assert.IsTrue(returnValue);

            //Fourth Node
            xpath = "//style:master-page[@style:name='";
            _validate.ClassName = "First_20_Page";

            _validate.ClassProperty.Add("style:display-name", "First Page");
            _validate.ClassProperty.Add("style:page-layout-name", "pm2");
            _validate.ClassProperty.Add("style:next-style-name", "Standard");

            returnValue = _validate.ValidateNodeAttributesNS(0, xpath);
            Assert.IsTrue(returnValue);
        }
        public void KeepLineSeperator()
        {
            const string file = "KeepLineSeperator";
            _projInfo.ProjectInputType = "Dictionary";
            string styleOutput = GetStyleOutput(file);

            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            string xpath = "//text:span[@text:style-name='span_.kup_example_examples_sense_senses_entry_letData_dicBody']";
            _validate.ClassName = string.Empty;
            string content = "<text:line-break xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" />Ne aban horip emahan barezat soh.";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "KeepLine Seperator test failed");

            xpath = "//text:span[@text:style-name='span_.tpi_span_.en_translations_examples_sense_senses_entry_letData_dicBody']";
            _validate.ClassName = string.Empty;
            content = "<text:line-break xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" />When the bad man came I ran away.";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "KeepLine Seperator test failed");
        }
        public void SpaceTest()
        {
            _projInfo.ProjectInputType = "Scripture";
            const string file = "SpaceTest";
            string styleOutput = GetStyleOutput(file);

            //Content Test - First
            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            string xpath = "//text:p[@text:style-name='ChapterNumber1']";
            string content = "<text:span text:style-name=\"ChapterNumber_Paragraph_scrBook_scrBody\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">1</text:span><text:span text:style-name=\"ChapterNumber_.zxx\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:variable-set text:name=\"Left_Guideword_L\" text:display=\"none\" text:formula=\"ooow: \" office:value-type=\"string\" office:string-value=\"\" xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" /></text:span><text:span text:style-name=\"ChapterNumber_.zxx\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:variable-set text:name=\"RLeft_Guideword_L\" text:display=\"none\" text:formula=\"ooow: \" office:value-type=\"string\" office:string-value=\"\" xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" /></text:span><text:span text:style-name=\"ChapterNumber_.zxx\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:variable-set text:name=\"Right_Guideword_R\" text:display=\"none\" text:formula=\"ooow: \" office:value-type=\"string\" office:string-value=\"\" xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" /></text:span><text:span text:style-name=\"ChapterNumber_.zxx\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:variable-set text:name=\"RRight_Guideword_R\" text:display=\"none\" text:formula=\"ooow: \" office:value-type=\"string\" office:string-value=\"\" xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" /></text:span><text:span xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" /><text:span text:style-name=\"span_Paragraph_scrBook_scrBody\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:span text:style-name=\"VerseNumber_Paragraph_scrBook_scrBody\"> 1 </text:span>Yesu Kristo, Owi</text:span><text:span text:style-name=\"SeeInGlossary_Paragraph_scrBook_scrBody\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">Dawid</text:span><text:span text:style-name=\"span_Paragraph_scrBook_scrBody\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"> mv na,</text:span><text:span text:style-name=\"SeeInGlossary_Paragraph_scrBook_scrBody\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">Abraham</text:span><text:span text:style-name=\"span_Paragraph_scrBook_scrBody\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"> mvat sapace invpt</text:span>";
            bool returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue);

        }
        public void DropCap_Node()
        {
            const string file = "DropCap";
            _projInfo.ProjectInputType = "Scripture";

            string styleOutput = GetStyleOutput(file);

            //Content Test - First
            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            _validate.ClassName = "ChapterNumber1";
            _validate.ChildClassName = "ChapterNumber_Paragraph_scrSection_scrBook_scrBody";
            _validate.ChildClassType = "span";
            string content = "1";
            bool returnValue1 = _validate.ValidateOfficeTextNode(content, "para");
            Assert.IsTrue(returnValue1);

            //Note - The Styles will be created while processing xhtml(content.xml)
            ////Style Test - Second
            _validate = new ValidateXMLFile(styleOutput);
            string xpath = "//style:style[@style:name='ChapterNumber1']";
            _validate.ClassName = string.Empty;
            string inner = "<style:paragraph-properties style:vertical-align=\"auto\" fo:float=\"left\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\">" +
            "<style:drop-cap style:lines=\"2\" style:distance=\"0.20cm\" style:length=\"1\" />" +
            "</style:paragraph-properties>";

            bool returnValue = _validate.ValidateNodeInnerXml(xpath, inner);
            Assert.IsTrue(returnValue);
        }
        public void PageTest9()
        {
            const string file = "PageTest9";
            _projInfo.ProjectInputType = "Dictionary";
            string styleOutput = GetStyleOutput(file);

            string xpath = "//office:automatic-styles";
            _validate = new ValidateXMLFile(styleOutput);
            string content = "<style:style style:name=\"PageHeaderFooter0\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"\" style:writing-mode=\"lr-tb\" fo:font-family=\"Verdana\" style:font-name-complex=\"Verdana\" fo:font-weight=\"700\" fo:font-size=\"12pt\" fo:margin-top=\"100%\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style><style:style style:name=\"PageHeaderFooter1\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"\" fo:margin-top=\"100%\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style><style:style style:name=\"PageHeaderFooter2\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"\" style:writing-mode=\"lr-tb\" fo:font-family=\"Verdana\" style:font-name-complex=\"Verdana\" fo:font-weight=\"700\" fo:font-size=\"12pt\" fo:margin-top=\"100%\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style><style:style style:name=\"PageHeaderFooter3\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"\" /></style:style><style:style style:name=\"PageHeaderFooter4\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"\" /></style:style><style:style style:name=\"PageHeaderFooter5\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"\" /></style:style><style:style style:name=\"PageHeaderFooter12\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"string(guidewordfirst)\" style:writing-mode=\"lr-tb\" fo:font-family=\"Charis SIL\" style:font-name-complex=\"Charis SIL\" fo:font-weight=\"700\" fo:font-size=\"12pt\" fo:margin-top=\"28.34646pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style><style:style style:name=\"PageHeaderFooter13\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"|counter(page)|\" fo:margin-top=\"28.34646pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style><style:style style:name=\"PageHeaderFooter14\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"string(guidewordlast)\" style:writing-mode=\"lr-tb\" fo:font-family=\"Charis SIL\" style:font-name-complex=\"Charis SIL\" fo:font-weight=\"700\" fo:font-size=\"12pt\" fo:margin-top=\"28.34646pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style><style:style style:name=\"PageHeaderFooter15\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"\" /></style:style><style:style style:name=\"PageHeaderFooter16\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"\" /></style:style><style:style style:name=\"PageHeaderFooter17\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"\" /></style:style><style:style style:name=\"PageHeaderFooter18\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"string(guidewordfirst)\" style:writing-mode=\"lr-tb\" fo:font-family=\"Charis SIL\" style:font-name-complex=\"Charis SIL\" fo:font-weight=\"700\" fo:font-size=\"12pt\" fo:margin-top=\"28.34646pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style><style:style style:name=\"PageHeaderFooter19\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"|counter(page)|\" fo:margin-top=\"28.34646pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style><style:style style:name=\"PageHeaderFooter20\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"string(guidewordlast)\" style:writing-mode=\"lr-tb\" fo:font-family=\"Charis SIL\" style:font-name-complex=\"Charis SIL\" fo:font-weight=\"700\" fo:font-size=\"12pt\" fo:margin-top=\"28.34646pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style><style:style style:name=\"PageHeaderFooter21\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"\" /></style:style><style:style style:name=\"PageHeaderFooter22\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"\" /></style:style><style:style style:name=\"PageHeaderFooter23\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"\" /></style:style><style:style style:name=\"MP1\" style:family=\"paragraph\" style:parent-style-name=\"Frame_20_contents\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:paragraph-properties fo:text-align=\"end\" style:justify-single-word=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style><style:style style:name=\"MT1\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties style:font-name-complex=\"Gautami1\" /></style:style><style:style style:name=\"MT1\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties style:font-name-complex=\"GenericFont\" /></style:style><style:style style:name=\"Mfr1\" style:family=\"graphic\" style:parent-style-name=\"Frame\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:graphic-properties style:vertical-pos=\"from-top\" style:vertical-rel=\"page\" style:horizontal-pos=\"right\" style:horizontal-rel=\"paragraph\" fo:background-color=\"transparent\" style:background-transparency=\"100%\" fo:padding=\"0in\" fo:border=\"none\" style:shadow=\"none\" style:flow-with-text=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /><style:columns fo:column-count=\"1\" fo:column-gap=\"0in\" /></style:graphic-properties></style:style><style:style style:name=\"Mfr3\" style:family=\"graphic\" style:parent-style-name=\"Frame\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:graphic-properties style:vertical-pos=\"from-top\" style:vertical-rel=\"page\" style:horizontal-pos=\"center\" style:horizontal-rel=\"paragraph\" fo:background-color=\"transparent\" style:background-transparency=\"100%\" fo:padding=\"0in\" fo:border=\"none\" style:shadow=\"none\" style:flow-with-text=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /><style:columns fo:column-count=\"1\" fo:column-gap=\"0in\" /></style:graphic-properties></style:style><style:page-layout style:name=\"pm1\" style:page-usage=\"mirrored\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#ff0000\" fo:page-width=\"595.2756pt\" fo:page-height=\"841.8898pt\" fo:margin-top=\"57pt\" fo:margin-right=\"113.3858pt\" fo:margin-bottom=\"57pt\" fo:margin-left=\"113.3858pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:footnote-sep style:distance-before-sep=\"0.0398in\" style:distance-after-sep=\"0.0398in\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" /></style:page-layout-properties><style:header-style /><style:footer-style /></style:page-layout><style:page-layout style:name=\"pm2\" style:page-usage=\"mirrored\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#ff0000\" fo:page-width=\"595.2756pt\" fo:page-height=\"841.8898pt\" fo:margin-top=\"57pt\" fo:margin-right=\"113.3858pt\" fo:margin-bottom=\"57pt\" fo:margin-left=\"113.3858pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /></style:page-layout-properties><style:header-style><style:header-footer-properties fo:margin-bottom=\"14.21pt\" fo:min-height=\"28.42pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:header-style><style:footer-style><style:header-footer-properties fo:margin-bottom=\"0.0pt\" fo:min-height=\"0.0pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:footer-style></style:page-layout><style:page-layout style:name=\"pm3\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#0000ff\" fo:page-width=\"595.2756pt\" fo:page-height=\"841.8898pt\" fo:margin-top=\"57pt\" fo:margin-right=\"113.3858pt\" fo:margin-bottom=\"57pt\" fo:margin-left=\"113.3858pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /><style:footnote-sep style:distance-before-sep=\"0.0398in\" style:distance-after-sep=\"0.0398in\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" /></style:page-layout-properties><style:header-style><style:header-footer-properties fo:margin-bottom=\"14.21pt\" fo:min-height=\"28.42pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:header-style><style:footer-style><style:header-footer-properties fo:margin-bottom=\"0.0pt\" fo:min-height=\"0.0pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:footer-style></style:page-layout><style:page-layout style:name=\"pm4\" style:page-usage=\"mirrored\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#008000\" fo:page-width=\"595.2756pt\" fo:page-height=\"841.8898pt\" fo:margin-top=\"57pt\" fo:margin-right=\"113.3858pt\" fo:margin-bottom=\"57pt\" fo:margin-left=\"113.3858pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /><style:footnote-sep style:distance-before-sep=\"0.0398in\" style:distance-after-sep=\"0.0398in\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" /></style:page-layout-properties><style:header-style><style:header-footer-properties fo:margin-bottom=\"14.21pt\" fo:min-height=\"28.42pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:header-style><style:footer-style><style:header-footer-properties fo:margin-bottom=\"0.0pt\" fo:min-height=\"0.0pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:footer-style></style:page-layout><style:page-layout style:name=\"pm5\" style:page-usage=\"mirrored\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#ffa500\" fo:page-width=\"595.2756pt\" fo:page-height=\"841.8898pt\" fo:margin-top=\"57pt\" fo:margin-right=\"113.3858pt\" fo:margin-bottom=\"57pt\" fo:margin-left=\"113.3858pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /><style:footnote-sep style:distance-before-sep=\"0.0398in\" style:distance-after-sep=\"0.0398in\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" /></style:page-layout-properties><style:header-style><style:header-footer-properties fo:margin-bottom=\"14.21pt\" fo:min-height=\"28.42pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:header-style><style:footer-style><style:header-footer-properties fo:margin-bottom=\"0.0pt\" fo:min-height=\"0.0pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:footer-style></style:page-layout>";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);

            Assert.IsTrue(returnValue1, "PageTest failed");

            xpath = "//office:master-styles";
            _validate = new ValidateXMLFile(styleOutput);
            content = "<style:master-page style:name=\"Standard\" style:page-layout-name=\"pm1\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" /><style:master-page style:name=\"First_20_Page\" style:display-name=\"First Page\" style:next-style-name=\"Left_20_Page\" style:page-layout-name=\"pm3\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" /><style:master-page style:name=\"Left_20_Page\" style:display-name=\"Left Page\" style:page-layout-name=\"pm4\" style:next-style-name=\"Right_20_Page\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:header><text:p text:style-name=\"Header\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:span text:style-name=\"MT1\"><text:variable-get text:name=\"Left_Guideword_L\" office:value-type=\"string\" xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" /></text:span><text:tab /><text:page-number text:select-page=\"current\">4</text:page-number><text:tab /><text:span text:style-name=\"MT1\"><text:variable-get text:name=\"Right_Guideword_R\" office:value-type=\"string\" xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" /></text:span></text:p></style:header></style:master-page><style:master-page style:name=\"Right_20_Page\" style:display-name=\"Right Page\" style:page-layout-name=\"pm5\" style:next-style-name=\"Left_20_Page\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:header><text:p text:style-name=\"Header\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:span text:style-name=\"MT1\"><text:variable-get text:name=\"Left_Guideword_L\" office:value-type=\"string\" xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" /></text:span><text:tab /><text:page-number text:select-page=\"current\">4</text:page-number><text:tab /><text:span text:style-name=\"MT1\"><text:variable-get text:name=\"Right_Guideword_R\" office:value-type=\"string\" xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" /></text:span></text:p></style:header><style:footer><text:p text:style-name=\"Footer\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:tab /><text:tab /><draw:frame draw:style-name=\"Mfr1\" draw:name=\"Frame1\" text:anchor-type=\"paragraph\" svg:y=\"56.3pt\" fo:min-width=\"135pt\" draw:z-index=\"1\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" xmlns:svg=\"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\" xmlns:draw=\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\"><draw:text-box fo:min-height=\"14.14pt\"><text:p text:style-name=\"MP1\"><text:span text:style-name=\"MT1\"><text:variable-get text:name=\"Right_Guideword_R\" office:value-type=\"string\" xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" /></text:span></text:p></draw:text-box></draw:frame></text:p></style:footer></style:master-page>";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "PageTest-master failed");

        }
        public void LineHeight_Node()
        {
            const string file = "LineHeight";
            _projInfo.ProjectInputType = "Dictionary";
            string styleOutput = GetStyleOutput(file);

            //Content Test - First
            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            _validate.ClassName = "t1_body";
            _validate.ClassNameTrim = false;
            string content = "Text t1";
            bool returnValue1 = _validate.ValidateOfficeTextNode(content, "para");
            Assert.IsTrue(returnValue1, "LineHeight - Content 1 Failure");

            _validate.ClassName = "inner1_t1_body";
            _validate.ClassNameTrim = false;
            content = "Text Inner1";
            returnValue1 = _validate.ValidateOfficeTextNode(content, "para");
            Assert.IsTrue(returnValue1, "LineHeight - Content 2 Failure");

            _validate.ClassName = "inner2_t1_body";
            _validate.ClassNameTrim = false;
            content = "Text Inner2";
            returnValue1 = _validate.ValidateOfficeTextNode(content, "para");
            Assert.IsTrue(returnValue1, "LineHeight - Content 3 Failure");

            _validate.ClassName = "inner3_t1_body";
            _validate.ClassNameTrim = false;
            content = "Text Inner3";
            returnValue1 = _validate.ValidateOfficeTextNode(content, "para");
            Assert.IsTrue(returnValue1, "LineHeight - Content 4 Failure");

            _validate.ClassName = "inner4_t1_body";
            _validate.ClassNameTrim = false;
            content = "Text Inner4";
            returnValue1 = _validate.ValidateOfficeTextNode(content, "para");
            Assert.IsTrue(returnValue1, "LineHeight - Content 5 Failure");

            _validate.ClassName = "noheight_t1_body";
            _validate.ClassNameTrim = false;
            content = "Line Height is None";
            returnValue1 = _validate.ValidateOfficeTextNode(content, "para");
            Assert.IsTrue(returnValue1, "LineHeight - Content 6 Failure");

            //Note - The Styles will be created while processing xhtml(content.xml)
            //Style Test - Second
            _validate = new ValidateXMLFile(styleOutput);
            _validate.ClassName = "inner1_t1_body";
            _validate.ClassProperty.Add("style:line-height-at-least", "48pt");
            bool returnValue = _validate.ValidateNodeAttributesNS(true);
            Assert.IsTrue(returnValue, "LineHeight - Style 1 Failure");

            _validate.ClassProperty.Add("fo:font-size", "24pt");
            _validate.ClassProperty.Add("fo:font-size-complex", "24pt");
            returnValue = _validate.ValidateNodeAttributesNS(false);
            Assert.IsTrue(returnValue, "LineHeight - Style 1a Failure");

            _validate.ClassName = "inner2_t1_body";
            _validate.ClassProperty.Add("style:line-height-at-least", "108pt");
            returnValue = _validate.ValidateNodeAttributesNS(true);
            Assert.IsTrue(returnValue, "LineHeight - Style 2 Failure");

            _validate.ClassName = "inner3_t1_body";
            _validate.ClassProperty.Add("style:line-height-at-least", "72pt");
            returnValue = _validate.ValidateNodeAttributesNS(true);
            Assert.IsTrue(returnValue, "LineHeight - Style 2 Failure");

            _validate.ClassProperty.Add("fo:font-size", "24pt");
            _validate.ClassProperty.Add("fo:font-size-complex", "24pt");
            returnValue = _validate.ValidateNodeAttributesNS(false);
            Assert.IsTrue(returnValue, "LineHeight - Style 1a Failure");

            _validate.ClassName = "inner4_t1_body";
            _validate.ClassProperty.Add("style:line-height-at-least", "108pt");
            returnValue = _validate.ValidateNodeAttributesNS(true);
            Assert.IsTrue(returnValue, "LineHeight - Style 2 Failure");

            _validate.ClassName = "noheight_t1_body";
            _validate.ClassProperty.Add("fo:color", "#ffa500");
            returnValue = _validate.ValidateNodeAttributesNS(false);
            Assert.IsTrue(returnValue, "LineHeight - Style 2 Failure");

            string xpath = "//style:style[@style:name='normal_inner1_t1_body']";
            _validate.ClassName = string.Empty;
            _validate.GetOuterXml = true;
            string inner =
                "<style:style xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" style:name=\"normal_inner1_t1_body\" style:family=\"paragraph\" style:parent-style-name=\"inner1_t1_body\"><style:paragraph-properties style:line-height-at-least=\"24pt\" /><style:text-properties fo:color=\"#ffa500\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style>";

            returnValue = _validate.ValidateNodeInnerXml(xpath, inner);
            Assert.IsTrue(returnValue);

        }
        public void ListOlUl_Node()
        {
            _projInfo.ProjectInputType = "Dictionary";
            const string file = "ListOlUl";
            string styleOutput = GetStyleOutput(file);

            //Content Test - First
            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            _validate.ClassName = string.Empty;
            _validate.ClassNameTrim = false;
            string content = "one1 ";
            string xpath = "//text:list[@text:style-name='ol.a2']/text:list-item/text:p[@text:style-name='li.ol_ol.a2_section_body']";
            _validate.GetInnerText = true;
            bool returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Content 1 Failure");

            xpath = "//text:list[@text:style-name='ol.a3']/text:list-item/text:p[@text:style-name='li.ol_ol.a3_section_body']";
            _validate.GetInnerText = true;
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Content 1 Failure");

            xpath = "//text:list[@text:style-name='ol.a4']/text:list-item/text:p[@text:style-name='li.ol_ol.a4_section_body']";
            _validate.GetInnerText = true;
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Content 1 Failure");

            xpath = "//text:list[@text:style-name='ol.a5']/text:list-item/text:p[@text:style-name='li.ol_ol.a5_section_body']";
            _validate.GetInnerText = true;
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Content 1 Failure");

            xpath = "//text:list[@text:style-name='ol.a6']/text:list-item/text:p[@text:style-name='li.ol_ol.a6_section_body']";
            _validate.GetInnerText = true;
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Content 1 Failure");

            xpath = "//text:list[@text:style-name='ol.a7']/text:list-item/text:p[@text:style-name='li.ol_ol.a7_section_body']";
            _validate.GetInnerText = true;
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Content 1 Failure");

            xpath = "//text:list[@text:style-name='ol.a8']/text:list-item/text:p[@text:style-name='li.ol_ol.a8_section_body']";
            _validate.GetInnerText = true;
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Content 1 Failure");

            xpath = "//text:list[@text:style-name='ol.a9']/text:list-item/text:p[@text:style-name='li.ol_ol.a9_section_body']";
            _validate.GetInnerText = true;
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Content 1 Failure");

            //Note - The Styles will be created while processing xhtml(content.xml)
            //Style Test - Second
            _validate = new ValidateXMLFile(styleOutput);
            _validate.ClassName = string.Empty;
            content = "<text:list-level-style-bullet text:level=\"1\" text:style-name=\"Bullet_20_Symbols\" style:num-suffix=\".\" text:bullet-char=\"" + Common.ConvertUnicodeToString("\\2022") + "\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><style:list-level-properties text:list-level-position-and-space-mode=\"label-alignment\"><style:list-level-label-alignment text:label-followed-by=\"listtab\" text:list-tab-stop-position=\"0.5in\" fo:text-indent=\"-0.25in\" fo:margin-left=\"0.5in\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:list-level-properties></text:list-level-style-bullet>";
            xpath = "//text:list-style[@style:name='ol.a2']";
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Style 1 Failure");

            content = "<text:list-level-style-bullet text:level=\"1\" text:style-name=\"Bullet_20_Symbols\" style:num-suffix=\".\" text:bullet-char=\"" + Common.ConvertUnicodeToString("\\25E6") + "\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><style:list-level-properties text:list-level-position-and-space-mode=\"label-alignment\"><style:list-level-label-alignment text:label-followed-by=\"listtab\" text:list-tab-stop-position=\"0.5in\" fo:text-indent=\"-0.25in\" fo:margin-left=\"0.5in\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:list-level-properties></text:list-level-style-bullet>";
            xpath = "//text:list-style[@style:name='ol.a3']";
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Style 1 Failure");

            content = "<text:list-level-style-bullet text:level=\"1\" text:style-name=\"Bullet_20_Symbols\" style:num-suffix=\".\" text:bullet-char=\"" + Common.ConvertUnicodeToString("\\25AA") + "\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><style:list-level-properties text:list-level-position-and-space-mode=\"label-alignment\"><style:list-level-label-alignment text:label-followed-by=\"listtab\" text:list-tab-stop-position=\"0.5in\" fo:text-indent=\"-0.25in\" fo:margin-left=\"0.5in\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:list-level-properties></text:list-level-style-bullet>";
            xpath = "//text:list-style[@style:name='ol.a4']";
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Style 1 Failure");

            content = "<text:list-level-style-number text:level=\"1\" text:style-name=\"Numbering_20_Symbols\" style:num-suffix=\".\" style:num-format=\"1\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><style:list-level-properties text:list-level-position-and-space-mode=\"label-alignment\"><style:list-level-label-alignment text:label-followed-by=\"listtab\" text:list-tab-stop-position=\"0.5in\" fo:text-indent=\"-0.25in\" fo:margin-left=\"0.5in\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:list-level-properties></text:list-level-style-number>";
            xpath = "//text:list-style[@style:name='ol.a5']";
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Style 1 Failure");

            content = "<text:list-level-style-number text:level=\"1\" text:style-name=\"Numbering_20_Symbols\" style:num-suffix=\".\" style:num-format=\"i\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><style:list-level-properties text:list-level-position-and-space-mode=\"label-alignment\"><style:list-level-label-alignment text:label-followed-by=\"listtab\" text:list-tab-stop-position=\"0.5in\" fo:text-indent=\"-0.25in\" fo:margin-left=\"0.5in\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:list-level-properties></text:list-level-style-number>";
            xpath = "//text:list-style[@style:name='ol.a6']";
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Style 1 Failure");

            content = "<text:list-level-style-number text:level=\"1\" text:style-name=\"Numbering_20_Symbols\" style:num-suffix=\".\" style:num-format=\"I\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><style:list-level-properties text:list-level-position-and-space-mode=\"label-alignment\"><style:list-level-label-alignment text:label-followed-by=\"listtab\" text:list-tab-stop-position=\"0.5in\" fo:text-indent=\"-0.25in\" fo:margin-left=\"0.5in\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:list-level-properties></text:list-level-style-number>";
            xpath = "//text:list-style[@style:name='ol.a7']";
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Style 1 Failure");

            content = "<text:list-level-style-number text:level=\"1\" text:style-name=\"Numbering_20_Symbols\" style:num-suffix=\".\" style:num-format=\"a\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><style:list-level-properties text:list-level-position-and-space-mode=\"label-alignment\"><style:list-level-label-alignment text:label-followed-by=\"listtab\" text:list-tab-stop-position=\"0.5in\" fo:text-indent=\"-0.25in\" fo:margin-left=\"0.5in\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:list-level-properties></text:list-level-style-number>";
            xpath = "//text:list-style[@style:name='ol.a8']";
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Style 1 Failure");

            content = "<text:list-level-style-number text:level=\"1\" text:style-name=\"Numbering_20_Symbols\" style:num-suffix=\".\" style:num-format=\"A\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><style:list-level-properties text:list-level-position-and-space-mode=\"label-alignment\"><style:list-level-label-alignment text:label-followed-by=\"listtab\" text:list-tab-stop-position=\"0.5in\" fo:text-indent=\"-0.25in\" fo:margin-left=\"0.5in\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:list-level-properties></text:list-level-style-number>";
            xpath = "//text:list-style[@style:name='ol.a9']";
            returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue, "ListOlUl - Style 1 Failure");
        }
        public void FootNoteFormat_Node()
        {
            const string file = "FootNoteFormat";
            _projInfo.ProjectInputType = "Dictionary";
            string styleOutput = GetStyleOutput(file);
            //text:n ote text:id="ftn1"
            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            string xpath = "//text:note[@text:id='ftn1']";
            _validate.ClassName = string.Empty;
            _validate.GetOuterXml = true;

            string content = "<text:note text:id=\"ftn1\" text:note-class=\"footnote\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:note-citation text:label=\"a\">a</text:note-citation><text:note-body><text:p text:style-name=\"NoteGeneralParagraph\"><text:span text:style-name=\"NoteGeneralParagraph..footnote-marker\">1:1 = </text:span><text:span text:style-name=\"AlternateReading_NoteGeneralParagraph_Paragraph_scrSection_scrBook_scrBody\">Les juges:</text:span><text:span text:style-name=\"span_.x-kal_NoteGeneralParagraph_Paragraph_scrSection_scrBook_scrBody\">poque de leur histoire, les par des juges. des personnes par Dieu. Dieu les chargeait plus de une ou plusieurs tribus en guerre et de diriger le peuple. Ils rendaient aussi la justice. </text:span><text:span text:style-name=\"AlternateReading_NoteGeneralParagraph_Paragraph_scrSection_scrBook_scrBody\">Moab:</text:span><text:span text:style-name=\"span_.x-kal_NoteGeneralParagraph_Paragraph_scrSection_scrBook_scrBody\">pays fertile situest de la mer Morte.</text:span></text:p></text:note-body></text:note>";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "FootNoteFormat - Content Failure");
        }
        public void Body()
        {
            const string file = "body";
            _projInfo.ProjectInputType = "Scripture";
            string styleOutput = GetStyleOutput(file);

            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            string xpath = "//text:p[@text:style-name='cover_body']";
            _validate.ClassName = string.Empty;
            _validate.GetOuterXml = true;
            string content = "<text:p text:style-name=\"cover_body\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">body </text:p>";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Body - Content Failure");
        }
        public void FootnoteSpanContent_Node()
        {
            const string file = "FootnoteSpanContent";
            _projInfo.ProjectInputType = "Scripture";
            string styleOutput = GetStyleOutput(file);

            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            string xpath = "//text:note/text:note-body/text:p[@text:style-name='NoteGeneralParagraph']";
            _validate.ClassName = string.Empty;
            _validate.GetOuterXml = true;
            string content = "<text:p text:style-name=\"NoteGeneralParagraph\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:span text:style-name=\"NoteGeneralParagraph..footnote-marker\">21:1 </text:span><text:span text:style-name=\"AlternateReading_NoteGeneralParagraph_Paragraph_scrSection_columns_scrBook_scrBody\">converted-values </text:span><text:span text:style-name=\"span_.zxx_NoteGeneralParagraph_Paragraph_scrSection_columns_scrBook_scrBody\">You can use the add spaces button to separate the Unicode characters.</text:span></text:p>";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "FootNote - Content Failure");
        }
 public void HomographSpaceNode()
 {
     const string file = "HomographSpace";
     _projInfo.ProjectInputType = "Dictionary";
     string styleOutput = GetStyleOutput(file);
     _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
     _validate.GetInnerText = true;
     string xpath = "//text:p[@text:style-name='letData_dicBody']";
     string content = "slllep";
     bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
     Assert.IsTrue(returnValue1, "Hard Space after versenumber test failed");
 }
		public void PageTestTitle()
		{
			_projInfo.ProjectInputType = "Dictionary";
			const string file = "PageTest";
			_index = 10;
			string styleOutput = GetStyleOutput(file);
			_index = 0; // reset
			string xpath = "//office:automatic-styles";
			_validate = new ValidateXMLFile(styleOutput);
			string content = string.Empty;
			content = "<style:style style:name=\"PageHeaderFooter0\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter1\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter2\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter3\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter4\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter5\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter12\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties fo:font-weight=\"700\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style><style:style style:name=\"PageHeaderFooter13\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties content=\"IBAN -- ENGLISH\" style:writing-mode=\"lr-tb\" fo:font-family=\"Verdana\" style:font-name-complex=\"Verdana\" fo:font-weight=\"400\" fo:font-size=\"11pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style><style:style style:name=\"PageHeaderFooter14\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter15\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter16\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter17\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter18\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter19\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter20\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter21\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter22\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"PageHeaderFooter23\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties /></style:style><style:style style:name=\"MP1\" style:family=\"paragraph\" style:parent-style-name=\"Frame_20_contents\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:paragraph-properties fo:text-align=\"start\" style:justify-single-word=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:style><style:style style:name=\"MT1\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties style:font-name=\"Times New Roman\" style:font-name-asian=\"Times New Roman\" style:font-name-complex=\"Times New Roman\" /></style:style><style:style style:name=\"MT2\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties style:font-name=\"Times New Roman\" style:font-name-asian=\"Times New Roman\" style:font-name-complex=\"Times New Roman\" /></style:style><style:style style:name=\"MT3\" style:family=\"text\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:text-properties style:font-name=\"Charis SIL\" style:font-name-asian=\"Charis SIL\" style:font-name-complex=\"Charis SIL\" /></style:style><style:style style:name=\"Mfr1\" style:family=\"graphic\" style:parent-style-name=\"Frame\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:graphic-properties style:vertical-pos=\"from-top\" style:vertical-rel=\"page\" style:horizontal-pos=\"left\" style:horizontal-rel=\"paragraph\" fo:background-color=\"transparent\" style:background-transparency=\"100%\" fo:padding=\"0in\" fo:border=\"none\" style:shadow=\"none\" style:flow-with-text=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /><style:columns fo:column-count=\"1\" fo:column-gap=\"0in\" /></style:graphic-properties></style:style><style:style style:name=\"Mfr3\" style:family=\"graphic\" style:parent-style-name=\"Frame\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:graphic-properties style:vertical-pos=\"from-top\" style:vertical-rel=\"page\" style:horizontal-pos=\"center\" style:horizontal-rel=\"paragraph\" fo:background-color=\"transparent\" style:background-transparency=\"100%\" fo:padding=\"0in\" fo:border=\"none\" style:shadow=\"none\" style:flow-with-text=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /><style:columns fo:column-count=\"1\" fo:column-gap=\"0in\" /></style:graphic-properties></style:style><style:page-layout style:name=\"pm1\" style:page-usage=\"mirrored\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#ff0000\" fo:page-width=\"419.5276pt\" fo:page-height=\"595.2756pt\" fo:margin-top=\"85.03937pt\" fo:margin-right=\"85.03937pt\" fo:margin-bottom=\"85.03937pt\" fo:margin-left=\"85.03937pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:footnote-sep style:distance-before-sep=\"0.0398in\" style:distance-after-sep=\"0.0398in\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" /></style:page-layout-properties><style:header-style /><style:footer-style /></style:page-layout><style:page-layout style:name=\"pm2\" style:page-usage=\"mirrored\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#ff0000\" fo:page-width=\"419.5276pt\" fo:page-height=\"595.2756pt\" fo:margin-top=\"85.03937pt\" fo:margin-right=\"85.03937pt\" fo:margin-bottom=\"85.03937pt\" fo:margin-left=\"85.03937pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /></style:page-layout-properties><style:header-style><style:header-footer-properties fo:margin-bottom=\"14.21pt\" fo:min-height=\"28.42pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:header-style><style:footer-style><style:header-footer-properties fo:margin-bottom=\"0.0pt\" fo:min-height=\"0.0pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:footer-style></style:page-layout><style:page-layout style:name=\"pm3\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#0000ff\" fo:page-width=\"419.5276pt\" fo:page-height=\"595.2756pt\" fo:margin-top=\"85.03937pt\" fo:margin-right=\"85.03937pt\" fo:margin-bottom=\"85.03937pt\" fo:margin-left=\"85.03937pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /><style:footnote-sep style:distance-before-sep=\"0.0398in\" style:distance-after-sep=\"0.0398in\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" /></style:page-layout-properties><style:header-style><style:header-footer-properties fo:margin-bottom=\"14.21pt\" fo:min-height=\"28.42pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:header-style><style:footer-style><style:header-footer-properties fo:margin-bottom=\"0.0pt\" fo:min-height=\"0.0pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:footer-style></style:page-layout><style:page-layout style:name=\"pm6\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#ff0000\" fo:page-width=\"419.5276pt\" fo:page-height=\"595.2756pt\" fo:margin-top=\"85.03937pt\" fo:margin-right=\"85.03937pt\" fo:margin-bottom=\"85.03937pt\" fo:margin-left=\"85.03937pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /><style:footnote-sep style:distance-before-sep=\"0.0398in\" style:distance-after-sep=\"0.0398in\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" /></style:page-layout-properties><style:header-style /><style:footer-style><style:header-footer-properties fo:margin-bottom=\"0.0pt\" fo:min-height=\"0.0pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:footer-style></style:page-layout><style:page-layout style:name=\"pm4\" style:page-usage=\"mirrored\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#008000\" fo:page-width=\"419.5276pt\" fo:page-height=\"595.2756pt\" fo:margin-top=\"85.03937pt\" fo:margin-right=\"85.03937pt\" fo:margin-bottom=\"85.03937pt\" fo:margin-left=\"85.03937pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /><style:footnote-sep style:distance-before-sep=\"0.0398in\" style:distance-after-sep=\"0.0398in\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" /></style:page-layout-properties><style:header-style><style:header-footer-properties fo:margin-bottom=\"14.21pt\" fo:min-height=\"28.42pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:header-style><style:footer-style><style:header-footer-properties fo:margin-bottom=\"0.0pt\" fo:min-height=\"10.8pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:footer-style></style:page-layout><style:page-layout style:name=\"pm5\" style:page-usage=\"mirrored\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#ff0000\" fo:page-width=\"419.5276pt\" fo:page-height=\"595.2756pt\" fo:margin-top=\"85.03937pt\" fo:margin-right=\"85.03937pt\" fo:margin-bottom=\"85.03937pt\" fo:margin-left=\"85.03937pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /><style:footnote-sep style:distance-before-sep=\"0.0398in\" style:distance-after-sep=\"0.0398in\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" /></style:page-layout-properties><style:header-style><style:header-footer-properties fo:margin-bottom=\"14.21pt\" fo:min-height=\"28.42pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:header-style><style:footer-style><style:header-footer-properties fo:margin-bottom=\"0.0pt\" fo:min-height=\"0.0pt\" fo:margin-left=\"0pt\" fo:margin-right=\"0pt\" style:dynamic-spacing=\"false\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:footer-style></style:page-layout><style:page-layout style:name=\"pm12\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#ff0000\" fo:page-width=\"419.5276pt\" fo:page-height=\"595.2756pt\" fo:margin-top=\"85.03937pt\" fo:margin-right=\"85.03937pt\" fo:margin-bottom=\"85.03937pt\" fo:margin-left=\"85.03937pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:page-layout><style:page-layout style:name=\"pm13\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#ff0000\" fo:page-width=\"419.5276pt\" fo:page-height=\"595.2756pt\" fo:margin-top=\"85.03937pt\" fo:margin-right=\"85.03937pt\" fo:margin-bottom=\"85.03937pt\" fo:margin-left=\"85.03937pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" /></style:page-layout><style:page-layout style:name=\"pm7\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:page-layout-properties fo:background-color=\"#0000ff\" fo:page-width=\"419.5276pt\" fo:page-height=\"595.2756pt\" fo:margin-top=\"85.03937pt\" fo:margin-right=\"85.03937pt\" fo:margin-bottom=\"85.03937pt\" fo:margin-left=\"85.03937pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><style:background-image /><style:footnote-sep style:distance-before-sep=\"0.0398in\" style:distance-after-sep=\"0.0398in\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" /></style:page-layout-properties></style:page-layout>";
			bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
			Assert.IsTrue(returnValue1, "PageTest failed");

			xpath = "//office:master-styles";
			_validate = new ValidateXMLFile(styleOutput);
			content = "<style:master-page style:name=\"Standard\" style:page-layout-name=\"pm1\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" /><style:master-page style:name=\"Cover_20_Page\" style:display-name=\"Cover Page\" style:next-style-name=\"Title_20_Page\" style:page-layout-name=\"pm1\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" /><style:master-page style:name=\"Dummy_20_Page\" style:display-name=\"Dummy Page\" style:next-style-name=\"Title_20_Page\" style:page-layout-name=\"pm12\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" /><style:master-page style:name=\"Title_20_Page\" style:display-name=\"Title Page\" style:next-style-name=\"TableofContents_20_Page\" style:page-layout-name=\"pm7\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" /><style:master-page style:name=\"Dummy_20_Page\" style:display-name=\"Dummy Page\" style:next-style-name=\"TableofContents_20_Page\" style:page-layout-name=\"pm12\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" /><style:master-page style:name=\"TableofContents_20_Page\" style:display-name=\"TableofContents Page\" style:next-style-name=\"First_20_Page\" style:page-layout-name=\"pm7\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><style:footer><text:p text:style-name=\"Footer\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\"><text:tab /><text:page-number style:num-format=\"i\" text:select-page=\"current\">xv</text:page-number></text:p></style:footer></style:master-page><style:master-page style:name=\"Dummy_20_Page\" style:display-name=\"Dummy Page\" style:next-style-name=\"First_20_Page\" style:page-layout-name=\"pm12\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" /><style:master-page style:name=\"First_20_Page\" style:display-name=\"First Page\" style:next-style-name=\"Left_20_Page\" style:page-layout-name=\"pm3\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" /><style:master-page style:name=\"Left_20_Page\" style:display-name=\"Left Page\" style:page-layout-name=\"pm4\" style:next-style-name=\"Right_20_Page\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\"><text:tab xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" /><text:span text:style-name=\"MT1\" style:horizontal-pos=\"center\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">IBAN -- ENGLISH</text:span></style:master-page><style:master-page style:name=\"Right_20_Page\" style:display-name=\"Right Page\" style:page-layout-name=\"pm5\" style:next-style-name=\"Left_20_Page\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" />";
			returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
			Assert.IsTrue(returnValue1, "PageTest-master failed");
		}
        public void SpaceIssueOnSenseNode()
        {
            const string file = "SpaceIssueOnSense";
            _projInfo.ProjectInputType = "Dictionary";
            string styleOutput = GetStyleOutput(file);
            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            _validate.GetInnerText = true;
            string xpath = "//text:p[@text:style-name='entry_letData_dicBody'][1]";
            string content = "bel n 14. 1) war. 2) fighting. 3) bloodshed. 4) spectacle (something which pulls crowds). You can use the add spaces button to separate... because of the trouble which began in the city...";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Hard Space after versenumber test failed");

            xpath = "//text:p[@text:style-name='entry_letData_dicBody'][2]";
            content = "be1 pro. they, them, it, pronoun for nouns of classes 2,8,14 and 19.";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Hard Space after versenumber test failed");

            xpath = "//text:p[@text:style-name='entry_letData_dicBody'][3]";
            content = "be2 1) conj. and. 2) with. the trouble. He and the child went. / He went with the child.";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Hard Space after versenumber test failed");
        }
        public void DictionaryT9Test()
        {
            const string file = "t9";
            _projInfo.ProjectInputType = "Dictionary";
            string styleOutput = GetStyleOutput(file);

            //Content Test - First
            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            _validate.ClassName = string.Empty;
            string xpath = "//draw:frame";
            //_validate.GetInnerText = true;
            _validate.GetOuterXml = true;
            string content = "<draw:frame draw:style-name=\"fr2\" draw:name=\"Frame2\" text:anchor-type=\"paragraph\" draw:z-index=\"1\" svg:height=\"72pt\" xmlns:svg=\"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" xmlns:draw=\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\"><draw:text-box fo:min-height=\"1in\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\"><draw:frame draw:style-name=\"gr2\" draw:name=\"Graphics2\" text:anchor-type=\"paragraph\" svg:height=\"72pt\"><draw:image xlink:type=\"simple\" xlink:show=\"embed\" xlink:actuate=\"onLoad\" xlink:href=\"Pictures/nowaitress.jpg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" /><svg:title>nowaitress.jpg</svg:title></draw:frame><text:span text:style-name=\"caption_image_sense_article_sectionletter_dictionary\">a waitress</text:span></draw:text-box></draw:frame>";
            bool returnValue = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue);
        }
        public void KeepImageExtension()
        {
            const string file = "KeepImageExtension";
            _projInfo.ProjectInputType = "Dictionary";
            string styleOutput = GetStyleOutput(file);

            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            string xpath = "//draw:frame[@draw:style-name='gr2']/draw:image";
            _validate.ClassName = string.Empty;
            _validate.GetOuterXml = true;
            string content = "<draw:image xlink:type=\"simple\" xlink:show=\"embed\" xlink:actuate=\"onLoad\" xlink:href=\"Pictures/kitchen cooking.tif\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:draw=\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\" />";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Keep Image Extension test failed");
        }
        public void FootnoteSeperator_Node()
        {
            const string file = "FootnoteSeperator";
            _projInfo.ProjectInputType = "Scripture";
            string styleOutput = GetStyleOutput(file);

            _validate = new ValidateXMLFile(styleOutput);

            string content = string.Empty;



            string xpath = "//office:automatic-styles/style:page-layout[@style:name='pm1']/style:page-layout-properties/style:footnote-sep";

            bool result = Common.UnixVersionCheck();

            if (result)  // from the file access
            {
                content = "<style:footnote-sep style:distance-before-sep=\"0.0398in\" style:distance-after-sep=\"0.0398in\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" />";
            }
            else
            {
                content = "<style:footnote-sep style:width=\"0.0071in\" style:line-style=\"solid\" style:distance-before-sep=\"30%\" style:distance-after-sep=\"30%\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" />";
            }
            _validate.GetOuterXml = true;
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "FootnoteSeperator test failed");

            if (result)  // from the file access
            {
                xpath = "//office:automatic-styles/style:page-layout[@style:name='pm6']/style:page-layout-properties/style:footnote-sep";
                content = "<style:footnote-sep style:distance-before-sep=\"0.0398in\" style:distance-after-sep=\"0.0398in\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" />";
            }
            else
            {
                xpath = "//office:automatic-styles/style:page-layout[@style:name='pm5']/style:page-layout-properties/style:footnote-sep";
                content = "<style:footnote-sep style:width=\"0.0071in\" style:line-style=\"solid\" style:distance-before-sep=\"30%\" style:distance-after-sep=\"30%\" style:color=\"#000000\" style:adjustment=\"centre\" style:rel-width=\"100%\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" />";
            }
            _validate.GetOuterXml = true;
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "FootnoteSeperator test failed");

        }
        public void Paragraph()
        {
            const string file = "para";
            _projInfo.ProjectInputType = "Scripture";
            string styleOutput = GetStyleOutput(file);

            _validate = new ValidateXMLFile(styleOutput);

            string xpath = "//style:style[@style:name='p.first_body']/style:paragraph-properties";
            string content = "<style:paragraph-properties fo:padding-top=\"12pt\" fo:border-bottom=\"0.5pt solid #ffffff\" fo:border-top=\"0.5pt solid #ffffff\" fo:border-left=\"0.5pt solid #ffffff\" fo:border-right=\"0.5pt solid #ffffff\" fo:padding-bottom=\"12pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" />";
            _validate.GetOuterXml = true;
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "reference-ref failed");

            xpath = "//style:style[@style:name='p_body']/style:paragraph-properties";
            content = "<style:paragraph-properties fo:padding-top=\"12pt\" fo:border-bottom=\"0.5pt solid #ffffff\" fo:border-top=\"0.5pt solid #ffffff\" fo:border-left=\"0.5pt solid #ffffff\" fo:border-right=\"0.5pt solid #ffffff\" fo:padding-bottom=\"12pt\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" />";
            _validate.GetOuterXml = true;
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "reference-ref failed");
        }
        public void ReferenceMarkNode()
        {
            const string file = "ReferenceMark";
            _projInfo.ProjectInputType = "Scripture";
            string styleOutput = GetStyleOutput(file);

            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);

            string xpath = "//text:span[@text:style-name='scrFootnoteMarker_Paragraph_scrSection_columns_scrBook_scrBody']/text:a[@xlink:href='#fbcf3087e-dcad-43bc-ba61-1ca2f4ffbb63']";
            string content = "Reference here";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Reference with text test failed");

            xpath = "//text:span[@text:style-name='AlternateReading_Test3_Paragraph_scrSection_columns_scrBook_scrBody']";
            content = "<text:bookmark-start text:name=\"fbcf3087e-dcad-43bc-ba61-1ca2f4ffbb36\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" /><text:bookmark-end text:name=\"fbcf3087e-dcad-43bc-ba61-1ca2f4ffbb36\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" />Child";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Reference without text test failed");

        }
        public void CrossReference_Node()
        {
            const string file = "CrossRef";
            _projInfo.ProjectInputType = "Dictionary";
            string styleOutput = GetStyleOutput(file);

            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            _validate.ClassName = string.Empty;
            string xpath = "//text:span[@text:style-name='link_entry_letData_dicBody']";
            string content = "<text:a xlink:type=\"simple\" xlink:href=\"#nema1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">nema1 source</text:a>";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "reference-ref failed");

            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            _validate.ClassName = string.Empty;
            xpath = "//text:span[@text:style-name='headword1_.bzh_a_entry_letData_dicBody']";
            content = "<text:bookmark-start text:name=\"nema3\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" /><text:bookmark-end text:name=\"nema3\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" />nema3 text";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "reference-ref failed");
        }
        public void FootnoteVerseNumberNode1()
        {
            const string file = "FootnoteVerseNumber";
            _projInfo.ProjectInputType = "Scripture";
            string styleOutput = GetStyleOutput(file);

            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            _validate.GetInnerText = true;
            string xpath = "//text:note[@text:id='ftn1']/text:note-body/text:p[@text:style-name='NoteGeneralParagraph']";
            string content = "21:1-2 = Nf-nyb igyi obubw Olifb.";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "First footnote versenumber test failed");

            xpath = "//text:note[@text:id='ftn2']/text:note-body/text:p[@text:style-name='NoteGeneralParagraph']";
            content = "21:44 = You can use the add spaces button .";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "Second footnote versenumber test failed");

        }
Exemple #25
0
        public void SinglePageRefTest_Node()
        {

            const string file = "SinglePageRef";

            string input = FileInput(file + ".css");
            string output = FileOutput(file + "styles.xml");
            GetCssClass(input, output);

            // Note - single node test
            _validate = new ValidateXMLFile(output);
            _validate.ClassName = "PageHeaderFooter12";
            _validate.ClassProperty.Add("fo:font-weight", "700");

            returnValue = _validate.ValidateNodeAttributesNS(false);
            Assert.IsTrue(returnValue);

            _validate = new ValidateXMLFile(output);
            _validate.ClassName = "PageHeaderFooter14";
            _validate.ClassProperty.Add("fo:font-weight", "700");

            returnValue = _validate.ValidateNodeAttributesNS(false);
            Assert.IsTrue(returnValue);

            //style:master-page style:name="First_20_Page"
            //Third Node
            //XPath = "//style:style[@style:name='" + ClassName + "']";
            //string xpath = "//style:master-page[style:name=\"First_20_Page\"]";
            string xpath = "//style:master-page[@style:name='Left_20_Page']";
            _validate.ClassName = string.Empty;
            string inner =
                //"<text:p text:style-name=\"Header\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">" +
                "<style:header xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\">" +
                "<text:p text:style-name=\"Header\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">" +
                "<text:span text:style-name=\"PageHeaderFooter12\">" +
                "<text:chapter text:display=\"name\" text:outline-level=\"9\" />" +
                "</text:span>" +
                "<text:tab />" +
                "<text:span text:style-name=\"PageHeaderFooter13\">" +
                "<text:page-number text:select-page=\"current\">4</text:page-number>" +
                "</text:span>" +
                "<text:tab />" +
                "<text:span text:style-name=\"PageHeaderFooter14\">" +
                "<text:chapter text:display=\"name\" text:outline-level=\"10\" />" +
                "</text:span>" +
                "</text:p>" +
                "</style:header>";

            returnValue = _validate.ValidateNodeInnerXml(xpath, inner);
            Assert.IsTrue(returnValue);

            xpath = "//style:master-page[@style:name='Right_20_Page']";
            _validate.ClassName = string.Empty;
            inner =
                //"<text:p text:style-name=\"Header\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">" +
                "<style:header xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\">" +
                "<text:p text:style-name=\"Header\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">" +
                "<text:span text:style-name=\"PageHeaderFooter18\">" +
                "<text:chapter text:display=\"name\" text:outline-level=\"9\" />" +
                "</text:span>" +
                "<text:tab />" +
                "<text:span text:style-name=\"PageHeaderFooter19\">" +
                "<text:page-number text:select-page=\"current\">4</text:page-number>" +
                "</text:span>" +
                "<text:tab />" +
                "<text:span text:style-name=\"PageHeaderFooter20\">" +
                "<text:chapter text:display=\"name\" text:outline-level=\"10\" />" +
                "</text:span>" +
                "</text:p>" +
                "</style:header>";

            returnValue = _validate.ValidateNodeInnerXml(xpath, inner);
            Assert.IsTrue(returnValue);
        }
        public void GlossaryReferenceTitleNode()
        {
            const string file = "GlossaryReferenceTitle";
            _projInfo.ProjectInputType = "Scripture";
            string styleOutput = GetStyleOutput(file);
            _validate = new ValidateXMLFile(_projInfo.TempOutputFolder);
            string xpath = "//text:p[1]/text:span[@text:style-name='SeeInGlossary_Paragraph_scrSection_scrBook_scrBody']";
            string content = "<text:bookmark-start text:name=\"k_3\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" /><text:bookmark-ref text:reference-format=\"text\" text:ref-name=\"sample text\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">Abraham</text:bookmark-ref><text:bookmark-end text:name=\"k_3\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" />";
            bool returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "FootNote - Content Failure");

            xpath = "//text:p[2]/text:span[@text:style-name='SeeInGlossary_Paragraph_scrSection_scrBook_scrBody']";
            content = "<text:bookmark-start text:name=\"sample text\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" /><text:bookmark-ref text:reference-format=\"text\" text:ref-name=\"k_3\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\">Abraham</text:bookmark-ref><text:bookmark-end text:name=\"sample text\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" />";
            returnValue1 = _validate.ValidateNodeInnerXml(xpath, content);
            Assert.IsTrue(returnValue1, "FootNote - Content Failure");
        }