Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAtsushi Eno <atsushieno@gmail.com>2004-12-09 18:30:46 +0300
committerAtsushi Eno <atsushieno@gmail.com>2004-12-09 18:30:46 +0300
commitc22086d881c6013e4098416b144f16847de6dceb (patch)
tree63c6b1806add8161016dcb8c69ba484180cef679 /mcs/class/System.XML/Mono.Xml.Schema
parentdf9cce340280b896e5a42b86cd0459d5336e088d (diff)
2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
* XsdValidatingReader.cs : mhm, something is wrong with call to context.PopScope(). So quick fix and marked as FIXME. svn path=/trunk/mcs/; revision=37490
Diffstat (limited to 'mcs/class/System.XML/Mono.Xml.Schema')
-rw-r--r--mcs/class/System.XML/Mono.Xml.Schema/ChangeLog5
-rw-r--r--mcs/class/System.XML/Mono.Xml.Schema/XsdValidatingReader.cs17
2 files changed, 13 insertions, 9 deletions
diff --git a/mcs/class/System.XML/Mono.Xml.Schema/ChangeLog b/mcs/class/System.XML/Mono.Xml.Schema/ChangeLog
index 2a4b5dcf464..630868e3add 100644
--- a/mcs/class/System.XML/Mono.Xml.Schema/ChangeLog
+++ b/mcs/class/System.XML/Mono.Xml.Schema/ChangeLog
@@ -1,5 +1,10 @@
2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
+ * XsdValidatingReader.cs : mhm, something is wrong with call to
+ context.PopScope(). So quick fix and marked as FIXME.
+
+2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
+
* XsdParticleValidationState.cs : removed unused enum.
* XsdValidatingReader.cs : more refactoring. Validation process is
now strictly done only when not skipping (no side effect).
diff --git a/mcs/class/System.XML/Mono.Xml.Schema/XsdValidatingReader.cs b/mcs/class/System.XML/Mono.Xml.Schema/XsdValidatingReader.cs
index f773a824416..e9fb15489b0 100644
--- a/mcs/class/System.XML/Mono.Xml.Schema/XsdValidatingReader.cs
+++ b/mcs/class/System.XML/Mono.Xml.Schema/XsdValidatingReader.cs
@@ -57,6 +57,7 @@ namespace Mono.Xml.Schema
ArrayList keyTables = new ArrayList ();
ArrayList currentKeyFieldConsumers;
+ ArrayList tmpKeyrefPool;
XsdValidationStateManager stateManager =
new XsdValidationStateManager ();
@@ -75,11 +76,6 @@ namespace Mono.Xml.Schema
ArrayList elementQNameStack = new ArrayList ();
- // Property Cache.
-
- // Validation engine cached object
- ArrayList tmpKeyrefPool;
-
#region .ctor
public XsdValidatingReader (XmlReader reader)
{
@@ -1724,10 +1720,13 @@ namespace Mono.Xml.Schema
public void PopScope ()
{
- XsdValidationContext restored = (XsdValidationContext) contextStack.Pop ();
- this.Element = restored.Element;
- this.State = restored.State;
- this.XsiType = restored.XsiType;
+ // FIXME: this count check should not be required, so check the behavior.
+ if (contextStack.Count > 0) {
+ XsdValidationContext restored = (XsdValidationContext) contextStack.Pop ();
+ this.Element = restored.Element;
+ this.State = restored.State;
+ this.XsiType = restored.XsiType;
+ }
}
public void EvaluateStartElement (