Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / XmlSchemaResource.cs / 1305376 / XmlSchemaResource.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Diagnostics;
using System.Data.Mapping;
using System.Data.Metadata.Edm;
using System.Collections.Generic;
namespace System.Data.EntityModel.SchemaObjectModel
{
internal struct XmlSchemaResource
{
private static XmlSchemaResource[] EmptyImportList = new XmlSchemaResource[0];
public XmlSchemaResource(string namespaceUri, string resourceName, XmlSchemaResource[] importedSchemas)
{
Debug.Assert(!string.IsNullOrEmpty(namespaceUri), "namespaceUri is null or empty");
Debug.Assert(!string.IsNullOrEmpty(resourceName), "resourceName is null or empty");
Debug.Assert(importedSchemas != null, "importedSchemas is null");
NamespaceUri = namespaceUri;
ResourceName = resourceName;
ImportedSchemas = importedSchemas;
}
public XmlSchemaResource(string namespaceUri, string resourceName)
{
Debug.Assert(!string.IsNullOrEmpty(namespaceUri), "namespaceUri is null or empty");
Debug.Assert(!string.IsNullOrEmpty(resourceName), "resourceName is null or empty");
NamespaceUri = namespaceUri;
ResourceName = resourceName;
ImportedSchemas = EmptyImportList;
}
internal string NamespaceUri;
internal string ResourceName;
internal XmlSchemaResource[] ImportedSchemas;
///
/// Builds a dictionary from XmlNamespace to XmlSchemaResource of both C and S space schemas
///
/// The built XmlNamespace to XmlSchemaResource dictionary.
internal static Dictionary GetMetadataSchemaResourceMap(double schemaVersion)
{
Dictionary schemaResourceMap = new Dictionary(StringComparer.Ordinal);
AddEdmSchemaResourceMapEntries(schemaResourceMap, schemaVersion);
AddStoreSchemaResourceMapEntries(schemaResourceMap, schemaVersion);
return schemaResourceMap;
}
///
/// Adds Store schema resource entries to the given XmlNamespace to XmlSchemaResoure map
///
/// The XmlNamespace to XmlSchemaResource map to add entries to.
internal static void AddStoreSchemaResourceMapEntries(Dictionary schemaResourceMap, double schemaVersion)
{
XmlSchemaResource[] ssdlImports = { new XmlSchemaResource(XmlConstants.EntityStoreSchemaGeneratorNamespace, "System.Data.Resources.EntityStoreSchemaGenerator.xsd") };
XmlSchemaResource ssdlSchema = new XmlSchemaResource(XmlConstants.TargetNamespace_1, "System.Data.Resources.SSDLSchema.xsd", ssdlImports);
schemaResourceMap.Add(ssdlSchema.NamespaceUri, ssdlSchema);
if (schemaVersion == XmlConstants.StoreVersionForV2)
{
XmlSchemaResource ssdlSchema2 = new XmlSchemaResource(XmlConstants.TargetNamespace_2, "System.Data.Resources.SSDLSchema_2.xsd", ssdlImports);
schemaResourceMap.Add(ssdlSchema2.NamespaceUri, ssdlSchema2);
}
XmlSchemaResource providerManifest = new XmlSchemaResource(XmlConstants.ProviderManifestNamespace, "System.Data.Resources.ProviderServices.ProviderManifest.xsd");
schemaResourceMap.Add(providerManifest.NamespaceUri, providerManifest);
}
///
/// Adds Mapping schema resource entries to the given XmlNamespace to XmlSchemaResoure map
///
/// The XmlNamespace to XmlSchemaResource map to add entries to.
internal static void AddMappingSchemaResourceMapEntries(Dictionary schemaResourceMap, double schemaVersion)
{
XmlSchemaResource msl1 = new XmlSchemaResource(StorageMslConstructs.NamespaceUriV1, StorageMslConstructs.ResourceXsdNameV1);
schemaResourceMap.Add(msl1.NamespaceUri, msl1);
if (schemaVersion == XmlConstants.EdmVersionForV2)
{
XmlSchemaResource msl2 = new XmlSchemaResource(StorageMslConstructs.NamespaceUriV2, StorageMslConstructs.ResourceXsdNameV2);
schemaResourceMap.Add(msl2.NamespaceUri, msl2);
}
}
///
/// Adds Edm schema resource entries to the given XmlNamespace to XmlSchemaResoure map,
/// when calling from SomSchemaSetHelper.ComputeSchemaSet(), all the imported xsd will be included
///
/// The XmlNamespace to XmlSchemaResource map to add entries to.
internal static void AddEdmSchemaResourceMapEntries(Dictionary schemaResourceMap, double schemaVersion)
{
XmlSchemaResource[] csdlImports = { new XmlSchemaResource(XmlConstants.CodeGenerationSchemaNamespace, "System.Data.Resources.CodeGenerationSchema.xsd") };
XmlSchemaResource[] csdl2Imports = {
new XmlSchemaResource(XmlConstants.CodeGenerationSchemaNamespace, "System.Data.Resources.CodeGenerationSchema.xsd"),
new XmlSchemaResource(XmlConstants.AnnotationNamespace, "System.Data.Resources.AnnotationSchema.xsd") };
XmlSchemaResource csdlSchema_1 = new XmlSchemaResource(XmlConstants.ModelNamespace_1, "System.Data.Resources.CSDLSchema_1.xsd", csdlImports);
schemaResourceMap.Add(csdlSchema_1.NamespaceUri, csdlSchema_1);
XmlSchemaResource csdlSchema_1_1 = new XmlSchemaResource(XmlConstants.ModelNamespace_1_1, "System.Data.Resources.CSDLSchema_1_1.xsd", csdlImports);
schemaResourceMap.Add(csdlSchema_1_1.NamespaceUri, csdlSchema_1_1);
if (schemaVersion == XmlConstants.EdmVersionForV2)
{
XmlSchemaResource csdlSchema_2 = new XmlSchemaResource(XmlConstants.ModelNamespace_2, "System.Data.Resources.CSDLSchema_2.xsd", csdl2Imports);
schemaResourceMap.Add(csdlSchema_2.NamespaceUri, csdlSchema_2);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Diagnostics;
using System.Data.Mapping;
using System.Data.Metadata.Edm;
using System.Collections.Generic;
namespace System.Data.EntityModel.SchemaObjectModel
{
internal struct XmlSchemaResource
{
private static XmlSchemaResource[] EmptyImportList = new XmlSchemaResource[0];
public XmlSchemaResource(string namespaceUri, string resourceName, XmlSchemaResource[] importedSchemas)
{
Debug.Assert(!string.IsNullOrEmpty(namespaceUri), "namespaceUri is null or empty");
Debug.Assert(!string.IsNullOrEmpty(resourceName), "resourceName is null or empty");
Debug.Assert(importedSchemas != null, "importedSchemas is null");
NamespaceUri = namespaceUri;
ResourceName = resourceName;
ImportedSchemas = importedSchemas;
}
public XmlSchemaResource(string namespaceUri, string resourceName)
{
Debug.Assert(!string.IsNullOrEmpty(namespaceUri), "namespaceUri is null or empty");
Debug.Assert(!string.IsNullOrEmpty(resourceName), "resourceName is null or empty");
NamespaceUri = namespaceUri;
ResourceName = resourceName;
ImportedSchemas = EmptyImportList;
}
internal string NamespaceUri;
internal string ResourceName;
internal XmlSchemaResource[] ImportedSchemas;
///
/// Builds a dictionary from XmlNamespace to XmlSchemaResource of both C and S space schemas
///
/// The built XmlNamespace to XmlSchemaResource dictionary.
internal static Dictionary GetMetadataSchemaResourceMap(double schemaVersion)
{
Dictionary schemaResourceMap = new Dictionary(StringComparer.Ordinal);
AddEdmSchemaResourceMapEntries(schemaResourceMap, schemaVersion);
AddStoreSchemaResourceMapEntries(schemaResourceMap, schemaVersion);
return schemaResourceMap;
}
///
/// Adds Store schema resource entries to the given XmlNamespace to XmlSchemaResoure map
///
/// The XmlNamespace to XmlSchemaResource map to add entries to.
internal static void AddStoreSchemaResourceMapEntries(Dictionary schemaResourceMap, double schemaVersion)
{
XmlSchemaResource[] ssdlImports = { new XmlSchemaResource(XmlConstants.EntityStoreSchemaGeneratorNamespace, "System.Data.Resources.EntityStoreSchemaGenerator.xsd") };
XmlSchemaResource ssdlSchema = new XmlSchemaResource(XmlConstants.TargetNamespace_1, "System.Data.Resources.SSDLSchema.xsd", ssdlImports);
schemaResourceMap.Add(ssdlSchema.NamespaceUri, ssdlSchema);
if (schemaVersion == XmlConstants.StoreVersionForV2)
{
XmlSchemaResource ssdlSchema2 = new XmlSchemaResource(XmlConstants.TargetNamespace_2, "System.Data.Resources.SSDLSchema_2.xsd", ssdlImports);
schemaResourceMap.Add(ssdlSchema2.NamespaceUri, ssdlSchema2);
}
XmlSchemaResource providerManifest = new XmlSchemaResource(XmlConstants.ProviderManifestNamespace, "System.Data.Resources.ProviderServices.ProviderManifest.xsd");
schemaResourceMap.Add(providerManifest.NamespaceUri, providerManifest);
}
///
/// Adds Mapping schema resource entries to the given XmlNamespace to XmlSchemaResoure map
///
/// The XmlNamespace to XmlSchemaResource map to add entries to.
internal static void AddMappingSchemaResourceMapEntries(Dictionary schemaResourceMap, double schemaVersion)
{
XmlSchemaResource msl1 = new XmlSchemaResource(StorageMslConstructs.NamespaceUriV1, StorageMslConstructs.ResourceXsdNameV1);
schemaResourceMap.Add(msl1.NamespaceUri, msl1);
if (schemaVersion == XmlConstants.EdmVersionForV2)
{
XmlSchemaResource msl2 = new XmlSchemaResource(StorageMslConstructs.NamespaceUriV2, StorageMslConstructs.ResourceXsdNameV2);
schemaResourceMap.Add(msl2.NamespaceUri, msl2);
}
}
///
/// Adds Edm schema resource entries to the given XmlNamespace to XmlSchemaResoure map,
/// when calling from SomSchemaSetHelper.ComputeSchemaSet(), all the imported xsd will be included
///
/// The XmlNamespace to XmlSchemaResource map to add entries to.
internal static void AddEdmSchemaResourceMapEntries(Dictionary schemaResourceMap, double schemaVersion)
{
XmlSchemaResource[] csdlImports = { new XmlSchemaResource(XmlConstants.CodeGenerationSchemaNamespace, "System.Data.Resources.CodeGenerationSchema.xsd") };
XmlSchemaResource[] csdl2Imports = {
new XmlSchemaResource(XmlConstants.CodeGenerationSchemaNamespace, "System.Data.Resources.CodeGenerationSchema.xsd"),
new XmlSchemaResource(XmlConstants.AnnotationNamespace, "System.Data.Resources.AnnotationSchema.xsd") };
XmlSchemaResource csdlSchema_1 = new XmlSchemaResource(XmlConstants.ModelNamespace_1, "System.Data.Resources.CSDLSchema_1.xsd", csdlImports);
schemaResourceMap.Add(csdlSchema_1.NamespaceUri, csdlSchema_1);
XmlSchemaResource csdlSchema_1_1 = new XmlSchemaResource(XmlConstants.ModelNamespace_1_1, "System.Data.Resources.CSDLSchema_1_1.xsd", csdlImports);
schemaResourceMap.Add(csdlSchema_1_1.NamespaceUri, csdlSchema_1_1);
if (schemaVersion == XmlConstants.EdmVersionForV2)
{
XmlSchemaResource csdlSchema_2 = new XmlSchemaResource(XmlConstants.ModelNamespace_2, "System.Data.Resources.CSDLSchema_2.xsd", csdl2Imports);
schemaResourceMap.Add(csdlSchema_2.NamespaceUri, csdlSchema_2);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CounterCreationData.cs
- PageHandlerFactory.cs
- MouseEventArgs.cs
- BindingCollection.cs
- CalloutQueueItem.cs
- SafeRsaProviderHandle.cs
- ToolTipService.cs
- AbandonedMutexException.cs
- LoginView.cs
- XmlSchemaNotation.cs
- DeviceFilterEditorDialog.cs
- NavigationPropertyEmitter.cs
- OrderedHashRepartitionStream.cs
- Point3DIndependentAnimationStorage.cs
- DeclarativeCatalogPart.cs
- TouchesCapturedWithinProperty.cs
- DataGridViewCellValidatingEventArgs.cs
- NavigationCommands.cs
- RankException.cs
- ServiceMetadataPublishingElement.cs
- DesignerVerb.cs
- __Error.cs
- CodeTypeConstructor.cs
- CompareValidator.cs
- WebEventCodes.cs
- PropertyEntry.cs
- PipeStream.cs
- HashAlgorithm.cs
- ProviderCommandInfoUtils.cs
- DataServiceClientException.cs
- AnnotationDocumentPaginator.cs
- AppDomainManager.cs
- FixedSOMTable.cs
- ADRoleFactory.cs
- HtmlShim.cs
- ProgressBarAutomationPeer.cs
- ObjectCache.cs
- AnimationClockResource.cs
- TypeReference.cs
- EntitySetBase.cs
- AxParameterData.cs
- Models.cs
- SectionVisual.cs
- EntityContainerEmitter.cs
- ConfigurationStrings.cs
- FocusWithinProperty.cs
- ContentDisposition.cs
- ActivityStateQuery.cs
- ExceptionUtility.cs
- ByteConverter.cs
- TreeNodeSelectionProcessor.cs
- PeerHelpers.cs
- ExtensionElement.cs
- XmlStreamNodeWriter.cs
- BufferedGraphicsManager.cs
- DetailsViewModeEventArgs.cs
- PartitionedStreamMerger.cs
- RegexCapture.cs
- FrameworkElement.cs
- RenameRuleObjectDialog.cs
- SetterBase.cs
- MergeFilterQuery.cs
- ErrorWrapper.cs
- IPEndPoint.cs
- ConcurrentBag.cs
- DrawingContextWalker.cs
- ExtensionQuery.cs
- DBCSCodePageEncoding.cs
- UpdateTracker.cs
- AdapterDictionary.cs
- XmlSchemaComplexContentRestriction.cs
- KeyInfo.cs
- FixedSOMLineRanges.cs
- StoryFragments.cs
- IInstanceTable.cs
- DrawListViewColumnHeaderEventArgs.cs
- ImageDrawing.cs
- CategoryGridEntry.cs
- SqlSelectClauseBuilder.cs
- EditCommandColumn.cs
- CacheSection.cs
- SiteMapPath.cs
- SettingsSection.cs
- InvalidProgramException.cs
- InstallerTypeAttribute.cs
- ByteAnimationUsingKeyFrames.cs
- PageCache.cs
- TextElement.cs
- BooleanAnimationBase.cs
- UIElementHelper.cs
- DbConnectionInternal.cs
- SHA384.cs
- SqlInternalConnection.cs
- BreakSafeBase.cs
- SmiXetterAccessMap.cs
- XmlWrappingReader.cs
- ExceptionRoutedEventArgs.cs
- PropertyChangedEventArgs.cs
- CompositeScriptReferenceEventArgs.cs
- InternalControlCollection.cs