X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.XML%2FSystem.Xml%2FDTDValidatingReader2.cs;h=bfc183beb7d5fe7b10e0e678c7ce3ca213df04d7;hb=2d23bfcbce7a3f7e54dcd5911adb88b244baca35;hp=2a56bc8efd3a16528301b4a65303fa4f7bde5919;hpb=fc4b07f20f9e79fe99d4b520bb5ff8b5e80b10f6;p=mono.git diff --git a/mcs/class/System.XML/System.Xml/DTDValidatingReader2.cs b/mcs/class/System.XML/System.Xml/DTDValidatingReader2.cs index 2a56bc8efd3..bfc183beb7d 100644 --- a/mcs/class/System.XML/System.Xml/DTDValidatingReader2.cs +++ b/mcs/class/System.XML/System.Xml/DTDValidatingReader2.cs @@ -95,9 +95,7 @@ namespace Mono.Xml internal DTDValidatingReader (XmlReader reader, XmlValidatingReader validatingReader) { - IHasXmlParserContext container = reader as IHasXmlParserContext; - this.reader = new EntityResolvingXmlReader (reader, - container != null ? container.ParserContext : null); + this.reader = new EntityResolvingXmlReader (reader); this.sourceTextReader = reader as XmlTextReader; elementStack = new Stack (); automataStack = new Stack (); @@ -414,8 +412,12 @@ namespace Mono.Xml private bool ReadContent () { - if (reader.EOF) + switch (reader.ReadState) { + case ReadState.Closed: + case ReadState.Error: + case ReadState.EndOfFile: return false; + } if (popScope) { nsmgr.PopScope (); popScope = false; @@ -559,11 +561,6 @@ namespace Mono.Xml } } - private XmlException NotWFError (string message) - { - return new XmlException (this as IXmlLineInfo, BaseURI, message); - } - private void HandleError (string message, XmlSeverityType severity) { if (validatingReader != null && @@ -969,7 +966,12 @@ namespace Mono.Xml } } - public override bool ReadAttributeValue () +#if MOONLIGHT + internal +#else + public +#endif + override bool ReadAttributeValue () { if (consumedAttribute) return false; @@ -986,7 +988,12 @@ namespace Mono.Xml return reader.ReadAttributeValue (); } - public override void ResolveEntity () +#if MOONLIGHT + internal +#else + public +#endif + override void ResolveEntity () { reader.ResolveEntity (); } @@ -1024,7 +1031,12 @@ namespace Mono.Xml get { return reader.EOF; } } - public override bool HasValue { +#if MOONLIGHT + internal +#else + public +#endif + override bool HasValue { get { return currentAttribute >= 0 ? true : currentTextValue != null ? true : @@ -1190,7 +1202,7 @@ namespace Mono.Xml valueBuilder.Replace ('\n', ' '); valueBuilder.Replace ('\t', ' '); try { - if (def.Datatype.TokenizedType == XmlTokenizedType.CDATA) + if (def == null || def.Datatype.TokenizedType == XmlTokenizedType.CDATA) return valueBuilder.ToString (); for (int i=0; i < valueBuilder.Length; i++) { if (valueBuilder [i] != ' ')