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
- Effect.cs
- SizeKeyFrameCollection.cs
- XmlSchemaComplexContent.cs
- TimeSpanValidatorAttribute.cs
- MultiPropertyDescriptorGridEntry.cs
- OutputCacheSettingsSection.cs
- DocumentOrderComparer.cs
- RadialGradientBrush.cs
- EmbossBitmapEffect.cs
- ReflectionTypeLoadException.cs
- PackageRelationshipCollection.cs
- ErrorWrapper.cs
- VirtualPathExtension.cs
- TypeContext.cs
- SQLString.cs
- Accessible.cs
- CopyCodeAction.cs
- WebUtil.cs
- SystemException.cs
- XmlSchemaType.cs
- PrinterResolution.cs
- SqlDependencyListener.cs
- SpinWait.cs
- BinaryWriter.cs
- CallbackValidatorAttribute.cs
- wgx_exports.cs
- followingsibling.cs
- XmlSerializationGeneratedCode.cs
- Bezier.cs
- WsdlParser.cs
- CallbackValidator.cs
- XmlAttribute.cs
- SqlInfoMessageEvent.cs
- ClearCollection.cs
- ConfigXmlCDataSection.cs
- Psha1DerivedKeyGenerator.cs
- TriggerCollection.cs
- BuildProviderAppliesToAttribute.cs
- UpdateTranslator.cs
- XmlQueryStaticData.cs
- SyndicationSerializer.cs
- ICollection.cs
- HtmlElementEventArgs.cs
- safesecurityhelperavalon.cs
- RefType.cs
- TableFieldsEditor.cs
- PrincipalPermission.cs
- BitStream.cs
- TextEditorLists.cs
- XmlEncodedRawTextWriter.cs
- TextDecorationUnitValidation.cs
- MissingManifestResourceException.cs
- PriorityQueue.cs
- AutoResizedEvent.cs
- WindowProviderWrapper.cs
- RegisteredDisposeScript.cs
- HttpHostedTransportConfiguration.cs
- CommentGlyph.cs
- FileUpload.cs
- OptionUsage.cs
- CryptoHandle.cs
- MachineKeyValidationConverter.cs
- TemplatedMailWebEventProvider.cs
- DeviceSpecificDesigner.cs
- SystemResourceKey.cs
- PolyQuadraticBezierSegment.cs
- ClonableStack.cs
- RelatedImageListAttribute.cs
- ArgumentNullException.cs
- OdbcInfoMessageEvent.cs
- SerializationInfo.cs
- TaskFactory.cs
- documentsequencetextcontainer.cs
- ThemeableAttribute.cs
- FocusWithinProperty.cs
- XmlCompatibilityReader.cs
- DirectionalLight.cs
- HtmlInputImage.cs
- SocketPermission.cs
- SettingsPropertyCollection.cs
- XmlUtilWriter.cs
- ItemCollectionEditor.cs
- ProtectedConfigurationProviderCollection.cs
- HtmlTernaryTree.cs
- ChildTable.cs
- DataBinding.cs
- Package.cs
- DrawItemEvent.cs
- JsonGlobals.cs
- Int32CollectionConverter.cs
- OleDbReferenceCollection.cs
- AppDomainFactory.cs
- OptimalTextSource.cs
- MessageQueueKey.cs
- DataServiceRequestException.cs
- ValidatingReaderNodeData.cs
- StyleXamlParser.cs
- AsymmetricKeyExchangeFormatter.cs
- CodeComment.cs
- ItemCollection.cs