<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.infopathdev.com:443/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Browser Forms</title><link>https://www.infopathdev.com:443/forums/40.aspx</link><description>For browser form specific questions</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Manifest xsf Schema validation error</title><link>https://www.infopathdev.com:443/forums/thread/76495.aspx</link><pubDate>Thu, 15 Mar 2012 04:43:06 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:76495</guid><dc:creator>kannabirank</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/76495.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=40&amp;PostID=76495</wfw:commentRss><description>&lt;p&gt;Form template: C:\Users\Administrator\AppData\Local\Temp\v4tyi4yi.gfk.xsn The form definition (.xsf) file cannot be opened because of an error. The file cannot be validated by the XML Schema. Text is not allowed in the context of element &amp;#39;{http://schemas.microsoft.com/office/infopath/2003/solutionDefinition}property&amp;#39; according to DTD/Schema. Line 12, Position 140 -------------------------------------------------------------------------------------------------------------------------------------------^ &lt;/p&gt;
&lt;p&gt;I&amp;#39;m trying to upload a admin approved infopath template to central admin programmatically... And before uploading to central admin i&amp;#39;m modifying the internal file name to a unique name (like appending the version of the file) so that files are unique in form templates in central admin. Below is the partial&amp;nbsp;C# code.&lt;/p&gt;
&lt;p&gt;XmlNamespaceManager nameSpaceManager = new XmlNamespaceManager(xdocManifest.NameTable);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nameSpaceManager.AddNamespace(&amp;quot;xsf&amp;quot;, &amp;quot;&lt;a href="http://schemas.microsoft.com/office/infopath/2003/solutionDefinition"&gt;http://schemas.microsoft.com/office/infopath/2003/solutionDefinition&lt;/a&gt;&amp;quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XmlNode node = xdocManifest.SelectSingleNode(&amp;quot;//xsf:xDocumentClass&amp;quot;, nameSpaceManager);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Since we append version number as underscores to the XSN files, we should convert underscores to hypens(that&amp;#39;s how infopath does internally)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; templateNameWithNewVersion = templateNameWithNewVersion.Replace(&amp;quot;_&amp;quot;, &amp;quot;-&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; node.Attributes[&amp;quot;name&amp;quot;].Value = string.Format(&amp;quot;urn:schemas-microsoft-com:office:infopath:{0}:-myXSD-2010-08-08T23-16-43&amp;quot;, templateNameWithNewVersion); //node.Attributes[&amp;quot;name&amp;quot;].Value.Replace(parentTemplateName.Replace(&amp;quot;_&amp;quot;,&amp;quot;-&amp;quot;), templateNameWithNewVersion);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xdocManifest.Save(string.Format(&amp;quot;{0}\\manifest.xsf&amp;quot;, @newFolder));&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Update template.xml file&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XmlDocument xdocTemplateFile = new XmlDocument();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using (Stream stream = File.Open(string.Format(&amp;quot;{0}\\template.xml&amp;quot;, @newFolder), FileMode.Open))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xdocTemplateFile.Load(stream);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XmlProcessingInstruction processInstruction = xdocTemplateFile.SelectSingleNode(&amp;quot;processing-instruction(&amp;#39;mso-infoPathSolution&amp;#39;)&amp;quot;) as XmlProcessingInstruction;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //read the name attribute from this xmlnode &amp;lt;?mso-infoPathSolution name=&amp;quot;urn:schemas-microsoft-com:office:infopath:EF001:-myXSD-2010-08-08T23-16-43&amp;quot; solutionVersion=&amp;quot;1.0.0.535&amp;quot; productVersion=&amp;quot;14.0.0&amp;quot; PIVersion=&amp;quot;1.0.0.0&amp;quot; ?&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //name attribute should be at position 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string psuedoAttributesNameTag = processInstruction.Data.Split(&amp;#39; &amp;#39;)[0];&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string templateFileContent = xdocTemplateFile.OuterXml.Replace(psuedoAttributesNameTag, string.Format(&amp;quot;name=\&amp;quot;urn:schemas-microsoft-com:office:infopath:{0}:-myXSD-2010-08-08T23-16-43\&amp;quot;&amp;quot;, templateNameWithNewVersion));&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File.WriteAllText(string.Format(&amp;quot;{0}\\template.xml&amp;quot;, @newFolder), templateFileContent);&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;----------------------&lt;/p&gt;
&lt;p&gt;Form template: C:\Users\Administrator\AppData\Local\Temp\v4tyi4yi.gfk.xsn The form definition (.xsf) file cannot be opened because of an error. The file cannot be validated by the XML Schema. Text is not allowed in the context of element &amp;#39;{http://schemas.microsoft.com/office/infopath/2003/solutionDefinition}property&amp;#39; according to DTD/Schema. Line 12, Position 140 -------------------------------------------------------------------------------------------------------------------------------------------^ &lt;/p&gt;</description></item></channel></rss>