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 ();
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;
}
}
- private XmlException NotWFError (string message)
- {
- return new XmlException (this as IXmlLineInfo, BaseURI, message);
- }
-
private void HandleError (string message, XmlSeverityType severity)
{
if (validatingReader != null &&
}
}
- public override bool ReadAttributeValue ()
+#if MOONLIGHT
+ internal
+#else
+ public
+#endif
+ override bool ReadAttributeValue ()
{
if (consumedAttribute)
return false;
return reader.ReadAttributeValue ();
}
- public override void ResolveEntity ()
+#if MOONLIGHT
+ internal
+#else
+ public
+#endif
+ override void ResolveEntity ()
{
reader.ResolveEntity ();
}
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 :
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] != ' ')