private static Epub3NavAnchor ReadEpub3NavAnchor(XElement epub3NavAnchorNode) { Epub3NavAnchor epub3NavAnchor = new Epub3NavAnchor(); foreach (XAttribute navAnchorNodeAttribute in epub3NavAnchorNode.Attributes()) { string attributeValue = navAnchorNodeAttribute.Value; switch (navAnchorNodeAttribute.GetLowerCaseLocalName()) { case "href": epub3NavAnchor.Href = attributeValue; break; case "title": epub3NavAnchor.Title = attributeValue; break; case "alt": epub3NavAnchor.Alt = attributeValue; break; case "type": epub3NavAnchor.Type = StructuralSemanticsPropertyParser.Parse(attributeValue); break; } } epub3NavAnchor.Text = epub3NavAnchorNode.Value.Trim(); return(epub3NavAnchor); }
private static Epub3Nav ReadEpub3Nav(XElement navNode) { Epub3Nav epub3Nav = new Epub3Nav(); foreach (XAttribute navNodeAttribute in navNode.Attributes()) { string attributeValue = navNodeAttribute.Value; switch (navNodeAttribute.GetLowerCaseLocalName()) { case "type": epub3Nav.Type = StructuralSemanticsPropertyParser.Parse(attributeValue); break; case "hidden": epub3Nav.IsHidden = true; break; } } foreach (XElement navChildNode in navNode.Elements()) { switch (navChildNode.GetLowerCaseLocalName()) { case "h1": case "h2": case "h3": case "h4": case "h5": case "h6": epub3Nav.Head = navChildNode.Value.Trim(); break; case "ol": Epub3NavOl epub3NavOl = ReadEpub3NavOl(navChildNode); epub3Nav.Ol = epub3NavOl; break; } } return(epub3Nav); }