<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>MVPXML Work Item Rss Feed</title><link>http://www.codeplex.com/WorkItem/List.aspx?ProjectName=MVPXML</link><description>MVPXML Work Item Rss Description</description><item><title>Closed Issue: ExsltDateTime [4970]</title><link>http://mvpxml.codeplex.com/workitem/4970</link><description>stefano.zanotti&amp;#64;summer.it&lt;br /&gt;&amp;#160;&lt;br /&gt;public ExsltDateTime&amp;#40;&amp;#34;2005-12-08T00&amp;#58;00&amp;#58;00&amp;#34;&amp;#41;&lt;br /&gt;&amp;#160;&lt;br /&gt;BUG&lt;br /&gt;in&lt;br /&gt;&amp;#160;&lt;br /&gt;int hours &amp;#61; Int32.Parse&amp;#40;zoneStr.Substring&lt;br /&gt;&amp;#40;0,3&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#160;&lt;br /&gt;&amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;&amp;#47;&amp;#47;&amp;#47; Initialize the DateTimeTZ structure with the &lt;br /&gt;date, time and timezone in the string.&lt;br /&gt;&amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;&lt;br /&gt;&amp;#47;&amp;#47;&amp;#47; &amp;#60;param name&amp;#61;&amp;#34;inS&amp;#34;&amp;#62;An ISO8601 string&amp;#60;&amp;#47;param&amp;#62;&lt;br /&gt;public ExsltDateTime&amp;#40;string inS&amp;#41;&lt;br /&gt;&amp;#160;&lt;br /&gt;ExsltDateTime&amp;#40;&amp;#34;2005-08-12T00&amp;#58;00&amp;#58;00&amp;#34;&amp;#41;&lt;br /&gt;&amp;#160;&lt;br /&gt;BUG&lt;br /&gt;&amp;#160;&lt;br /&gt;&amp;#160;&lt;br /&gt;int minutes &amp;#61; Int32.Parse&amp;#40;zoneStr.Substring&lt;br /&gt;&amp;#40;4,2&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;</description><author>olegt</author><pubDate>Thu, 16 May 2013 07:42:24 GMT</pubDate><guid isPermaLink="false">Closed Issue: ExsltDateTime [4970] 20130516074224A</guid></item><item><title>Closed Issue: Exslt set:distinct function does not work with MONO [4975]</title><link>http://mvpxml.codeplex.com/workitem/4975</link><description>I checked the attached xslt with nxslt.exe and the&lt;br /&gt;following error occured&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;System.Xml.Xsl.XsltException&amp;#58; Custom function reported&lt;br /&gt;an error. ---&amp;#62;&lt;br /&gt;System.Reflection.TargetInvocationException&amp;#58; Exception&lt;br /&gt;has been thrown by the target of an invocation. ---&amp;#62;&lt;br /&gt;System.ArgumentNullException&amp;#58; Argument cannot be null.&lt;br /&gt;Parameter name&amp;#58; type&lt;br /&gt;in &amp;#60;0x0006e&amp;#62; System.Activator&amp;#58;CheckType &amp;#40;System.Type type&amp;#41;&lt;br /&gt;in &amp;#60;0x00039&amp;#62; System.Activator&amp;#58;CreateInstance&lt;br /&gt;&amp;#40;System.Type type, BindingFlags bindingAttr,&lt;br /&gt;System.Reflection.Binder binder, System.Object&amp;#91;&amp;#93; args,&lt;br /&gt;System.Globalization.CultureInfo culture,&lt;br /&gt;System.Object&amp;#91;&amp;#93; activationAttributes&amp;#41;&lt;br /&gt;in &amp;#60;0x00029&amp;#62; System.Activator&amp;#58;CreateInstance&lt;br /&gt;&amp;#40;System.Type type, BindingFlags bindingAttr,&lt;br /&gt;System.Reflection.Binder binder, System.Object&amp;#91;&amp;#93; args,&lt;br /&gt;System.Globalization.CultureInfo culture&amp;#41;&lt;br /&gt;in &amp;#60;0x0006d&amp;#62;&lt;br /&gt;Mvp.Xml.Exslt.ExsltCommon&amp;#58;ExsltNodeListToXPathNodeIterator&lt;br /&gt;&amp;#40;Mvp.Xml.Exslt.ExsltNodeList list&amp;#41;&lt;br /&gt;in &amp;#60;0x000cd&amp;#62; Mvp.Xml.Exslt.ExsltSets&amp;#58;distinct&lt;br /&gt;&amp;#40;System.Xml.XPath.XPathNodeIterator nodeset&amp;#41;&lt;br /&gt;in &amp;#60;0x00000&amp;#62; &amp;#60;unknown method&amp;#62;&lt;br /&gt;in &amp;#40;wrapper managed-to-native&amp;#41;&lt;br /&gt;System.Reflection.MonoMethod&amp;#58;InternalInvoke&lt;br /&gt;&amp;#40;object,object&amp;#91;&amp;#93;&amp;#41;&lt;br /&gt;in &amp;#60;0x0008d&amp;#62; System.Reflection.MonoMethod&amp;#58;Invoke&lt;br /&gt;&amp;#40;System.Object obj, BindingFlags invokeAttr,&lt;br /&gt;System.Reflection.Binder binder, System.Object&amp;#91;&amp;#93;&lt;br /&gt;parameters, System.Globalization.CultureInfo&lt;br /&gt;culture&amp;#41;--- End of inner exception stack trace ---&lt;br /&gt;&amp;#160;&lt;br /&gt;in &amp;#60;0x0010e&amp;#62; System.Reflection.MonoMethod&amp;#58;Invoke&lt;br /&gt;&amp;#40;System.Object obj, BindingFlags invokeAttr,&lt;br /&gt;System.Reflection.Binder binder, System.Object&amp;#91;&amp;#93;&lt;br /&gt;parameters, System.Globalization.CultureInfo culture&amp;#41;&lt;br /&gt;in &amp;#60;0x0001a&amp;#62; System.Reflection.MethodBase&amp;#58;Invoke&lt;br /&gt;&amp;#40;System.Object obj, System.Object&amp;#91;&amp;#93; parameters&amp;#41;&lt;br /&gt;in &amp;#60;0x00243&amp;#62; Mono.Xml.Xsl.XsltExtensionFunction&amp;#58;Invoke&lt;br /&gt;&amp;#40;Mono.Xml.Xsl.XsltCompiledContext xsltContext,&lt;br /&gt;System.Object&amp;#91;&amp;#93; args, System.Xml.XPath.XPathNavigator&lt;br /&gt;docContext&amp;#41;--- End of inner exception stack trace ---&lt;br /&gt;&amp;#160;&lt;br /&gt;in &amp;#60;0x00332&amp;#62; Mono.Xml.Xsl.XsltExtensionFunction&amp;#58;Invoke&lt;br /&gt;&amp;#40;Mono.Xml.Xsl.XsltCompiledContext xsltContext,&lt;br /&gt;System.Object&amp;#91;&amp;#93; args, System.Xml.XPath.XPathNavigator&lt;br /&gt;docContext&amp;#41;&lt;br /&gt;in &amp;#60;0x00032&amp;#62; Mono.Xml.Xsl.XPFuncImpl&amp;#58;Invoke&lt;br /&gt;&amp;#40;System.Xml.Xsl.XsltContext xsltContext,&lt;br /&gt;System.Object&amp;#91;&amp;#93; args, System.Xml.XPath.XPathNavigator&lt;br /&gt;docContext&amp;#41;&lt;br /&gt;in &amp;#60;0x00236&amp;#62; System.Xml.XPath.ExprFunctionCall&amp;#58;Evaluate&lt;br /&gt;&amp;#40;System.Xml.XPath.BaseIterator iter&amp;#41;&lt;br /&gt;in &amp;#60;0x00060&amp;#62;&lt;br /&gt;System.Xml.XPath.Expression&amp;#58;EvaluateNodeSet&lt;br /&gt;&amp;#40;System.Xml.XPath.BaseIterator iter&amp;#41;&lt;br /&gt;in &amp;#60;0x00014&amp;#62;&lt;br /&gt;System.Xml.XPath.CompiledExpression&amp;#58;EvaluateNodeSet&lt;br /&gt;&amp;#40;System.Xml.XPath.BaseIterator iter&amp;#41;&lt;br /&gt;in &amp;#60;0x00067&amp;#62; System.Xml.XPath.XPathNavigator&amp;#58;Select&lt;br /&gt;&amp;#40;System.Xml.XPath.XPathExpression expr,&lt;br /&gt;System.Xml.XmlNamespaceManager ctx&amp;#41;&lt;br /&gt;in &amp;#60;0x00050&amp;#62; Mono.Xml.Xsl.XslTransformProcessor&amp;#58;Select&lt;br /&gt;&amp;#40;System.Xml.XPath.XPathExpression expr&amp;#41;&lt;br /&gt;in &amp;#60;0x00025&amp;#62;&lt;br /&gt;Mono.Xml.Xsl.Operations.XslForEach&amp;#58;Evaluate&lt;br /&gt;&amp;#40;Mono.Xml.Xsl.XslTransformProcessor p&amp;#41;&lt;br /&gt;in &amp;#60;0x00078&amp;#62;&lt;br /&gt;Mono.Xml.Xsl.Operations.XslTemplateContent&amp;#58;Evaluate&lt;br /&gt;&amp;#40;Mono.Xml.Xsl.XslTransformProcessor p&amp;#41;&lt;br /&gt;in &amp;#60;0x0017a&amp;#62;&lt;br /&gt;Mono.Xml.Xsl.Operations.XslLiteralElement&amp;#58;Evaluate&lt;br /&gt;&amp;#40;Mono.Xml.Xsl.XslTransformProcessor p&amp;#41;&lt;br /&gt;in &amp;#60;0x00078&amp;#62;&lt;br /&gt;Mono.Xml.Xsl.Operations.XslTemplateContent&amp;#58;Evaluate&lt;br /&gt;&amp;#40;Mono.Xml.Xsl.XslTransformProcessor p&amp;#41;&lt;br /&gt;in &amp;#60;0x00189&amp;#62; Mono.Xml.Xsl.XslTemplate&amp;#58;Evaluate&lt;br /&gt;&amp;#40;Mono.Xml.Xsl.XslTransformProcessor p,&lt;br /&gt;System.Collections.Hashtable withParams&amp;#41;&lt;br /&gt;in &amp;#60;0x00064&amp;#62;&lt;br /&gt;Mono.Xml.Xsl.XslTransformProcessor&amp;#58;ApplyTemplates&lt;br /&gt;&amp;#40;System.Xml.XPath.XPathNodeIterator nodes,&lt;br /&gt;System.Xml.XmlQualifiedName mode,&lt;br /&gt;System.Collections.ArrayList withParams&amp;#41;&lt;br /&gt;in &amp;#60;0x00496&amp;#62; Mono.Xml.Xsl.XslTransformProcessor&amp;#58;Process&lt;br /&gt;&amp;#40;System.Xml.XPath.XPathNavigator root,&lt;br /&gt;Mono.Xml.Xsl.Outputter outputtter,&lt;br /&gt;System.Xml.Xsl.XsltArgumentList args,&lt;br /&gt;System.Xml.XmlResolver resolver&amp;#41;&lt;br /&gt;in &amp;#60;0x0008b&amp;#62; System.Xml.Xsl.XslTransform&amp;#58;Transform&lt;br /&gt;&amp;#40;System.Xml.XPath.XPathNavigator input,&lt;br /&gt;System.Xml.Xsl.XsltArgumentList args,&lt;br /&gt;System.IO.TextWriter output, System.Xml.XmlResolver&lt;br /&gt;resolver&amp;#41;&lt;br /&gt;in &amp;#60;0x00037&amp;#62; System.Xml.Xsl.XslTransform&amp;#58;Transform&lt;br /&gt;&amp;#40;IXPathNavigable input, System.Xml.Xsl.XsltArgumentList&lt;br /&gt;args, System.IO.TextWriter output&amp;#41;&lt;br /&gt;in &amp;#60;0x0008a&amp;#62; Mvp.Xml.Exslt.ExsltTransform&amp;#58;Transform&lt;br /&gt;&amp;#40;IXPathNavigable ixn, System.Xml.Xsl.XsltArgumentList&lt;br /&gt;arglist, System.IO.TextWriter writer&amp;#41;&lt;br /&gt;in &amp;#60;0x03711&amp;#62; NXslt.NXslt&amp;#58;Process &amp;#40;&amp;#41;&lt;br /&gt;Tested with Mono JIT compiler version 1.1.13.2 and Linux&lt;br /&gt;</description><author>olegt</author><pubDate>Thu, 16 May 2013 07:42:24 GMT</pubDate><guid isPermaLink="false">Closed Issue: Exslt set:distinct function does not work with MONO [4975] 20130516074224A</guid></item><item><title>Closed Issue: href="x.xsl" type="text/xsl" bug [6053]</title><link>http://mvpxml.codeplex.com/workitem/6053</link><description>I noticed that nxslt &amp;#40;both 1 and 2&amp;#41; succeds when using an xml-stylesheet&lt;br /&gt;PI like the following &amp;#40;obviously&amp;#41;&lt;br /&gt;&amp;#160;&lt;br /&gt;  &amp;#60;&amp;#63;xml-stylesheet type&amp;#61;&amp;#34;text&amp;#47;xsl&amp;#34; href&amp;#61;&amp;#34;x.xsl&amp;#34;&amp;#63;&amp;#62;&lt;br /&gt;&amp;#160;&lt;br /&gt;but fails with the following&lt;br /&gt;&amp;#160;&lt;br /&gt;  &amp;#60;&amp;#63;xml-stylesheet href&amp;#61;&amp;#34;x.xsl&amp;#34; type&amp;#61;&amp;#34;text&amp;#47;xsl&amp;#34;&amp;#63;&amp;#62;&lt;br /&gt;&amp;#160;&lt;br /&gt;i.e. when the &amp;#39;href&amp;#39; PseudoAtt precedes the &amp;#39;type&amp;#39; PseudoAtt.&lt;br /&gt;&amp;#160;&lt;br /&gt;Thanks for an otherwise great app  &amp;#58;-&amp;#41; &lt;br /&gt;&amp;#160;&lt;br /&gt;-- David H&amp;#229;s&amp;#228;ther&lt;br /&gt;</description><author>olegt</author><pubDate>Thu, 16 May 2013 07:42:23 GMT</pubDate><guid isPermaLink="false">Closed Issue: href="x.xsl" type="text/xsl" bug [6053] 20130516074223A</guid></item><item><title>Created Issue: date:date() returning time [33579]</title><link>http://mvpxml.codeplex.com/workitem/33579</link><description>Calling date&amp;#58;date&amp;#40;&amp;#41; returns a date value with a time portion &amp;#40;i.e. &amp;#38;quot&amp;#59;2012-12-12&amp;#58;07&amp;#58;00&amp;#38;quot&amp;#59;&amp;#41;&lt;br /&gt;&lt;br /&gt;I discovered this when doing this call&amp;#58;&lt;br /&gt;date&amp;#58;year&amp;#40;normalize-space&amp;#40;date&amp;#58;add&amp;#40;normalize-space&amp;#40;date&amp;#58;date&amp;#40;&amp;#41;&amp;#41;,normalize-space&amp;#40;&amp;#39;-P3M5D&amp;#39;&amp;#41;&amp;#41;&amp;#41;&amp;#41;&lt;br /&gt;&lt;br /&gt;The date&amp;#58;year&amp;#40;string&amp;#41; call could not parse out the time portion and would return NaN.&lt;br /&gt;&lt;br /&gt;I think this can be solved by overriding the HasTimeZone&amp;#40;&amp;#41; method in DateTz to return false.&lt;br /&gt;&lt;br /&gt;Please verify.&lt;br /&gt;</description><author>jasonma</author><pubDate>Mon, 17 Dec 2012 22:50:56 GMT</pubDate><guid isPermaLink="false">Created Issue: date:date() returning time [33579] 20121217105056P</guid></item><item><title>Commented Issue: MvpXslTransform.Load doesn't close xml reader [14361]</title><link>http://mvpxml.codeplex.com/workitem/14361</link><description>Method MvpXslTransform.Load&amp;#40;string stylesheetUri, XsltSettings settings, XmlResolver stylesheetResolver&amp;#41; opens XmlReader for given stylesheetUri and doesn&amp;#39;t close it after use. So stylesheet file got locked. I think it&amp;#39;s necessary to add using statement. Like this&amp;#58;&lt;br /&gt;&lt;br /&gt;public void Load&amp;#40;string stylesheetUri, XsltSettings settings, XmlResolver stylesheetResolver&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    using&amp;#40; XmlReader reader &amp;#61; XmlReader.Create&amp;#40;stylesheetUri&amp;#41;&lt;br /&gt;       this.LoadStylesheetFromReader&amp;#40;reader, settings, stylesheetResolver&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;Comments: ** Comment from web user: Kstubs ** &lt;p&gt;Has this been resolved&amp;#63;&lt;/p&gt;</description><author>Kstubs</author><pubDate>Tue, 20 Dec 2011 21:30:02 GMT</pubDate><guid isPermaLink="false">Commented Issue: MvpXslTransform.Load doesn't close xml reader [14361] 20111220093002P</guid></item><item><title>Created Issue: xmllab.net site not working [29993]</title><link>http://mvpxml.codeplex.com/workitem/29993</link><description>Hi&lt;br /&gt;I tried to read more about the project on the referenced site, but it seems like http&amp;#58;&amp;#47;&amp;#47;www.xmllab.net site has been broken&lt;br /&gt;</description><author>schalkvanwyk</author><pubDate>Wed, 19 Jan 2011 10:30:32 GMT</pubDate><guid isPermaLink="false">Created Issue: xmllab.net site not working [29993] 20110119103032A</guid></item><item><title>Commented Issue: XmlSerializerCache is not thread safe (fix included) [26717]</title><link>http://mvpxml.codeplex.com/WorkItem/View.aspx?WorkItemId=26717</link><description>public System.Xml.Serialization.XmlSerializer GetSerializer&amp;#40;Type type&lt;br /&gt;            , XmlAttributeOverrides overrides&lt;br /&gt;            , Type&amp;#91;&amp;#93; types&lt;br /&gt;            , XmlRootAttribute root&lt;br /&gt;            , String defaultNamespace&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            string key &amp;#61; CacheKeyFactory.MakeKey&amp;#40;type&lt;br /&gt;                , overrides&lt;br /&gt;                , types&lt;br /&gt;                , root&lt;br /&gt;                , defaultNamespace&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            System.Xml.Serialization.XmlSerializer serializer &amp;#61; null&amp;#59;&lt;br /&gt;&lt;br /&gt;            var isCacheHit &amp;#61; false&amp;#59;&lt;br /&gt;&lt;br /&gt;            if &amp;#40;&amp;#33;Serializers.TryGetValue&amp;#40;key, out serializer&amp;#41;&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                lock &amp;#40;SyncRoot&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    if &amp;#40;&amp;#33;Serializers.TryGetValue&amp;#40;key, out serializer&amp;#41;&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        serializer &amp;#61; new System.Xml.Serialization.XmlSerializer&amp;#40;type&lt;br /&gt;                            , overrides&lt;br /&gt;                            , types&lt;br /&gt;                            , root&lt;br /&gt;                            , defaultNamespace&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;                        Serializers.Add&amp;#40;key, serializer&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;                        if &amp;#40;null &amp;#33;&amp;#61; NewSerializer&amp;#41;&lt;br /&gt;                        &amp;#123;&lt;br /&gt;                            NewSerializer&amp;#40;type&lt;br /&gt;                            , overrides&lt;br /&gt;                            , types&lt;br /&gt;                            , root&lt;br /&gt;                            , defaultNamespace&amp;#41;&amp;#59;&lt;br /&gt;                        &amp;#125;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                    else&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        isCacheHit &amp;#61; true&amp;#59;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                &amp;#125;&lt;br /&gt;            &amp;#125;&lt;br /&gt;            else&lt;br /&gt;            &amp;#123;&lt;br /&gt;                isCacheHit &amp;#61; true&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;&lt;br /&gt;            if &amp;#40;isCacheHit &amp;#38;&amp;#38; CacheHit &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                &amp;#47;&amp;#47; Tell the listeners that we already &lt;br /&gt;                &amp;#47;&amp;#47; had a serializer that matched the attributes&lt;br /&gt;&lt;br /&gt;                CacheHit&amp;#40;type&lt;br /&gt;                , overrides&lt;br /&gt;                , types&lt;br /&gt;                , root&lt;br /&gt;                , defaultNamespace&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;&lt;br /&gt;            System.Diagnostics.Debug.Assert&amp;#40;null &amp;#33;&amp;#61; serializer&amp;#41;&amp;#59;&lt;br /&gt;            return serializer&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;Comments: ** Comment from web user: taliesins ** &lt;p&gt;This same approach could be used to fix GetCompiledExpression thread safety problem.&lt;/p&gt;</description><author>taliesins</author><pubDate>Wed, 07 Apr 2010 14:04:44 GMT</pubDate><guid isPermaLink="false">Commented Issue: XmlSerializerCache is not thread safe (fix included) [26717] 20100407020444P</guid></item><item><title>Created Issue: XmlSerializerCache is not thread safe (fix included) [26717]</title><link>http://mvpxml.codeplex.com/WorkItem/View.aspx?WorkItemId=26717</link><description>public System.Xml.Serialization.XmlSerializer GetSerializer&amp;#40;Type type&lt;br /&gt;            , XmlAttributeOverrides overrides&lt;br /&gt;            , Type&amp;#91;&amp;#93; types&lt;br /&gt;            , XmlRootAttribute root&lt;br /&gt;            , String defaultNamespace&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            string key &amp;#61; CacheKeyFactory.MakeKey&amp;#40;type&lt;br /&gt;                , overrides&lt;br /&gt;                , types&lt;br /&gt;                , root&lt;br /&gt;                , defaultNamespace&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            System.Xml.Serialization.XmlSerializer serializer &amp;#61; null&amp;#59;&lt;br /&gt;&lt;br /&gt;            var isCacheHit &amp;#61; false&amp;#59;&lt;br /&gt;&lt;br /&gt;            if &amp;#40;&amp;#33;Serializers.TryGetValue&amp;#40;key, out serializer&amp;#41;&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                lock &amp;#40;SyncRoot&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    if &amp;#40;&amp;#33;Serializers.TryGetValue&amp;#40;key, out serializer&amp;#41;&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        serializer &amp;#61; new System.Xml.Serialization.XmlSerializer&amp;#40;type&lt;br /&gt;                            , overrides&lt;br /&gt;                            , types&lt;br /&gt;                            , root&lt;br /&gt;                            , defaultNamespace&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;                        Serializers.Add&amp;#40;key, serializer&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;                        if &amp;#40;null &amp;#33;&amp;#61; NewSerializer&amp;#41;&lt;br /&gt;                        &amp;#123;&lt;br /&gt;                            NewSerializer&amp;#40;type&lt;br /&gt;                            , overrides&lt;br /&gt;                            , types&lt;br /&gt;                            , root&lt;br /&gt;                            , defaultNamespace&amp;#41;&amp;#59;&lt;br /&gt;                        &amp;#125;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                    else&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        isCacheHit &amp;#61; true&amp;#59;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                &amp;#125;&lt;br /&gt;            &amp;#125;&lt;br /&gt;            else&lt;br /&gt;            &amp;#123;&lt;br /&gt;                isCacheHit &amp;#61; true&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;&lt;br /&gt;            if &amp;#40;isCacheHit &amp;#38;&amp;#38; CacheHit &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                &amp;#47;&amp;#47; Tell the listeners that we already &lt;br /&gt;                &amp;#47;&amp;#47; had a serializer that matched the attributes&lt;br /&gt;&lt;br /&gt;                CacheHit&amp;#40;type&lt;br /&gt;                , overrides&lt;br /&gt;                , types&lt;br /&gt;                , root&lt;br /&gt;                , defaultNamespace&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;&lt;br /&gt;            System.Diagnostics.Debug.Assert&amp;#40;null &amp;#33;&amp;#61; serializer&amp;#41;&amp;#59;&lt;br /&gt;            return serializer&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;</description><author>taliesins</author><pubDate>Wed, 07 Apr 2010 14:02:43 GMT</pubDate><guid isPermaLink="false">Created Issue: XmlSerializerCache is not thread safe (fix included) [26717] 20100407020243P</guid></item><item><title>Commented Issue: File included with XInclude is locked after reading [26169]</title><link>http://mvpxml.codeplex.com/WorkItem/View.aspx?WorkItemId=26169</link><description>After reading included XML files with XIncludeReader, the included XML file is locked on filesystem level.&lt;br /&gt;&lt;br /&gt;This can be fixed by modifing XIncludeReader.CreateAcquiredInfoset&amp;#40;Uri includeLocation&amp;#41; to&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; Creates acquired infoset.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;        &lt;br /&gt;&amp;#9;&amp;#9;private string CreateAcquiredInfoset&amp;#40;Uri includeLocation&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;if &amp;#40;_cache &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;_cache &amp;#61; new Dictionary&amp;#60;string, WeakReference&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;WeakReference wr&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;if &amp;#40;_cache.TryGetValue&amp;#40;includeLocation.AbsoluteUri, out wr&amp;#41; &amp;#38;&amp;#38; wr.IsAlive&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;return &amp;#40;string&amp;#41;wr.Target&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;else&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47;Not cached or GCollected&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;WebResponse wRes&amp;#59;&lt;br /&gt;                string content &amp;#61; null&amp;#59;&lt;br /&gt;                using &amp;#40;Stream stream &amp;#61; GetResource&amp;#40;includeLocation.AbsoluteUri,&lt;br /&gt;                    _reader.GetAttribute&amp;#40;_keywords.Accept&amp;#41;,&lt;br /&gt;                    _reader.GetAttribute&amp;#40;_keywords.AcceptLanguage&amp;#41;, out wRes&amp;#41;&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    using &amp;#40;XIncludingReader xir &amp;#61; new XIncludingReader&amp;#40;wRes.ResponseUri.AbsoluteUri, stream, _nameTable&amp;#41;&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        xir.WhitespaceHandling &amp;#61; _whiteSpaceHandling&amp;#59;&lt;br /&gt;                        using &amp;#40;StringWriter sw &amp;#61; new StringWriter&amp;#40;&amp;#41;&amp;#41;&lt;br /&gt;                        &amp;#123;&lt;br /&gt;                            using &amp;#40;XmlTextWriter w &amp;#61; new XmlTextWriter&amp;#40;sw&amp;#41;&amp;#41;&lt;br /&gt;                            &amp;#123;&lt;br /&gt;                                try&lt;br /&gt;                                &amp;#123;&lt;br /&gt;                                    while &amp;#40;xir.Read&amp;#40;&amp;#41;&amp;#41;&lt;br /&gt;                                        w.WriteNode&amp;#40;xir, false&amp;#41;&amp;#59;&lt;br /&gt;                                &amp;#125;&lt;br /&gt;                                finally&lt;br /&gt;                                &amp;#123;&lt;br /&gt;                                    if &amp;#40;xir &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;                                        xir.Close&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                                    if &amp;#40;w &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;                                        w.Close&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                                &amp;#125;&lt;br /&gt;                                content &amp;#61; sw.ToString&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                            &amp;#125;&lt;br /&gt;                        &amp;#125;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                &amp;#125; &lt;br /&gt;                if &amp;#40;content &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    lock &amp;#40;_cache&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        if &amp;#40;&amp;#33;_cache.ContainsKey&amp;#40;includeLocation.AbsoluteUri&amp;#41;&amp;#41;&lt;br /&gt;                            _cache.Add&amp;#40;includeLocation.AbsoluteUri, new WeakReference&amp;#40;content&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;return content&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;Comments: ** Comment from web user: williware ** &lt;p&gt;I was utilizing my own resolver. The call mentioned above &amp;#40;CreateAcquiredInfoset&amp;#41; is never executed. My resolver returns a stream. The stream was used to create the XmlBaseAwareXmlReader. The XmlBaseAwareXmlReader gets closed when popped, but the underlying stream is not by default. I added the line &amp;#39;settings.CloseInput &amp;#61; true&amp;#59;&amp;#39; to all of the CreateReaderSettings functions. Code follows. I believe this is the correct default behavior because the stream was retrieved via an external resolver&amp;#39;s GetEntity and this code would be the only place it can be closed.&lt;/p&gt;&lt;p&gt;        private static XmlReaderSettings CreateReaderSettings&amp;#40;&amp;#41; &amp;#123;&lt;br /&gt;            XmlReaderSettings settings &amp;#61; new XmlReaderSettings&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;            settings.ProhibitDtd &amp;#61; false&amp;#59;&lt;br /&gt;            settings.CloseInput &amp;#61; true&amp;#59;&lt;br /&gt;            return settings&amp;#59;&lt;br /&gt;        &amp;#125;&lt;/p&gt;&lt;p&gt;        private static XmlReaderSettings CreateReaderSettings&amp;#40;XmlResolver resolver&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            XmlReaderSettings settings &amp;#61; CreateReaderSettings&amp;#40;&amp;#41;&amp;#59;            &lt;br /&gt;            settings.XmlResolver &amp;#61; resolver&amp;#59;&lt;br /&gt;            settings.CloseInput &amp;#61; true&amp;#59;&lt;br /&gt;            return settings&amp;#59;&lt;br /&gt;        &amp;#125; &lt;br /&gt;       &lt;br /&gt;        private static XmlReaderSettings CreateReaderSettings&amp;#40;XmlNameTable nt&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            XmlReaderSettings settings &amp;#61; CreateReaderSettings&amp;#40;&amp;#41;&amp;#59;            &lt;br /&gt;            settings.NameTable &amp;#61; nt&amp;#59;&lt;br /&gt;            settings.CloseInput &amp;#61; true&amp;#59;&lt;br /&gt;            return settings&amp;#59;&lt;br /&gt;        &amp;#125; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description><author>williware</author><pubDate>Thu, 01 Apr 2010 02:25:08 GMT</pubDate><guid isPermaLink="false">Commented Issue: File included with XInclude is locked after reading [26169] 20100401022508A</guid></item><item><title>Commented Issue: File included with XInclude is locked after reading [26169]</title><link>http://mvpxml.codeplex.com/WorkItem/View.aspx?WorkItemId=26169</link><description>After reading included XML files with XIncludeReader, the included XML file is locked on filesystem level.&lt;br /&gt;&lt;br /&gt;This can be fixed by modifing XIncludeReader.CreateAcquiredInfoset&amp;#40;Uri includeLocation&amp;#41; to&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; Creates acquired infoset.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;        &lt;br /&gt;&amp;#9;&amp;#9;private string CreateAcquiredInfoset&amp;#40;Uri includeLocation&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;if &amp;#40;_cache &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;_cache &amp;#61; new Dictionary&amp;#60;string, WeakReference&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;WeakReference wr&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;if &amp;#40;_cache.TryGetValue&amp;#40;includeLocation.AbsoluteUri, out wr&amp;#41; &amp;#38;&amp;#38; wr.IsAlive&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;return &amp;#40;string&amp;#41;wr.Target&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;else&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47;Not cached or GCollected&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;WebResponse wRes&amp;#59;&lt;br /&gt;                string content &amp;#61; null&amp;#59;&lt;br /&gt;                using &amp;#40;Stream stream &amp;#61; GetResource&amp;#40;includeLocation.AbsoluteUri,&lt;br /&gt;                    _reader.GetAttribute&amp;#40;_keywords.Accept&amp;#41;,&lt;br /&gt;                    _reader.GetAttribute&amp;#40;_keywords.AcceptLanguage&amp;#41;, out wRes&amp;#41;&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    using &amp;#40;XIncludingReader xir &amp;#61; new XIncludingReader&amp;#40;wRes.ResponseUri.AbsoluteUri, stream, _nameTable&amp;#41;&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        xir.WhitespaceHandling &amp;#61; _whiteSpaceHandling&amp;#59;&lt;br /&gt;                        using &amp;#40;StringWriter sw &amp;#61; new StringWriter&amp;#40;&amp;#41;&amp;#41;&lt;br /&gt;                        &amp;#123;&lt;br /&gt;                            using &amp;#40;XmlTextWriter w &amp;#61; new XmlTextWriter&amp;#40;sw&amp;#41;&amp;#41;&lt;br /&gt;                            &amp;#123;&lt;br /&gt;                                try&lt;br /&gt;                                &amp;#123;&lt;br /&gt;                                    while &amp;#40;xir.Read&amp;#40;&amp;#41;&amp;#41;&lt;br /&gt;                                        w.WriteNode&amp;#40;xir, false&amp;#41;&amp;#59;&lt;br /&gt;                                &amp;#125;&lt;br /&gt;                                finally&lt;br /&gt;                                &amp;#123;&lt;br /&gt;                                    if &amp;#40;xir &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;                                        xir.Close&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                                    if &amp;#40;w &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;                                        w.Close&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                                &amp;#125;&lt;br /&gt;                                content &amp;#61; sw.ToString&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                            &amp;#125;&lt;br /&gt;                        &amp;#125;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                &amp;#125; &lt;br /&gt;                if &amp;#40;content &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    lock &amp;#40;_cache&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        if &amp;#40;&amp;#33;_cache.ContainsKey&amp;#40;includeLocation.AbsoluteUri&amp;#41;&amp;#41;&lt;br /&gt;                            _cache.Add&amp;#40;includeLocation.AbsoluteUri, new WeakReference&amp;#40;content&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;return content&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;Comments: ** Comment from web user: williware ** &lt;p&gt;I am having the same issue. The Filestream returned by my resolver is left open.&lt;/p&gt;</description><author>williware</author><pubDate>Mon, 29 Mar 2010 21:24:06 GMT</pubDate><guid isPermaLink="false">Commented Issue: File included with XInclude is locked after reading [26169] 20100329092406P</guid></item><item><title>Created Issue: File included with XInclude is locked after reading [26169]</title><link>http://mvpxml.codeplex.com/WorkItem/View.aspx?WorkItemId=26169</link><description>After reading included XML files with XIncludeReader, the included XML file is locked on filesystem level.&lt;br /&gt;&lt;br /&gt;This can be fixed by modifing XIncludeReader.CreateAcquiredInfoset&amp;#40;Uri includeLocation&amp;#41; to&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; Creates acquired infoset.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;        &lt;br /&gt;&amp;#9;&amp;#9;private string CreateAcquiredInfoset&amp;#40;Uri includeLocation&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;if &amp;#40;_cache &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;_cache &amp;#61; new Dictionary&amp;#60;string, WeakReference&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;WeakReference wr&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;if &amp;#40;_cache.TryGetValue&amp;#40;includeLocation.AbsoluteUri, out wr&amp;#41; &amp;#38;&amp;#38; wr.IsAlive&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;return &amp;#40;string&amp;#41;wr.Target&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;else&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47;Not cached or GCollected&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;WebResponse wRes&amp;#59;&lt;br /&gt;                string content &amp;#61; null&amp;#59;&lt;br /&gt;                using &amp;#40;Stream stream &amp;#61; GetResource&amp;#40;includeLocation.AbsoluteUri,&lt;br /&gt;                    _reader.GetAttribute&amp;#40;_keywords.Accept&amp;#41;,&lt;br /&gt;                    _reader.GetAttribute&amp;#40;_keywords.AcceptLanguage&amp;#41;, out wRes&amp;#41;&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    using &amp;#40;XIncludingReader xir &amp;#61; new XIncludingReader&amp;#40;wRes.ResponseUri.AbsoluteUri, stream, _nameTable&amp;#41;&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        xir.WhitespaceHandling &amp;#61; _whiteSpaceHandling&amp;#59;&lt;br /&gt;                        using &amp;#40;StringWriter sw &amp;#61; new StringWriter&amp;#40;&amp;#41;&amp;#41;&lt;br /&gt;                        &amp;#123;&lt;br /&gt;                            using &amp;#40;XmlTextWriter w &amp;#61; new XmlTextWriter&amp;#40;sw&amp;#41;&amp;#41;&lt;br /&gt;                            &amp;#123;&lt;br /&gt;                                try&lt;br /&gt;                                &amp;#123;&lt;br /&gt;                                    while &amp;#40;xir.Read&amp;#40;&amp;#41;&amp;#41;&lt;br /&gt;                                        w.WriteNode&amp;#40;xir, false&amp;#41;&amp;#59;&lt;br /&gt;                                &amp;#125;&lt;br /&gt;                                finally&lt;br /&gt;                                &amp;#123;&lt;br /&gt;                                    if &amp;#40;xir &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;                                        xir.Close&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                                    if &amp;#40;w &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;                                        w.Close&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                                &amp;#125;&lt;br /&gt;                                content &amp;#61; sw.ToString&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                            &amp;#125;&lt;br /&gt;                        &amp;#125;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                &amp;#125; &lt;br /&gt;                if &amp;#40;content &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    lock &amp;#40;_cache&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        if &amp;#40;&amp;#33;_cache.ContainsKey&amp;#40;includeLocation.AbsoluteUri&amp;#41;&amp;#41;&lt;br /&gt;                            _cache.Add&amp;#40;includeLocation.AbsoluteUri, new WeakReference&amp;#40;content&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;return content&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;</description><author>NielsVr</author><pubDate>Wed, 10 Feb 2010 09:43:02 GMT</pubDate><guid isPermaLink="false">Created Issue: File included with XInclude is locked after reading [26169] 20100210094302A</guid></item><item><title>Created Issue: XIncludingReader drops top-level attributes with Saxon.NET [25579]</title><link>http://mvpxml.codeplex.com/WorkItem/View.aspx?WorkItemId=25579</link><description>XIncludingReader seems to drop the top-level attributes of the included XML file when used with the Saxon.NET engine.&lt;br /&gt;The bug appears to be with Oleg&amp;#39;s changes to MoveToAttribute&amp;#40;int i&amp;#41;, where he forgets to reset the state back to Default as follows&amp;#58;&lt;br /&gt;if &amp;#40;i &amp;#62;&amp;#61; _reader.AttributeCount &amp;#124;&amp;#124; i &amp;#61;&amp;#61; _realXmlBaseIndex&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    _state &amp;#61; XIncludingReaderState.ExposingXmlBaseAttr&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;else&lt;br /&gt;&amp;#123;&lt;br /&gt;    _state &amp;#61; XIncludingReaderState.Default&amp;#59;&lt;br /&gt;    _reader.MoveToAttribute&amp;#40;i&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;                &lt;br /&gt;&lt;br /&gt;Also, we may want to actually set the state to ExposingXmlLangAttr inside the first statement like this&amp;#58;&lt;br /&gt;if &amp;#40;i &amp;#62; _reader.AttributeCount &amp;#38;&amp;#38; _differentLang&amp;#41;&lt;br /&gt;    _state &amp;#61; XIncludingReaderState.ExposingXmlLangAttr&amp;#59;&lt;br /&gt;</description><author>serge_sh</author><pubDate>Tue, 08 Dec 2009 06:27:11 GMT</pubDate><guid isPermaLink="false">Created Issue: XIncludingReader drops top-level attributes with Saxon.NET [25579] 20091208062711A</guid></item><item><title>Created Issue: XPathDocumentWriter static constructor doesn't properly revert CAS assertion [25131]</title><link>http://mvpxml.codeplex.com/WorkItem/View.aspx?WorkItemId=25131</link><description>Not sure if this has already been noted or is fixed yet, but I was just digging around in reflector and found a CAS flaw&amp;#58;&lt;br /&gt;&lt;br /&gt;static XPathDocumentWriter&amp;#40;&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    ReflectionPermission perm &amp;#61; new ReflectionPermission&amp;#40;PermissionState.Unrestricted&amp;#41;&amp;#59;&lt;br /&gt;    perm.Flags &amp;#61; ReflectionPermissionFlag.MemberAccess&amp;#59;&lt;br /&gt;    try&lt;br /&gt;    &amp;#123;&lt;br /&gt;        perm.Assert&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        Type t &amp;#61; typeof&amp;#40;XPathDocument&amp;#41;&amp;#59;&lt;br /&gt;        defaultConstructor &amp;#61; t.GetConstructor&amp;#40;BindingFlags.NonPublic &amp;#124; BindingFlags.Instance, null, Type.EmptyTypes, new ParameterModifier&amp;#91;0&amp;#93;&amp;#41;&amp;#59;&lt;br /&gt;        loadWriterMethod &amp;#61; t.GetMethod&amp;#40;&amp;#34;LoadFromWriter&amp;#34;, BindingFlags.NonPublic &amp;#124; BindingFlags.Instance&amp;#41;&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;    finally&lt;br /&gt;    &amp;#123;&lt;br /&gt;        CodeAccessPermission.RevertAssert&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&lt;br /&gt;CAS reversions should be done in catch-all handlers to prevent upstream exception filters from having the chance to run under elevated CAS permissions.  The above code should be rewritten as&amp;#58;&lt;br /&gt;&lt;br /&gt;static XPathDocumentWriter&amp;#40;&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    ReflectionPermission perm &amp;#61; new ReflectionPermission&amp;#40;PermissionState.Unrestricted&amp;#41;&amp;#59;&lt;br /&gt;    perm.Flags &amp;#61; ReflectionPermissionFlag.MemberAccess&amp;#59;&lt;br /&gt;    try&lt;br /&gt;    &amp;#123;&lt;br /&gt;        perm.Assert&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        Type t &amp;#61; typeof&amp;#40;XPathDocument&amp;#41;&amp;#59;&lt;br /&gt;        defaultConstructor &amp;#61; t.GetConstructor&amp;#40;BindingFlags.NonPublic &amp;#124; BindingFlags.Instance, null, Type.EmptyTypes, new ParameterModifier&amp;#91;0&amp;#93;&amp;#41;&amp;#59;&lt;br /&gt;        loadWriterMethod &amp;#61; t.GetMethod&amp;#40;&amp;#34;LoadFromWriter&amp;#34;, BindingFlags.NonPublic &amp;#124; BindingFlags.Instance&amp;#41;&amp;#59;&lt;br /&gt;        CodeAccessPermission.RevertAssert&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;    catch&lt;br /&gt;    &amp;#123;&lt;br /&gt;        CodeAccessPermission.RevertAssert&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        throw&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&lt;br /&gt;It&amp;#39;s possible that other areas in the library need to be similarly updated.  If you need more information, there is a reasonable body of knowledge on the Internet regarding this aspect of CAS.&lt;br /&gt;&lt;br /&gt;BTW, Mvp.Xml is a really cool library, and I love using it&amp;#33;&lt;br /&gt;</description><author>element533</author><pubDate>Wed, 28 Oct 2009 21:09:21 GMT</pubDate><guid isPermaLink="false">Created Issue: XPathDocumentWriter static constructor doesn't properly revert CAS assertion [25131] 20091028090921P</guid></item><item><title>Created Issue: GetCompiledExpression is not thread-safe</title><link>http://mvpxml.codeplex.com/WorkItem/View.aspx?WorkItemId=22196</link><description>We were using a previous version of mvp and got the error&amp;#58;&lt;br /&gt;&amp;#91;IndexOutOfRangeException&amp;#58; Index was outside the bounds of the array.&amp;#93;&lt;br /&gt;   System.Collections.Generic.Dictionary&amp;#96;2.Insert&amp;#40;TKey key, TValue value, Boolean add&amp;#41; &amp;#43;7460198&lt;br /&gt;   System.Collections.Generic.Dictionary&amp;#96;2.set_Item&amp;#40;TKey key, TValue value&amp;#41; &amp;#43;11&lt;br /&gt;   Mvp.Xml.Common.XPath.XPathCache.GetCompiledExpression&amp;#40;String expression, XPathNavigator source&amp;#41; &amp;#43;68&lt;br /&gt;   Mvp.Xml.Common.XPath.XPathCache.SelectNodes&amp;#40;String expression, XmlNode source&amp;#41; &amp;#43;25&lt;br /&gt;&lt;br /&gt;I saw this has been changed already&amp;#58; now a Hashtable is being used as cache. But still, this is not completely fixed, because the Hashtable is also not thread-safe, so you should use locking. Otherwise it might throw errors if you are adding more than one element at the same time to the cache.&lt;br /&gt;&lt;br /&gt;My suggestion for the code would be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;private static readonly Dictionary&amp;#60;string, XPathExpression&amp;#62; Cache &amp;#61; new Dictionary&amp;#60;string, XPathExpression&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; Retrieves a cached compiled expression, or a newly compiled one.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;private static XPathExpression GetCompiledExpression&amp;#40;string expression, XPathNavigator source&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;if &amp;#40;&amp;#33;Cache.ContainsKey&amp;#40;expression&amp;#41;&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;XPathExpression expr &amp;#61; source.Compile&amp;#40;expression&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;lock &amp;#40;Cache&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;if &amp;#40;&amp;#33;Cache.ContainsKey&amp;#40;expression&amp;#41;&amp;#41;&amp;#9;&amp;#47;&amp;#47; it might have been added in the meanwhile&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;Cache.Add&amp;#40;expression, expr&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;return Cache&amp;#91;expression&amp;#93;.Clone&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;</description><author>dkoning</author><pubDate>Mon, 27 Apr 2009 14:57:49 GMT</pubDate><guid isPermaLink="false">Created Issue: GetCompiledExpression is not thread-safe 20090427025749P</guid></item><item><title>Created Issue: XIncludingReader.WhitespaceHandling doesn't seem to do anything</title><link>http://www.codeplex.com/MVPXML/WorkItem/View.aspx?WorkItemId=19329</link><description>Maybe it&amp;#39;s just me, but it doesn&amp;#39;t appear that XIncludingReader.WhitespaceHandling actually does anything.  No matter what I set it to, I always end up with whitespace nodes.&lt;br /&gt;&lt;br /&gt;I implemented a workaround in the code that may be useful.  In XIncludingReader.cs, Read&amp;#40;&amp;#41;, before the switch &amp;#40;_reader.NodeType&amp;#41; I added&amp;#58;&lt;br /&gt;&lt;br /&gt;                if &amp;#40;_reader.NodeType &amp;#61;&amp;#61; XmlNodeType.Whitespace &amp;#38;&amp;#38; _whiteSpaceHandling &amp;#33;&amp;#61; WhitespaceHandling.All&amp;#41;&lt;br /&gt;                    _reader.Read&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;This makes everything work as I&amp;#39;d expect for WhitespaceHandling.None and WhitespaceHandling.All &amp;#40;admittedly, WhitespaceHandling.Significant isn&amp;#39;t handled properly by this&amp;#41;.&lt;br /&gt;&lt;br /&gt;Is there somewhere else that XIncludingReader.WhitespaceHandling is supposed to work&amp;#63;&lt;br /&gt;</description><author>frinetik</author><pubDate>Tue, 04 Nov 2008 21:09:19 GMT</pubDate><guid isPermaLink="false">Created Issue: XIncludingReader.WhitespaceHandling doesn't seem to do anything 20081104090919P</guid></item><item><title>Commented Issue: MvpXslTransform.Load doesn't close xml reader</title><link>http://www.codeplex.com/MVPXML/WorkItem/View.aspx?WorkItemId=14361</link><description>Method MvpXslTransform.Load&amp;#40;string stylesheetUri, XsltSettings settings, XmlResolver stylesheetResolver&amp;#41; opens XmlReader for given stylesheetUri and doesn&amp;#39;t close it after use. So stylesheet file got locked. I think it&amp;#39;s necessary to add using statement. Like this&amp;#58;&lt;br /&gt;&lt;br /&gt;public void Load&amp;#40;string stylesheetUri, XsltSettings settings, XmlResolver stylesheetResolver&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    using&amp;#40; XmlReader reader &amp;#61; XmlReader.Create&amp;#40;stylesheetUri&amp;#41;&lt;br /&gt;       this.LoadStylesheetFromReader&amp;#40;reader, settings, stylesheetResolver&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;Comments: ** Comment from web user: earthware ** &lt;p&gt;yup I find this a real pain when doing any xlslt transform during development as it keeps the file locked until iis is restarted&lt;/p&gt;</description><author>earthware</author><pubDate>Thu, 23 Oct 2008 20:19:43 GMT</pubDate><guid isPermaLink="false">Commented Issue: MvpXslTransform.Load doesn't close xml reader 20081023081943P</guid></item><item><title>Commented Issue: xinclude / encoding problem</title><link>http://www.codeplex.com/MVPXML/WorkItem/View.aspx?WorkItemId=18320</link><description>hello&lt;br /&gt;i&amp;#39;ve a problem with encoding and i can&amp;#39;t resolve it.&lt;br /&gt;I have a project which use the .net 2 xml api and everything work fine.&lt;br /&gt;but if i have a file which contains strange characters &amp;#40;i don&amp;#39;t put an example, otherwise codeplex refuse my post&amp;#41;, xinclude don&amp;#39;t word &amp;#40;but .net work&amp;#41;&lt;br /&gt;&lt;br /&gt;the error message is &amp;#58;&lt;br /&gt;..., valeur hexad&amp;#233;cimale 0x0B, est un caract&amp;#232;re non valide. Ligne 3, position 31.&amp;#34;&lt;br /&gt;&lt;br /&gt;i have made an example project which reproduce the bug&lt;br /&gt;do you know how to solve that problem &amp;#63;&lt;br /&gt;although i admit i&amp;#39;m a bit lost, i think it&amp;#39;s a encoding problem&lt;br /&gt;&lt;br /&gt;thanks&lt;br /&gt;Comments: ** Comment from web user: psohm ** &lt;p&gt;the xml example file is &amp;#58;&lt;/p&gt;&lt;p&gt;&amp;#60;&amp;#63;xml version&amp;#61;&amp;#34;1.0&amp;#34; encoding&amp;#61;&amp;#34;utf-8&amp;#34;&amp;#63;&amp;#62;&lt;br /&gt;&amp;#60;Magasin xmlns&amp;#58;xsi&amp;#61;&amp;#34;http&amp;#58;&amp;#47;&amp;#47;www.w3.org&amp;#47;2001&amp;#47;XMLSchema-instance&amp;#34; xmlns&amp;#58;xsd&amp;#61;&amp;#34;http&amp;#58;&amp;#47;&amp;#47;www.w3.org&amp;#47;2001&amp;#47;XMLSchema&amp;#34;&amp;#62;&lt;br /&gt;&amp;#9;&amp;#60;Client Nom&amp;#61;&amp;#34;KKK QK Q QKQK&amp;#38;&amp;#35;xB&amp;#59;K Q QK&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;&amp;#60;&amp;#47;Magasin&amp;#62;&lt;br /&gt;&lt;/p&gt;</description><author>psohm</author><pubDate>Thu, 04 Sep 2008 15:31:16 GMT</pubDate><guid isPermaLink="false">Commented Issue: xinclude / encoding problem 20080904033116P</guid></item><item><title>Created Issue: xinclude / encoding problem</title><link>http://www.codeplex.com/MVPXML/WorkItem/View.aspx?WorkItemId=18320</link><description>hello&lt;br /&gt;i&amp;#39;ve a problem with encoding and i can&amp;#39;t resolve it.&lt;br /&gt;I have a project which use the .net 2 xml api and everything work fine.&lt;br /&gt;but if i have a file which contains strange characters &amp;#40;i don&amp;#39;t put an example, otherwise codeplex refuse my post&amp;#41;, xinclude don&amp;#39;t word &amp;#40;but .net work&amp;#41;&lt;br /&gt;&lt;br /&gt;the error message is &amp;#58;&lt;br /&gt;..., valeur hexad&amp;#233;cimale 0x0B, est un caract&amp;#232;re non valide. Ligne 3, position 31.&amp;#34;&lt;br /&gt;&lt;br /&gt;i have made an example project which reproduce the bug&lt;br /&gt;do you know how to solve that problem &amp;#63;&lt;br /&gt;although i admit i&amp;#39;m a bit lost, i think it&amp;#39;s a encoding problem&lt;br /&gt;&lt;br /&gt;thanks&lt;br /&gt;</description><author>psohm</author><pubDate>Thu, 04 Sep 2008 15:28:47 GMT</pubDate><guid isPermaLink="false">Created Issue: xinclude / encoding problem 20080904032847P</guid></item><item><title>Commented Issue: Cannot get XpathCache to replace variables.</title><link>http://www.codeplex.com/MVPXML/WorkItem/View.aspx?WorkItemId=14941</link><description>I cannot get XpathCache to replace dynamic xpath variables in my xpath expression. I know the expression evaluates if I hardcode some test values. &lt;br /&gt;&lt;br /&gt;This works&amp;#58;&lt;br /&gt;string MenuDepthXpathStr &amp;#61; &amp;#34;&amp;#47;descendant-or-self&amp;#58;&amp;#58;ul&amp;#91;count&amp;#40;ancestor-or-self&amp;#58;&amp;#58;ul&amp;#41; &amp;#62;&amp;#61;  &amp;#36;depth&amp;#93;&amp;#34;&amp;#59;&lt;br /&gt;string Depth &amp;#61; &amp;#34;1&amp;#34;&amp;#59;&lt;br /&gt;&lt;br /&gt;XPathNodeIterator TempList &amp;#61; XPathCache.Select&amp;#40;MenuDepthXpathStr, MenuDocXml, new XmlNamespaceManager&amp;#40;MenuDocXml.NameTable&amp;#41;, new XPathVariable&amp;#40;&amp;#34;depth&amp;#34;, Depth&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;However this doesnt&amp;#58;&lt;br /&gt;string MenuDepthXpathStr &amp;#61; &amp;#34;&amp;#47;descendant-or-self&amp;#58;&amp;#58;ul&amp;#91;count&amp;#40;ancestor-or-self&amp;#58;&amp;#58;ul&amp;#41; &amp;#62;&amp;#61;  &amp;#36;depth &amp;#36;highlighted&amp;#93;&amp;#34;&amp;#59;&lt;br /&gt;string Depth &amp;#61; &amp;#34;1&amp;#34;&amp;#59;&lt;br /&gt;string Highlighted &amp;#61; &amp;#40;SomeBoolVal&amp;#63; &amp;#34;and contains&amp;#40;&amp;#64;class, &amp;#39;expanded&amp;#39;&amp;#41;&amp;#34; &amp;#58; &amp;#34;&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;XPathNodeIterator TempList &amp;#61; XPathCache.Select&amp;#40;MenuDepthXpathStr, MenuDocXml, new XmlNamespaceManager&amp;#40;MenuDocXml.NameTable&amp;#41;, new XPathVariable&amp;#40;&amp;#34;depth&amp;#34;, Depth&amp;#41;, new XPathVariable&amp;#40;&amp;#34;highlighted&amp;#34;, Highlighted&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;It seems as though my variable cannot contain xpath it can only be values. Why is this&amp;#63; Is there any way to dynamically generate the xpath itself and not just insert values&amp;#63;&lt;br /&gt;Comments: ** Comment from web user: dcazzulino ** &lt;p&gt;That&amp;#39;s just now how xslt variables work. We&amp;#39;re just making it easier to use a feature that&amp;#39;s provided by the System.Xml.Xsl namespace. We can&amp;#39;t make changes, and I don&amp;#39;t anticipate MS doing them either. &lt;/p&gt;&lt;p&gt;Again, if you&amp;#39;re invoking Sprocs, you cannot do that. I&amp;#39;m afraid this is internally &amp;#40;.NET&amp;#41; the same. &lt;/p&gt;</description><author>dcazzulino</author><pubDate>Tue, 08 Jul 2008 05:18:35 GMT</pubDate><guid isPermaLink="false">Commented Issue: Cannot get XpathCache to replace variables. 20080708051835A</guid></item><item><title>Closed Issue: Cannot get XpathCache to replace variables.</title><link>http://www.codeplex.com/MVPXML/WorkItem/View.aspx?WorkItemId=14941</link><description>I cannot get XpathCache to replace dynamic xpath variables in my xpath expression. I know the expression evaluates if I hardcode some test values. &lt;br /&gt;&lt;br /&gt;This works&amp;#58;&lt;br /&gt;string MenuDepthXpathStr &amp;#61; &amp;#34;&amp;#47;descendant-or-self&amp;#58;&amp;#58;ul&amp;#91;count&amp;#40;ancestor-or-self&amp;#58;&amp;#58;ul&amp;#41; &amp;#62;&amp;#61;  &amp;#36;depth&amp;#93;&amp;#34;&amp;#59;&lt;br /&gt;string Depth &amp;#61; &amp;#34;1&amp;#34;&amp;#59;&lt;br /&gt;&lt;br /&gt;XPathNodeIterator TempList &amp;#61; XPathCache.Select&amp;#40;MenuDepthXpathStr, MenuDocXml, new XmlNamespaceManager&amp;#40;MenuDocXml.NameTable&amp;#41;, new XPathVariable&amp;#40;&amp;#34;depth&amp;#34;, Depth&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;However this doesnt&amp;#58;&lt;br /&gt;string MenuDepthXpathStr &amp;#61; &amp;#34;&amp;#47;descendant-or-self&amp;#58;&amp;#58;ul&amp;#91;count&amp;#40;ancestor-or-self&amp;#58;&amp;#58;ul&amp;#41; &amp;#62;&amp;#61;  &amp;#36;depth &amp;#36;highlighted&amp;#93;&amp;#34;&amp;#59;&lt;br /&gt;string Depth &amp;#61; &amp;#34;1&amp;#34;&amp;#59;&lt;br /&gt;string Highlighted &amp;#61; &amp;#40;SomeBoolVal&amp;#63; &amp;#34;and contains&amp;#40;&amp;#64;class, &amp;#39;expanded&amp;#39;&amp;#41;&amp;#34; &amp;#58; &amp;#34;&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;XPathNodeIterator TempList &amp;#61; XPathCache.Select&amp;#40;MenuDepthXpathStr, MenuDocXml, new XmlNamespaceManager&amp;#40;MenuDocXml.NameTable&amp;#41;, new XPathVariable&amp;#40;&amp;#34;depth&amp;#34;, Depth&amp;#41;, new XPathVariable&amp;#40;&amp;#34;highlighted&amp;#34;, Highlighted&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;It seems as though my variable cannot contain xpath it can only be values. Why is this&amp;#63; Is there any way to dynamically generate the xpath itself and not just insert values&amp;#63;&lt;br /&gt;Comments: By Design</description><author>dcazzulino</author><pubDate>Tue, 08 Jul 2008 05:15:26 GMT</pubDate><guid isPermaLink="false">Closed Issue: Cannot get XpathCache to replace variables. 20080708051526A</guid></item></channel></rss>