Thanks for the replies. Here's my code:
DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(X("LS")); DOMDocument* pDoc = impl->createDocument(); pDoc->setEncoding(X("UTF-16")); pDoc->setStandalone(true); pDoc->setVersion(X("1.0")); DOMElement* pRootElement = CreateElementFromNode(pNode, pDoc); DOMWriter *theSerializer = ((DOMImplementationLS*)impl)->createDOMWriter(); if (theSerializer->canSetFeature(XMLUni::fgDOMWRTSplitCdataSections, true)) theSerializer->setFeature(XMLUni::fgDOMWRTSplitCdataSections, true); if (theSerializer->canSetFeature(XMLUni::fgDOMWRTDiscardDefaultContent, true)) theSerializer->setFeature(XMLUni::fgDOMWRTDiscardDefaultContent, true); if (theSerializer->canSetFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true)) theSerializer->setFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true); if (theSerializer->canSetFeature(XMLUni::fgDOMWRTWhitespaceInElementContent, true)) theSerializer->setFeature(XMLUni::fgDOMWRTWhitespaceInElementContent, true); // see note below if (theSerializer->canSetFeature(XMLUni::fgUTF16EncodingString, true)) theSerializer->setFeature(XMLUni::fgUTF16EncodingString, true); XMLFormatTarget *myFormTarget = new LocalFileFormatTarget(X(pszFilePath)); theSerializer->writeNode(myFormTarget, *pRootElement); I notice that theSerializer->canSetFeature(XMLUni::fgUTF16EncodingString, true) returns false. This must be my problem. Why would this be the case? Originally I had all the doc creation code after the writer stuff. Thought this might be the problem, but it appears not. BTW setVersion(X("2.0")) cause an exception. Not even sure this is valid -- just experimenting. Any suggestions? > -----Original Message----- > From: Gareth Reakes [mailto:[EMAIL PROTECTED] > Sent: Monday, October 20, 2003 12:08 PM > To: [EMAIL PROTECTED] > Subject: Re: DOMwriter and xml declaration > > > Hi, > A look at the current code gives this: > > // We always print out the xmldecl no matter whether it is > // present in the original XML instance document or not. > // > const XMLCh* versionNo = (docu->getVersion()) ? > docu->getVersion() : gXMLDecl_ver10; > *fFormatter << gXMLDecl_VersionInfo << versionNo << > gXMLDecl_separator; > > > > and in my experience I always get an XML decl. What version are > you using? > If it is the most recent would you post a snippet of your code? > > Gareth > > > -- > Gareth Reakes, Head of Product Development +44-1865-203192 > DecisionSoft Limited http://www.decisionsoft.com > XML Development and Services > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]