Esempio n. 1
0
        public XElement GenerateElement()
        {
            var tocElement = new XElement(EPubNamespaces.OpfNameSpace + "item");

            tocElement.Add(new XAttribute("id", ID));
            tocElement.Add(new XAttribute("href", HRef));
            tocElement.Add(new XAttribute("media-type", MediaType.GetAsSerializableString()));
            if (!string.IsNullOrEmpty(Fallback))
            {
                tocElement.Add(new XAttribute("fallback", Fallback));
            }

            List <string> properties;

            BuildPropertiesList(out properties);


            if (properties.Count > 0)
            {
                var  sb    = new StringBuilder();
                bool first = true;
                foreach (var property in properties)
                {
                    if (!first)
                    {
                        sb.AppendFormat(" {0}", property);
                    }
                    else
                    {
                        sb.AppendFormat("{0}", property);
                        first = false;
                    }
                }
                tocElement.Add(new XAttribute("properties", sb.ToString()));
            }

            if (!string.IsNullOrEmpty(MediaOverlay))
            {
                tocElement.Add(new XAttribute("media-overlay", MediaOverlay));
            }
            return(tocElement);
        }