Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XmlResolver.cs / 1305376 / XmlResolver.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml { using System; using System.IO; using System.Text; using System.Security; using System.Security.Permissions; #if !SILVERLIGHT using System.Net; #endif using System.Runtime.Versioning; ////// /// public abstract class XmlResolver { ///Resolves external XML resources named by a Uniform /// Resource Identifier (URI). This class is ////// . /// /// public abstract Object GetEntity(Uri absoluteUri, string role, Type ofObjectToReturn); ///Maps a /// URI to an Object containing the actual resource. ////// /// #if !SILVERLIGHT [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] #endif public virtual Uri ResolveUri(Uri baseUri, string relativeUri) { if ( baseUri == null || ( !baseUri.IsAbsoluteUri && baseUri.OriginalString.Length == 0 ) ) { Uri uri = new Uri( relativeUri, UriKind.RelativeOrAbsolute ); #if !SILVERLIGHT // Path.GetFullPath is SecurityCritical if ( !uri.IsAbsoluteUri && uri.OriginalString.Length > 0 ) { uri = new Uri( Path.GetFullPath( relativeUri ) ); } #endif return uri; } else { if (relativeUri == null || relativeUri.Length == 0) { return baseUri; } // relative base Uri if ( !baseUri.IsAbsoluteUri ) { #if SILVERLIGHT // create temporary base for the relative URIs Uri tmpBaseUri = new Uri("tmp:///"); // create absolute base URI with the temporary base Uri absBaseUri = new Uri(tmpBaseUri, baseUri.OriginalString); // resolve the relative Uri into a new absolute URI Uri resolvedAbsUri = new Uri(absBaseUri, relativeUri); // make it relative by removing temporary base Uri resolvedRelUri = tmpBaseUri.MakeRelativeUri(resolvedAbsUri); return resolvedRelUri; #else throw new NotSupportedException(Res.GetString(Res.Xml_RelativeUriNotSupported)); #endif } return new Uri( baseUri, relativeUri ); } } #if !SILVERLIGHT //UE attension ///[To be supplied.] ////// /// public abstract ICredentials Credentials { set; } #endif public virtual bool SupportsType(Uri absoluteUri, Type type) { if (absoluteUri == null) { throw new ArgumentNullException("absoluteUri"); } if (type == null || type == typeof(Stream)) { return true; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //[To be supplied.] ///// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml { using System; using System.IO; using System.Text; using System.Security; using System.Security.Permissions; #if !SILVERLIGHT using System.Net; #endif using System.Runtime.Versioning; ////// /// public abstract class XmlResolver { ///Resolves external XML resources named by a Uniform /// Resource Identifier (URI). This class is ////// . /// /// public abstract Object GetEntity(Uri absoluteUri, string role, Type ofObjectToReturn); ///Maps a /// URI to an Object containing the actual resource. ////// /// #if !SILVERLIGHT [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] #endif public virtual Uri ResolveUri(Uri baseUri, string relativeUri) { if ( baseUri == null || ( !baseUri.IsAbsoluteUri && baseUri.OriginalString.Length == 0 ) ) { Uri uri = new Uri( relativeUri, UriKind.RelativeOrAbsolute ); #if !SILVERLIGHT // Path.GetFullPath is SecurityCritical if ( !uri.IsAbsoluteUri && uri.OriginalString.Length > 0 ) { uri = new Uri( Path.GetFullPath( relativeUri ) ); } #endif return uri; } else { if (relativeUri == null || relativeUri.Length == 0) { return baseUri; } // relative base Uri if ( !baseUri.IsAbsoluteUri ) { #if SILVERLIGHT // create temporary base for the relative URIs Uri tmpBaseUri = new Uri("tmp:///"); // create absolute base URI with the temporary base Uri absBaseUri = new Uri(tmpBaseUri, baseUri.OriginalString); // resolve the relative Uri into a new absolute URI Uri resolvedAbsUri = new Uri(absBaseUri, relativeUri); // make it relative by removing temporary base Uri resolvedRelUri = tmpBaseUri.MakeRelativeUri(resolvedAbsUri); return resolvedRelUri; #else throw new NotSupportedException(Res.GetString(Res.Xml_RelativeUriNotSupported)); #endif } return new Uri( baseUri, relativeUri ); } } #if !SILVERLIGHT //UE attension ///[To be supplied.] ////// /// public abstract ICredentials Credentials { set; } #endif public virtual bool SupportsType(Uri absoluteUri, Type type) { if (absoluteUri == null) { throw new ArgumentNullException("absoluteUri"); } if (type == null || type == typeof(Stream)) { return true; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FormsAuthenticationEventArgs.cs
- ArgumentValidation.cs
- TrackingLocation.cs
- ComponentChangedEvent.cs
- PerformanceCounter.cs
- HelpProvider.cs
- ApplicationFileParser.cs
- PageAsyncTaskManager.cs
- TableItemStyle.cs
- JulianCalendar.cs
- TextFormatterImp.cs
- PathSegment.cs
- NonBatchDirectoryCompiler.cs
- SqlTransaction.cs
- BaseConfigurationRecord.cs
- DefaultValidator.cs
- WhitespaceReader.cs
- GenericNameHandler.cs
- XmlBinaryWriterSession.cs
- MarkerProperties.cs
- TextEditorMouse.cs
- WorkflowInstanceSuspendedRecord.cs
- TdsParser.cs
- LayoutManager.cs
- JsonQNameDataContract.cs
- DocumentPageTextView.cs
- _BaseOverlappedAsyncResult.cs
- ContextStack.cs
- DataControlReference.cs
- FileSecurity.cs
- ErrorProvider.cs
- ApplicationTrust.cs
- WebPermission.cs
- ConfigXmlElement.cs
- ComplexObject.cs
- SpecialTypeDataContract.cs
- CodeDOMProvider.cs
- SqlTriggerContext.cs
- DetailsViewInsertEventArgs.cs
- NetworkInformationException.cs
- TreeViewCancelEvent.cs
- GroupQuery.cs
- AuthorizationSection.cs
- BindingNavigator.cs
- MobileControl.cs
- JobCollate.cs
- SchemaNames.cs
- WindowsListViewItem.cs
- InfoCardTrace.cs
- UrlPath.cs
- PriorityChain.cs
- DesignerTextViewAdapter.cs
- TypeBrowserDialog.cs
- RequestResizeEvent.cs
- ToolTipAutomationPeer.cs
- SQLBytesStorage.cs
- TextServicesDisplayAttribute.cs
- ObjectQuery_EntitySqlExtensions.cs
- ServiceChannelManager.cs
- WindowsMenu.cs
- CompiledAction.cs
- InvokeBinder.cs
- ServiceOperationParameter.cs
- SerializationInfo.cs
- DiffuseMaterial.cs
- MeasureItemEvent.cs
- Vector3dCollection.cs
- HtmlInputCheckBox.cs
- DataTableReader.cs
- UnitySerializationHolder.cs
- TransformCryptoHandle.cs
- EditorPart.cs
- ParseElement.cs
- ListViewItemSelectionChangedEvent.cs
- ListViewItem.cs
- OracleInternalConnection.cs
- DataContractAttribute.cs
- SolidColorBrush.cs
- EdmError.cs
- GridViewColumnCollection.cs
- Win32PrintDialog.cs
- CaseCqlBlock.cs
- SHA512.cs
- XamlPointCollectionSerializer.cs
- ProfessionalColorTable.cs
- CallbackTimeoutsElement.cs
- DataGrid.cs
- TrustManager.cs
- WindowsStartMenu.cs
- Parallel.cs
- SvcMapFileLoader.cs
- IItemContainerGenerator.cs
- XpsS0ValidatingLoader.cs
- HandledEventArgs.cs
- InputElement.cs
- ScrollItemProviderWrapper.cs
- CqlIdentifiers.cs
- RegexParser.cs
- StringFreezingAttribute.cs
- TabItem.cs