Code:
/ 4.0 / 4.0 / untmp / 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.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Accessible.cs
- DataBindEngine.cs
- DependencyPropertyConverter.cs
- Timer.cs
- DebugInfoExpression.cs
- MailAddressParser.cs
- CfgParser.cs
- SessionStateItemCollection.cs
- OdbcParameter.cs
- StagingAreaInputItem.cs
- IdentityModelStringsVersion1.cs
- ChildChangedEventArgs.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- XmlNodeChangedEventArgs.cs
- XmlTextReader.cs
- WaitHandleCannotBeOpenedException.cs
- DummyDataSource.cs
- AddInControllerImpl.cs
- KnownColorTable.cs
- ApplicationServicesHostFactory.cs
- PostBackTrigger.cs
- ApplicationFileCodeDomTreeGenerator.cs
- HtmlInputImage.cs
- RequestCachePolicyConverter.cs
- RemoteArgument.cs
- UnsafeNativeMethods.cs
- WCFServiceClientProxyGenerator.cs
- XmlIlGenerator.cs
- DrawingContextDrawingContextWalker.cs
- MiniMapControl.xaml.cs
- AppSettingsExpressionBuilder.cs
- MouseCaptureWithinProperty.cs
- EntitySetBaseCollection.cs
- PenContext.cs
- ThrowHelper.cs
- PassportIdentity.cs
- SafeArrayTypeMismatchException.cs
- DataSourceDescriptorCollection.cs
- ObfuscateAssemblyAttribute.cs
- CalendarButton.cs
- QueryContinueDragEvent.cs
- StrongNameIdentityPermission.cs
- FontFamily.cs
- PnrpPermission.cs
- HwndMouseInputProvider.cs
- PropertyGridEditorPart.cs
- EDesignUtil.cs
- StrokeNodeOperations.cs
- FrameworkContentElementAutomationPeer.cs
- StaticTextPointer.cs
- ToolStripContentPanelRenderEventArgs.cs
- Substitution.cs
- SecurityHeader.cs
- AssemblyResourceLoader.cs
- XamlStyleSerializer.cs
- ImageFormatConverter.cs
- FontStretchConverter.cs
- SplayTreeNode.cs
- streamingZipPartStream.cs
- ReaderWriterLock.cs
- BitmapMetadataBlob.cs
- XPathDocumentBuilder.cs
- SqlExpander.cs
- ValidationResult.cs
- BaseConfigurationRecord.cs
- MenuItem.cs
- RowsCopiedEventArgs.cs
- MissingSatelliteAssemblyException.cs
- HierarchicalDataBoundControl.cs
- HttpConfigurationContext.cs
- Object.cs
- OdbcParameter.cs
- CustomTypeDescriptor.cs
- DecoderExceptionFallback.cs
- Pair.cs
- ConfigXmlSignificantWhitespace.cs
- MultitargetUtil.cs
- StringKeyFrameCollection.cs
- WebPartVerbsEventArgs.cs
- CultureSpecificCharacterBufferRange.cs
- SafeRightsManagementHandle.cs
- BuildManager.cs
- ControlCollection.cs
- Action.cs
- PropertyStore.cs
- DurableInstanceProvider.cs
- ResourceExpression.cs
- BitmapInitialize.cs
- BorderGapMaskConverter.cs
- WebPartHelpVerb.cs
- InheritanceRules.cs
- DSASignatureDeformatter.cs
- WCFServiceClientProxyGenerator.cs
- DataControlButton.cs
- VersionPair.cs
- CatalogPartChrome.cs
- TrackingLocationCollection.cs
- ProfileEventArgs.cs
- EndpointConfigContainer.cs
- TCEAdapterGenerator.cs