Ejemplo n.º 1
0
 public Nav() : base(
         XDocument.Parse(Resources.nav)
         .Descendants(EpubBook.XHtmlNs + "nav")
         .SingleOrDefault(a => a.Attribute(EpubBook.EpubNs + "type")?.Value == "toc")
         .Element(EpubBook.XHtmlNs + "ol")
         )
 {
     this.NavGuide = new(this.BaseElement.Document);
 }
Ejemplo n.º 2
0
        public Nav(string content) : base(
                XDocument.Parse(content)
                .Descendants(EpubBook.XHtmlNs + "nav")
                .SingleOrDefault(a => a.Attribute(EpubBook.EpubNs + "type")?.Value == "toc")
                .Element(EpubBook.XHtmlNs + "ol")
                )
        {
            var guide = this.BaseElement.Document
                        .Descendants(EpubBook.XHtmlNs + "nav")
                        .SingleOrDefault(a => a.Attribute(EpubBook.EpubNs + "type")?.Value == "landmarks");

            if (guide == default)
            {
                var contentElement = XElement.Parse(Resources.navGuideCover);
                contentElement.FirstAttribute.Remove();
                contentElement.FirstAttribute.Remove();
                var body = this.BaseElement.Document.Descendants(EpubBook.XHtmlNs + "body").First();
                body.Add(contentElement);
            }

            this.NavGuide = new(this.BaseElement.Document);
        }