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
- ObjectList.cs
- DateTimePicker.cs
- TextElementEnumerator.cs
- LinkClickEvent.cs
- CheckBoxFlatAdapter.cs
- ISCIIEncoding.cs
- mediaclock.cs
- MethodBody.cs
- RoutedEventConverter.cs
- JsonReaderWriterFactory.cs
- WpfXamlMember.cs
- FontCacheUtil.cs
- validation.cs
- AnnotationStore.cs
- DefaultTraceListener.cs
- IriParsingElement.cs
- MarkedHighlightComponent.cs
- UnsafeNetInfoNativeMethods.cs
- PersonalizableTypeEntry.cs
- ToolStripPanel.cs
- MatrixTransform3D.cs
- SAPIEngineTypes.cs
- JsonEncodingStreamWrapper.cs
- WebConfigurationManager.cs
- LogReservationCollection.cs
- SpellCheck.cs
- listitem.cs
- SizeF.cs
- DbDataAdapter.cs
- WindowsTab.cs
- ObjectRef.cs
- UIElement3D.cs
- DBDataPermissionAttribute.cs
- RegistryConfigurationProvider.cs
- ToolStripItemDataObject.cs
- ServiceCredentials.cs
- dbdatarecord.cs
- GeneralTransform3D.cs
- SqlConnection.cs
- FolderBrowserDialogDesigner.cs
- SqlDependency.cs
- NativeMethods.cs
- XmlArrayAttribute.cs
- VisualTreeUtils.cs
- SecurityManager.cs
- ObjectDataSourceDesigner.cs
- CollectionChangedEventManager.cs
- DataGridViewDataErrorEventArgs.cs
- CodePageEncoding.cs
- InternalRelationshipCollection.cs
- SqlUtils.cs
- XmlSchemaRedefine.cs
- DataKey.cs
- DataGridViewLayoutData.cs
- GlobalProxySelection.cs
- JpegBitmapEncoder.cs
- DataControlLinkButton.cs
- PreProcessInputEventArgs.cs
- WebServicesInteroperability.cs
- SqlBulkCopyColumnMappingCollection.cs
- SqlServer2KCompatibilityCheck.cs
- TextEffectCollection.cs
- ListViewGroup.cs
- JapaneseCalendar.cs
- ToolTip.cs
- ToolStripContainer.cs
- ValidateNames.cs
- WebPartDeleteVerb.cs
- AddInContractAttribute.cs
- SafeFindHandle.cs
- DuplexSecurityProtocolFactory.cs
- AtlasWeb.Designer.cs
- DbCommandDefinition.cs
- FontInfo.cs
- ProtocolException.cs
- Root.cs
- StrokeNodeOperations.cs
- TimeStampChecker.cs
- X509Extension.cs
- SmuggledIUnknown.cs
- JournalEntryStack.cs
- SafeCertificateStore.cs
- EqualityComparer.cs
- EntityDataSourceWizardForm.cs
- ExclusiveTcpListener.cs
- ToolStripDropDownMenu.cs
- DllHostedComPlusServiceHost.cs
- PageCodeDomTreeGenerator.cs
- WrapPanel.cs
- ChangeInterceptorAttribute.cs
- StorageEndPropertyMapping.cs
- CopyNamespacesAction.cs
- Frame.cs
- ToolStripItemClickedEventArgs.cs
- KeySplineConverter.cs
- SoapProtocolImporter.cs
- PipelineModuleStepContainer.cs
- NamedElement.cs
- Authorization.cs
- DragEvent.cs