private Uri ParseUri(RdfACoreParserContext context, String value, RdfACurieMode mode) { switch (mode) { case RdfACurieMode.Uri: //Resolve as a URI which may be relative return this.ResolveUri(context, value); case RdfACurieMode.SafeCurieOrCurieOrUri: if (this.IsSafeCurie(value)) { //If a Safe CURIE must resolve as a CURIE ignoring if not resolvable return this.ResolveSafeCurie(context, value); } else { //Otherwise try resolving as a CURIE and if not resolvable try as a URI Uri u = this.ResolveCurie(context, value); if (u == null) { //Try resolving as a URI return this.ResolveUri(context, value); } else { //Resolved as a CURIE return u; } } case RdfACurieMode.TermOrCurieOrAbsUri: if (XmlSpecsHelper.IsNCName(value)) { //If a Term try resolving as a term and ignore if not resolvable return this.ResolveTerm(context, value); } else if (this.IsCurie(value)) { //If a CURIE try resolving as a CURIE first Uri u = this.ResolveCurie(context, value); if (u == null) { //If not resolvable as a CURIE try as an absolute URI return this.ResolveAbsoluteUri(value); } else { //Resolved as a CURIE return u; } } else { //Try resolving as an absolute URI return this.ResolveAbsoluteUri(value); } default: return null; } }
private Uri ParseUri(RdfACoreParserContext context, String value, RdfACurieMode mode) { switch (mode) { case RdfACurieMode.Uri: //Resolve as a URI which may be relative return(this.ResolveUri(context, value)); case RdfACurieMode.SafeCurieOrCurieOrUri: if (this.IsSafeCurie(value)) { //If a Safe CURIE must resolve as a CURIE ignoring if not resolvable return(this.ResolveSafeCurie(context, value)); } else { //Otherwise try resolving as a CURIE and if not resolvable try as a URI Uri u = this.ResolveCurie(context, value); if (u == null) { //Try resolving as a URI return(this.ResolveUri(context, value)); } else { //Resolved as a CURIE return(u); } } case RdfACurieMode.TermOrCurieOrAbsUri: if (XmlSpecsHelper.IsNCName(value)) { //If a Term try resolving as a term and ignore if not resolvable return(this.ResolveTerm(context, value)); } else if (this.IsCurie(value)) { //If a CURIE try resolving as a CURIE first Uri u = this.ResolveCurie(context, value); if (u == null) { //If not resolvable as a CURIE try as an absolute URI return(this.ResolveAbsoluteUri(value)); } else { //Resolved as a CURIE return(u); } } else { //Try resolving as an absolute URI return(this.ResolveAbsoluteUri(value)); } default: return(null); } }