protected XElement ParseSdt(ITagProcessor parentProcessor, XElement sdtElement) { ITagParser parser = null; switch (this.GetTagName(sdtElement).ToLower()) { case "htmlcontent": parser = new HtmlContentParser(); break; case "text": parser = new TextParser(); break; case "table": parser = new TableParser(); break; case "repeater": parser = new RepeaterParser(); break; case "if": parser = new IfParser(); break; } return parser != null ? parser.Parse(parentProcessor, sdtElement) : sdtElement; }
public void TestParseFooter() { using (var docStream = AssemblyResourceHelper.GetResourceStream(this, "TextParserTest_footer.xml")) { var doc = XDocument.Load(docStream); var processorMock = new TagProcessorMock<TextProcessor>(); var parser = new TextParser(); parser.Parse(processorMock, doc.Descendants(WordMl.SdtName).First()); var processor = processorMock.InnerProcessor; var tag = processor.TextTag; Assert.IsNotNull(tag); Assert.AreEqual("//test/text", tag.Expression); } }