public void WritePrimitiveContents(string name, Element value, XmlSerializationHint xmlFormatHint)
        {
            if (xmlFormatHint == XmlSerializationHint.Attribute)
                writePrimitiveAttribute(name, value.ToString());
            else if (xmlFormatHint == XmlSerializationHint.TextNode)
                xw.WriteString(value.ToString());
            else if (xmlFormatHint == XmlSerializationHint.XhtmlElement)
            {
                XNamespace xhtml = Support.Util.XHTMLNS;
                XElement xe = XElement.Parse(value.ToString());
                xe.Name = xhtml + xe.Name.LocalName;

                // Write xhtml directly into the output stream,
                // the xhtml <div> becomes part of the elements
                // of the type, just like the other FHIR elements
                xw.WriteRaw(xe.ToString());
            }
            else
                throw new ArgumentException("Unsupported xmlFormatHint " + xmlFormatHint);
        }