+2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdIdentityPath.cs,
+ XsdIdentityState.cs,
+ XsdKeyTable.cs,
+ XsdParticleValidationState.cs,
+ XsdValidatingReader.cs,
+ XsdWildcard.cs : made classes internal. Removed extra TODO comments.
+
2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
* XsdIdentityState.cs,
\r
namespace Mono.Xml.Schema\r
{\r
- public class XsdIdentitySelector\r
+ internal class XsdIdentitySelector\r
{\r
XsdIdentityPath [] selectorPaths;\r
\r
}\r
}\r
\r
- public class XsdIdentityField\r
+ internal class XsdIdentityField\r
{\r
XsdIdentityPath [] fieldPaths;\r
int index;\r
}\r
}\r
\r
- public class XsdIdentityPath\r
+ internal class XsdIdentityPath\r
{\r
public XsdIdentityStep [] OrderedSteps;\r
public bool Descendants;\r
public string AttributeName;\r
}\r
\r
- public class XsdIdentityStep\r
+ internal class XsdIdentityStep\r
{\r
public bool IsCurrent;\r
public bool IsAttribute;\r
\r
namespace Mono.Xml.Schema\r
{\r
- public class XsdKeyEntryField\r
+ internal class XsdKeyEntryField\r
{\r
XsdKeyEntry entry;\r
XsdIdentityField field;\r
}\r
}\r
\r
- public class XsdKeyEntryFieldCollection : IList\r
+ internal class XsdKeyEntryFieldCollection : IList\r
{\r
ArrayList al = new ArrayList ();\r
\r
}\r
\r
// Created per field/key pair, created per selector-matched element.\r
- public class XsdKeyEntry\r
+ internal class XsdKeyEntry\r
{\r
public int StartDepth;\r
public int CurrentStep;\r
namespace Mono.Xml.Schema\r
{\r
// Created per constraining element.\r
- public class XsdKeyTable\r
+ internal class XsdKeyTable\r
{\r
private XsdIdentitySelector selector;\r
private XmlSchemaIdentityConstraint source;\r
namespace Mono.Xml.Schema
{
- public enum XsdParticleEvaluationResult
+ internal enum XsdParticleEvaluationResult
{
Matched = 1, // Matched one of its components.
Passed = 2, // Did not match, but it successfully passed the whole components.
Mismatched = 4 // Dis not match,
}
- public class XsdValidationStateManager
+ internal class XsdValidationStateManager
{
Hashtable table;
XmlSchemaElement currentElement;
}
}
- public abstract class XsdValidationState
+ internal abstract class XsdValidationState
{
// Static members
}
}
- public class XsdElementValidationState : XsdValidationState
+ internal class XsdElementValidationState : XsdValidationState
{
public XsdElementValidationState (XmlSchemaElement element, XsdValidationStateManager manager)
: base (manager)
}
}
- public class XsdSequenceValidationState : XsdValidationState
+ internal class XsdSequenceValidationState : XsdValidationState
{
XmlSchemaSequence seq;
int current;
}
- public class XsdChoiceValidationState : XsdValidationState
+ internal class XsdChoiceValidationState : XsdValidationState
{
XmlSchemaChoice choice;
bool emptiable;
}\r
}
- public class XsdAllValidationState : XsdValidationState
+ internal class XsdAllValidationState : XsdValidationState
{
XmlSchemaAll all;
ArrayList consumed = new ArrayList ();
}\r
}
- public class XsdAnyValidationState : XsdValidationState
+ internal class XsdAnyValidationState : XsdValidationState
{
XmlSchemaAny any;
}\r
}
- public class XsdAppendedValidationState : XsdValidationState
+ internal class XsdAppendedValidationState : XsdValidationState
{
public XsdAppendedValidationState (XsdValidationStateManager manager,
XsdValidationState head, XsdValidationState rest)
}\r
}
- public class XsdEmptyValidationState : XsdValidationState
+ internal class XsdEmptyValidationState : XsdValidationState
{
public XsdEmptyValidationState (XsdValidationStateManager manager)
: base (manager)
\r
}
- public class XsdInvalidValidationState : XsdValidationState
+ internal class XsdInvalidValidationState : XsdValidationState
{
internal XsdInvalidValidationState (XsdValidationStateManager manager)
: base (manager)
namespace Mono.Xml.Schema
{
- public class XsdValidatingReader : XmlReader, IXmlLineInfo, IHasXmlSchemaInfo, IHasXmlParserContext
+ internal class XsdValidatingReader : XmlReader, IXmlLineInfo, IHasXmlSchemaInfo, IHasXmlParserContext
{
static char [] wsChars = new char [] {' ', '\t', '\n', '\r'};
// Utility for missing validation completion related to child items.
private void ValidateCharacters ()
{
- // TODO: value context validation here.
if (xsiNilDepth >= 0 && xsiNilDepth < reader.Depth)
HandleError ("Element item appeared, while current element context is nil.");
if (storedCharacters.Length == 0) {
// 3.3.4 Element Locally Valid (Element) 5.1.2
- // TODO: check entire DefaultValid (3.3.6)
if (context.Element != null) {
if (context.Element.ValidatedDefaultValue != null)
value = context.Element.ValidatedDefaultValue;
// If current schema type exists, then this xsi:type must be
// valid extension of that type. See 1.2.1.2.4.
if (context.Element != null) {
- // FIXME: supply *correct* base type
AssessLocalTypeDerivationOK (xsiType, context.Element.ElementType, context.Element.BlockResolved);
}
AssessStartElementLocallyValidType (xsiType); // 1.2.2:
}
// 3.4.4 Element Locally Valid (Complex Type)
- // TODO ("wild IDs constraints.")
private void AssessElementLocallyValidComplexType (XmlSchemaComplexType cType)
{
// 1.
// Collect default attributes.
// 4.
- // FIXME: FixedValue check maybe extraneous.
foreach (DictionaryEntry entry in cType.AttributeUses) {
XmlSchemaAttribute attr = (XmlSchemaAttribute) entry.Value;
if (reader [attr.QualifiedName.Name, attr.QualifiedName.Namespace] == null) {
}
// 3.2.4 Attribute Locally Valid and 3.4.4 - 5.wildIDs
- // TODO
private void AssessAttributeLocallyValid (XmlSchemaAttribute attr, bool checkWildIDs)
{
// 1.
case XmlSchema.InstanceNamespace:
break;
}
- // TODO 2. - 4.
+ // 2. - 4.
if (attr.AttributeType == null)
HandleError ("Attribute type is missing for " + attr.QualifiedName);
XmlSchemaDatatype dt = attr.AttributeType as XmlSchemaDatatype;
}
if (attr.ValidatedFixedValue != null && attr.ValidatedFixedValue != normalized)
HandleError ("The value of the attribute " + attr.QualifiedName + " does not match with its fixed value.");
- // FIXME: this is extraneous checks in 3.2.4 Attribute Locally Valid.
if (checkWildIDs)
AssessEachAttributeIdentityConstraint (dt, normalized, parsedValue);
}
}
}
- // TODO
private void AssessAttributeLocallyValidUse (XmlSchemaAttribute attr)
{
- // TODO: value constraint check
// This is extra check than spec 3.5.4
if (attr.ValidatedUse == XmlSchemaUse.Prohibited)
HandleError ("Attribute " + attr.QualifiedName + " is prohibited in this context.");
}
// 3.11.4 Identity Constraint Satisfied
- // TODO
private void AssessStartIdentityConstraints ()
{
tmpKeyrefPool.Clear ();
// If possible, create new field entry candidates.
for (int j = 0; j < seq.Entries.Count; j++) {
XsdKeyEntry entry = seq.Entries [j] as XsdKeyEntry;
-// if (entry.KeyFound)
-// FIXME: it should not be skipped for multiple key check!!
-// continue;
try {
entry.FieldMatches (this.elementQNameStack, this);
} catch (Exception ex) { // FIXME: (wishlist) It is bad manner ;-(
\r
namespace Mono.Xml.Schema\r
{\r
- public class XsdWildcard\r
+ internal class XsdWildcard\r
{\r
public XsdWildcard (XmlSchemaObject wildcard)\r
{\r