Update of /cvsroot/mvp-xml/XPointer/v1/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30026/v1/src
Modified Files:
XPointer.csproj XPointerReader.cs
Log Message:
Added support for schema-determined IDs.
Index: XPointer.csproj
===================================================================
RCS file: /cvsroot/mvp-xml/XPointer/v1/src/XPointer.csproj,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- XPointer.csproj 9 Oct 2004 19:52:19 -0000 1.3
+++ XPointer.csproj 11 Oct 2004 20:56:47 -0000 1.4
@@ -98,6 +98,11 @@
BuildAction = "Compile"
/>
<File
+ RelPath = "IDAssuredValidatingReader.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
RelPath = "LexUtils.cs"
SubType = "Code"
BuildAction = "Compile"
Index: XPointerReader.cs
===================================================================
RCS file: /cvsroot/mvp-xml/XPointer/v1/src/XPointerReader.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- XPointerReader.cs 9 Oct 2004 19:52:19 -0000 1.2
+++ XPointerReader.cs 11 Oct 2004 20:56:47 -0000 1.3
@@ -24,7 +24,7 @@
//Underlying reader
private XmlReader _reader;
- private XPathNodeIterator _pointedNodes;
+ private XPathNodeIterator _pointedNodes;
/// <summary>
/// Initializes the <c>XPointerReader</c>.
@@ -44,8 +44,7 @@
//do nothing
}
-
- #endregion
+ #endregion
#region constructors
@@ -65,19 +64,52 @@
: this (new XmlTextReader(uri.AbsoluteUri, stream, nt), xpointer) {}
/// <summary>
+ /// Creates <c>XPointerReader</c> instance with given uri, stream, nametable and xpointer.
+ /// Additionally sets a flag whether to support schema-determined IDs.
+ /// </summary>
+ public XPointerReader(Uri uri, Stream stream, XmlNameTable nt, string xpointer,
+ bool supportSchemaDeterminedIDs)
+ : this (new XmlTextReader(uri.AbsoluteUri, stream, nt), xpointer, supportSchemaDeterminedIDs) {}
+
+ /// <summary>
/// Creates <c>XPointerReader</c> instance with given uri, stream and xpointer.
/// </summary>
public XPointerReader(Uri uri, Stream stream, string xpointer)
: this (uri, stream, new NameTable(), xpointer) {}
+
+ /// <summary>
+ /// Creates <c>XPointerReader</c> instance with given uri, stream and xpointer.
+ /// Additionally sets a flag whether to support schema-determined IDs.
+ /// </summary>
+ public XPointerReader(Uri uri, Stream stream, string xpointer,
+ bool supportSchemaDeterminedIDs)
+ : this (uri, stream, new NameTable(), xpointer, supportSchemaDeterminedIDs) {}
+
+ /// <summary>
+ /// Creates <c>XPointerReader</c> instance with given XmlReader and xpointer.
+ /// Additionally sets a flag whether to support schema-determined IDs.
+ /// </summary>
+ public XPointerReader(XmlReader reader, string xpointer)
+ : this (reader, xpointer, false) {}
/// <summary>
/// Creates <c>XPointerReader</c> instance with given XmlReader and xpointer.
+ /// Additionally sets a flag whether to support schema-determined IDs.
/// </summary>
- public XPointerReader(XmlReader reader, string xpointer)
+ public XPointerReader(XmlReader reader, string xpointer, bool supportSchemaDeterminedIDs)
{
- XmlValidatingReader vr = new XmlValidatingReader(reader);
+ XmlValidatingReader vr = null;
+ if (supportSchemaDeterminedIDs)
+ {
+ vr = new IdAssuredValidatingReader(reader);
+ vr.ValidationType = ValidationType.Auto;
+ }
+ else
+ {
+ vr = new XmlValidatingReader(reader);
+ vr.ValidationType = ValidationType.None;
+ }
vr.EntityHandling = EntityHandling.ExpandEntities;
- vr.ValidationType = ValidationType.None;
vr.ValidationEventHandler += new System.Xml.Schema.ValidationEventHandler(ValidationCallback);
XPathDocument doc = new XPathDocument(vr, XmlSpace.Preserve);
Init(doc, xpointer);
|