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
- PlatformCulture.cs
- PerfCounterSection.cs
- TypeDescriptor.cs
- ButtonBaseDesigner.cs
- ObjectManager.cs
- Themes.cs
- EventLogPermissionAttribute.cs
- UserPreferenceChangedEventArgs.cs
- CapabilitiesPattern.cs
- FacetChecker.cs
- Delegate.cs
- DispatcherOperation.cs
- Base64Decoder.cs
- WebPartConnection.cs
- EncryptedHeaderXml.cs
- BufferedReadStream.cs
- RawStylusSystemGestureInputReport.cs
- PageTrueTypeFont.cs
- XmlDataSourceNodeDescriptor.cs
- ComPlusContractBehavior.cs
- GeneralTransform.cs
- BatchParser.cs
- RecognitionResult.cs
- WindowsGrip.cs
- SupportsEventValidationAttribute.cs
- ZoneButton.cs
- Column.cs
- ViewCellRelation.cs
- Graphics.cs
- BuildProviderAppliesToAttribute.cs
- TreeViewEvent.cs
- DesignTimeParseData.cs
- StorageAssociationTypeMapping.cs
- XmlSerializerOperationFormatter.cs
- RoleBoolean.cs
- PreDigestedSignedInfo.cs
- SerializationObjectManager.cs
- FragmentQueryProcessor.cs
- ZipIOCentralDirectoryBlock.cs
- InfoCardHelper.cs
- DataGridViewAddColumnDialog.cs
- ToolTipService.cs
- Blend.cs
- MatrixAnimationUsingPath.cs
- WindowsListBox.cs
- HttpGetClientProtocol.cs
- NodeInfo.cs
- CreateUserWizardStep.cs
- CurrentChangedEventManager.cs
- LineGeometry.cs
- IdnMapping.cs
- ObjectRef.cs
- SafeSerializationManager.cs
- MetadataArtifactLoaderResource.cs
- DirectionalLight.cs
- PropertyBuilder.cs
- Storyboard.cs
- CryptoApi.cs
- SplitterEvent.cs
- TableLayoutSettings.cs
- XomlCompilerParameters.cs
- AsyncMethodInvoker.cs
- LineBreakRecord.cs
- SmtpMail.cs
- MultipleCopiesCollection.cs
- WMIInterop.cs
- OrderPreservingPipeliningSpoolingTask.cs
- SourceSwitch.cs
- BevelBitmapEffect.cs
- ProfilePropertySettingsCollection.cs
- Stroke.cs
- FileCodeGroup.cs
- XPathNodeHelper.cs
- DataGridViewTextBoxCell.cs
- Scanner.cs
- SystemIPAddressInformation.cs
- SmtpFailedRecipientsException.cs
- DbDataAdapter.cs
- SqlDataSourceCache.cs
- CodeTypeMemberCollection.cs
- Restrictions.cs
- TemplateLookupAction.cs
- MSAAEventDispatcher.cs
- ControlsConfig.cs
- BaseTreeIterator.cs
- CodeMemberProperty.cs
- input.cs
- VideoDrawing.cs
- Vector3DValueSerializer.cs
- DesignerVerb.cs
- DebugView.cs
- WebBrowser.cs
- Fonts.cs
- ReceiveContent.cs
- ConfigurationManagerHelper.cs
- DecoderBestFitFallback.cs
- SimpleBitVector32.cs
- XmlSchemaSimpleTypeList.cs
- PropertyGridView.cs
- SortedDictionary.cs