public RelaxngPattern ReadExternalResource(RelaxngGrammar grammar, Uri uri, string nsContext) { XmlTextReader xtr = null; RelaxngGrammar g = null; RelaxngPattern p; try { if (grammar.IsSourceCompactSyntax) { p = RncParser.ParseRnc(new StreamReader((Stream)grammar.Resolver.GetEntity(uri, null, typeof(Stream))), null, BaseUri, nsContext); } else { xtr = new XmlTextReader(uri.AbsoluteUri, (Stream)grammar.Resolver.GetEntity(uri, null, typeof(Stream))); RelaxngReader r = new RelaxngReader(xtr, nsContext, grammar.Resolver); r.MoveToContent(); p = r.ReadPattern(); } } catch (Exception ex) { // umm, bad catch though :-( throw new RelaxngException(this, String.Format("Could not include grammar {0}: {1}", uri.AbsoluteUri, ex.Message), ex); } finally { if (xtr != null) { xtr.Close(); } } p.XmlResolver = grammar.Resolver; return(p); }
public RelaxngPattern ReadExternalResource(RelaxngGrammar grammar, Uri uri, string nsContext) { XmlReader xtr = null; RelaxngGrammar g = null; RelaxngPattern p; try { if (uri.AbsolutePath.EndsWith(".rnc", StringComparison.OrdinalIgnoreCase)) { p = RncParser.ParseRnc(new StreamReader((Stream)grammar.Resolver.GetEntity(uri, null, typeof(Stream))), null, uri.AbsoluteUri, nsContext); } else { #if PORTABLE xtr = XmlReader.Create((Stream)grammar.Resolver.GetEntity(uri, null, typeof(Stream))); #else xtr = new XmlTextReader(uri.AbsoluteUri, (Stream)grammar.Resolver.GetEntity(uri, null, typeof(Stream))); #endif RelaxngReader r = new RelaxngReader(xtr, nsContext, grammar.Resolver); r.MoveToContent(); p = r.ReadPattern(); } } catch (Exception ex) { // umm, bad catch though :-( throw new RelaxngException(this, String.Format("Could not include grammar {0}: {1}", uri.AbsoluteUri, ex.Message), ex); } finally { if (xtr != null) { xtr.Dispose(); } } p.XmlResolver = grammar.Resolver; return(p); }
public static RelaxngPattern Read (XmlReader xmlReader, RelaxngDatatypeProvider provider, XmlResolver xmlResolver) { RelaxngReader r = new RelaxngReader (xmlReader, null, xmlResolver); if (r.ReadState == ReadState.Initial) r.Read (); r.MoveToContent (); RelaxngPattern p = r.ReadPattern (); p.DataProvider = provider; p.XmlResolver = xmlResolver; return p; }
public RelaxngPattern ReadExternalResource (RelaxngGrammar grammar, Uri uri, string nsContext) { XmlTextReader xtr = null; RelaxngGrammar g = null; RelaxngPattern p; try { if (uri.AbsolutePath.EndsWith(".rnc", StringComparison.InvariantCultureIgnoreCase)) { p = RncParser.ParseRnc (new StreamReader ((Stream) grammar.Resolver.GetEntity (uri, null, typeof (Stream))), null, uri.AbsoluteUri, nsContext); } else { xtr = new XmlTextReader (uri.AbsoluteUri, (Stream) grammar.Resolver.GetEntity (uri, null, typeof (Stream))); RelaxngReader r = new RelaxngReader (xtr, nsContext, grammar.Resolver); r.MoveToContent (); p = r.ReadPattern (); } } catch (Exception ex) { // umm, bad catch though :-( throw new RelaxngException (this, String.Format("Could not include grammar {0}: {1}", uri.AbsoluteUri, ex.Message), ex); } finally { if (xtr != null) xtr.Close (); } p.XmlResolver = grammar.Resolver; return p; }
private void loadGrammarFromUrl (string url) { reader = new RelaxngReader (new XmlTextReader (url)); }
public RelaxngPattern ReadExternalResource (RelaxngGrammar grammar, Uri uri, string nsContext) { XmlTextReader xtr = null; RelaxngGrammar g = null; try { if (grammar.IsSourceCompactSyntax) { return RncParser.ParseRnc (new StreamReader ((Stream) grammar.Resolver.GetEntity (uri, null, typeof (Stream))), null, BaseUri, nsContext); } else { xtr = new XmlTextReader (uri.AbsoluteUri, (Stream) grammar.Resolver.GetEntity (uri, null, typeof (Stream))); RelaxngReader r = new RelaxngReader (xtr, nsContext, grammar.Resolver); r.MoveToContent (); return r.ReadPattern (); } } catch (Exception ex) { // umm, bad catch though :-( throw new RelaxngException (this, String.Format("Could not include grammar {0}: {1}", uri.AbsoluteUri, ex.Message), ex); } finally { if (xtr != null) xtr.Close (); } }