/// <summary> /// Computes absolute path from the given URI</summary> /// <param name="uri">URI representing path to get absolute path for</param> /// <returns>Absolute path for given URI</returns> public string GetAbsolutePath(Uri uri) { string texPath = null; if (uri.IsAbsoluteUri) { texPath = uri.LocalPath; } else { DomResource domRes = this.As <DomResource>(); //i absUri = Uri absUri = new Uri(domRes.Uri, uri); texPath = absUri.LocalPath; } texPath = System.Uri.UnescapeDataString(texPath); texPath = texPath.Replace("/", "\\"); return(texPath); }
/// <summary> /// Opens or creates a document at the given URI</summary> /// <param name="uri">Document URI</param> /// <returns>Document, or null if the document couldn't be opened or created</returns> IDocument IDocumentClient.Open(Uri uri) { foreach (IResourceResolver resolver in m_resolvers) { DomResource res = resolver.Resolve(uri) as DomResource; if (res != null) { // Remove any previously opened documents. http://tracker.ship.scea.com/jira/browse/WWSATF-1422 var documents = new List <IDocument>(m_documentRegistry.Documents); foreach (IDocument document in documents) { m_documentRegistry.Remove(document); } return(new ModelDocument(res.DomNode, uri)); } } return(null); }