/// <summary> /// Supply the instance document to be validated in the form of a <c>Stream</c> /// </summary> /// <param name="source">A stream containing the XML document to be parsed /// and validated. This stream will be consumed by the validation process, /// but it will not be closed after use: that is the responsibility of the /// caller.</param> /// <param name="baseUri">The base URI to be used for resolving any relative /// references, for example a reference to an <c>xsi:schemaLocation</c></param> public void SetSource(Stream source, Uri baseUri) { JStreamSource ss = new JStreamSource(new JDotNetInputStream(source)); ss.setSystemId(baseUri.ToString()); this.source = ss; sources.Clear(); }
/// <summary> /// Supply the instance document to be validated in the form of a <c>Uri</c> reference /// </summary> /// <param name="uri">URI of the document to be validated</param> public void SetSource(Uri uri) { JStreamSource ss = new JStreamSource(uri.ToString()); JAugmentedSource aug = JAugmentedSource.makeAugmentedSource(ss); aug.setPleaseCloseAfterUse(true); this.source = aug; sources.Clear(); }
/// <summary> /// Supply the instance document to be validated, in the form of an <c>XmlReader</c>. /// </summary> /// <remarks> /// The <c>XmlReader</c> is responsible for parsing the document; this method validates it. /// </remarks> /// <param name="reader">The <c>XmlReader</c> used to read and parse the instance /// document being validated. This is used as supplied. For conformance, use of a /// plain <c>XmlTextReader</c> is discouraged, because it does not expand entity /// references. This may cause validation failures. /// </param> public void SetSource(XmlReader reader) { JPullProvider pp = new JDotNetPullProvider(reader); JPipelineConfiguration pipe = config.makePipelineConfiguration(); pipe.setUseXsiSchemaLocation(schemaValidator.isUseXsiSchemaLocation()); pp.setPipelineConfiguration(pipe); // pp = new PullTracer(pp); /* diagnostics */ JPullSource psource = new JPullSource(pp); psource.setSystemId(reader.BaseURI); this.source = psource; sources.Clear(); }
/// <summary> /// Supply the instance document to be validated in the form of an <c>XdmNode</c>. /// </summary> /// <remarks> /// <para>The supplied node must be either a document node or an element node. /// If an element node is supplied, then the subtree rooted at this element is /// validated as if it were a complete document: that is, it must not only conform /// to the structure required of that element, but any referential constraints /// (keyref, IDREF) must be satisfied within that subtree. /// </para> /// </remarks> /// <param name="source">The document or element node at the root of the tree /// to be validated</param> public void SetSource(XdmNode source) { this.source = (JNodeInfo)source.value; sources.Clear(); }