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
- Attribute.cs
- StateFinalizationActivity.cs
- IriParsingElement.cs
- assertwrapper.cs
- Model3DCollection.cs
- XPathExpr.cs
- GeometryModel3D.cs
- HierarchicalDataBoundControlAdapter.cs
- Vector3DAnimation.cs
- XamlPointCollectionSerializer.cs
- FaultPropagationQuery.cs
- SemanticBasicElement.cs
- ColumnTypeConverter.cs
- QueryOutputWriter.cs
- FormViewUpdateEventArgs.cs
- EventLogConfiguration.cs
- PresentationAppDomainManager.cs
- SystemIcmpV4Statistics.cs
- SecurityStateEncoder.cs
- CssStyleCollection.cs
- CompiledELinqQueryState.cs
- InputElement.cs
- TypeBuilderInstantiation.cs
- Glyph.cs
- SHA1.cs
- MethodBuilder.cs
- Transform.cs
- RIPEMD160.cs
- MinimizableAttributeTypeConverter.cs
- XsltFunctions.cs
- Metafile.cs
- Span.cs
- WindowHideOrCloseTracker.cs
- WebBrowser.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- NameValuePair.cs
- DataExpression.cs
- ServerIdentity.cs
- RefreshEventArgs.cs
- PipeStream.cs
- ContentType.cs
- BaseValidatorDesigner.cs
- sqlmetadatafactory.cs
- Boolean.cs
- DatePickerDateValidationErrorEventArgs.cs
- CollectionViewProxy.cs
- MessageDesigner.cs
- TransformConverter.cs
- NamedPipeProcessProtocolHandler.cs
- Debug.cs
- ImageMap.cs
- RangeContentEnumerator.cs
- ProcessHostConfigUtils.cs
- WorkflowPersistenceContext.cs
- BitmapScalingModeValidation.cs
- ReaderWriterLock.cs
- RenderTargetBitmap.cs
- ThemeDictionaryExtension.cs
- MetabaseServerConfig.cs
- WindowsFormsSynchronizationContext.cs
- InstanceValue.cs
- ToolboxItemWrapper.cs
- InternalConfigHost.cs
- _UncName.cs
- QilInvokeLateBound.cs
- NetworkCredential.cs
- EntityCommand.cs
- PageRequestManager.cs
- ContextMenu.cs
- ObfuscationAttribute.cs
- DataGridViewCellFormattingEventArgs.cs
- BindToObject.cs
- SchemaMapping.cs
- GraphicsPath.cs
- GridView.cs
- BindingList.cs
- LazyTextWriterCreator.cs
- GCHandleCookieTable.cs
- SqlDataSourceConfigureSelectPanel.cs
- ReverseInheritProperty.cs
- MenuItemBindingCollection.cs
- DateTimeFormatInfo.cs
- VersionPair.cs
- XsltInput.cs
- GuidConverter.cs
- DefaultPerformanceCounters.cs
- RequestCachingSection.cs
- EncryptedKey.cs
- WindowClosedEventArgs.cs
- MediaContextNotificationWindow.cs
- HierarchicalDataSourceIDConverter.cs
- SecurityContextCookieSerializer.cs
- Registry.cs
- EpmCustomContentDeSerializer.cs
- UIInitializationException.cs
- SimpleWebHandlerParser.cs
- DetailsViewUpdateEventArgs.cs
- DeviceOverridableAttribute.cs
- SelectionListComponentEditor.cs
- WriteFileContext.cs