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
- NavigationWindow.cs
- Interop.cs
- SchemaCollectionCompiler.cs
- FixedSchema.cs
- QilTargetType.cs
- PenThreadWorker.cs
- StickyNote.cs
- VirtualPath.cs
- ImportContext.cs
- TimeSpanOrInfiniteConverter.cs
- SingleResultAttribute.cs
- FileLevelControlBuilderAttribute.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- SliderAutomationPeer.cs
- UseAttributeSetsAction.cs
- SignatureHelper.cs
- OleDragDropHandler.cs
- DescendentsWalkerBase.cs
- COM2TypeInfoProcessor.cs
- FloaterParagraph.cs
- HandlerBase.cs
- ParagraphVisual.cs
- DataGridRowHeaderAutomationPeer.cs
- LayoutInformation.cs
- CategoryAttribute.cs
- Stroke2.cs
- HttpCacheParams.cs
- LinkedResourceCollection.cs
- MdImport.cs
- Events.cs
- ObjectListGeneralPage.cs
- FilteredDataSetHelper.cs
- x509utils.cs
- UnsafeNativeMethods.cs
- WebBrowserSiteBase.cs
- ScalarType.cs
- EventRouteFactory.cs
- TextProperties.cs
- ThemeableAttribute.cs
- CookieHandler.cs
- SqlCacheDependency.cs
- CallTemplateAction.cs
- PrivilegeNotHeldException.cs
- MailSettingsSection.cs
- SqlServer2KCompatibilityCheck.cs
- BitArray.cs
- EventManager.cs
- Merger.cs
- MenuItemStyleCollection.cs
- DynamicRouteExpression.cs
- SafeFindHandle.cs
- FileSecurity.cs
- CopyNodeSetAction.cs
- MgmtResManager.cs
- DbInsertCommandTree.cs
- FontStyleConverter.cs
- HtmlMeta.cs
- BreakRecordTable.cs
- AnchorEditor.cs
- FilterRepeater.cs
- AttachedAnnotation.cs
- CollectionBuilder.cs
- CalendarAutoFormatDialog.cs
- FolderBrowserDialog.cs
- XmlSchemaAttribute.cs
- DataServiceBuildProvider.cs
- XD.cs
- ParallelTimeline.cs
- ContextBase.cs
- PageBuildProvider.cs
- Point3DValueSerializer.cs
- Misc.cs
- HyperLink.cs
- MouseEventArgs.cs
- RefreshEventArgs.cs
- TemplateBaseAction.cs
- XmlSchemaAnnotation.cs
- Hash.cs
- OdbcConnectionHandle.cs
- ApplicationInterop.cs
- NativeMethods.cs
- DataStorage.cs
- ConfigurationManagerHelper.cs
- DataErrorValidationRule.cs
- SqlProfileProvider.cs
- DisableDpiAwarenessAttribute.cs
- PersistenceContextEnlistment.cs
- DateTimeStorage.cs
- ConstNode.cs
- HierarchicalDataSourceControl.cs
- AddressAlreadyInUseException.cs
- InputScopeConverter.cs
- Connector.cs
- MtomMessageEncoder.cs
- LinkedResource.cs
- ManagementScope.cs
- DataGridHeaderBorder.cs
- AssociationSet.cs
- Formatter.cs
- RsaKeyIdentifierClause.cs