Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="writer"></param>
        /// <param name="version"></param>
        protected override void WriteElementExtensions(XmlWriter writer, string version)
        {
            // There is no need to provide prefix when writing Element.
            // As long as the namespaces defined in OpdsFeed properly.
            // The prefix will be added automatically.
            if (!String.IsNullOrWhiteSpace(Language))
            {
                writer.WriteElementString("language", OpdsNamespaces.DublinCore.Value, Language);
            }
            if (!String.IsNullOrWhiteSpace(Issued))
            {
                writer.WriteElementString("issued", OpdsNamespaces.DublinCore.Value, Issued);
            }
            if (!String.IsNullOrWhiteSpace(ISBN))
            {
                writer.WriteStartElement("identifier", OpdsNamespaces.DublinCore.Value);
                if (ISBN.StartsWith("urn:"))
                {
                    writer.WriteAttributeString("type", OpdsNamespaces.Xsi.Value, "URI");
                }
                writer.WriteValue(ISBN);
                writer.WriteEndElement();
            }
            if (!String.IsNullOrWhiteSpace(Publisher))
            {
                writer.WriteElementString("publisher", OpdsNamespaces.DublinCore.Value, Publisher);
            }
            if (Relevance >= 0)
            {
                writer.WriteElementString("score", OpdsNamespaces.Relevance.Value, Convert.ToString(Relevance, CultureInfo.InvariantCulture));
            }
            if (!String.IsNullOrWhiteSpace(Extent))
            {
                writer.WriteElementString("extent", OpdsNamespaces.DublinCore.Value, Extent);
            }
            if (!String.IsNullOrWhiteSpace(Source))
            {
                writer.WriteElementString("source", OpdsNamespaces.DublinCore.Value, Source);
            }

            base.WriteElementExtensions(writer, version);
        }