public System.Xml.XmlNode Generate(XCRI.Interfaces.XCRICAP11.IDescription description)
 {
     return(this._GetGeneratedNode((w) =>
     {
         this.XmlGenerator.Write(w, description);
     }));
 }
示例#2
0
        public void Write
        (
            System.Xml.XmlWriter xmlWriter,
            XCRI.Interfaces.XCRICAP11.IDescription description
        )
        {
            if (description == null)
            {
                throw new ArgumentNullException("description");
            }
            if ((description.CompatibleWith & XCRIProfiles.XCRI_v1_1) == 0)
            {
                return;
            }
            this._WriteStartElement(xmlWriter, "description", Configuration.Namespaces.XCRICAP11NamespaceUri);
            this._WriteXsiTypeAttribute
            (
                xmlWriter,
                description.XsiTypeValue,
                description.XsiTypeValueNamespace
            );
            this._WriteXmlLanguageAttribute
            (
                xmlWriter,
                description.XmlLanguage
            );
            switch (description.ContentType)
            {
            case DescriptionContentTypes.Href:
                if (description.Href != null)
                {
                    this._WriteAttribute
                    (
                        xmlWriter,
                        "href",
                        Configuration.Namespaces.XCRICAP11NamespaceUri,
                        description.Href.ToString(),
                        String.Empty
                    );
                }
                break;

            case DescriptionContentTypes.XHTML:
                this._WriteStartElement(xmlWriter, "div", Configuration.Namespaces.XHTMLNamespaceUri);
                if (!String.IsNullOrEmpty(description.Value))
                {
                    xmlWriter.WriteRaw
                    (
                        description.Value
                    );
                }
                this._WriteEndElement(xmlWriter);
                break;

            case DescriptionContentTypes.Text:
                xmlWriter.WriteValue
                (
                    description.Value
                );
                break;
            }
            this._WriteEndElement(xmlWriter);
        }