1 //---------------------------------------------------------------------
2 // <copyright file="ReferenceSchema.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
7 // @backupOwner Microsoft
8 //---------------------------------------------------------------------
10 namespace System
.Data
.EntityModel
.SchemaObjectModel
13 using System
.Data
.Metadata
.Edm
;
14 using System
.Diagnostics
;
18 /// Summary description for UsingElement.
20 internal class UsingElement
: SchemaElement
22 #region Instance Fields
23 private string _alias
= null;
24 private string _namespaceName
= null;
27 #region Public Methods
31 /// <param name="parentElement"></param>
32 internal UsingElement(Schema parentElement
)
39 #region Public Properties
43 public virtual string Alias
58 public virtual string NamespaceName
62 return _namespaceName
;
66 _namespaceName
= value;
73 public override string FQName
83 #region Protected Properties
87 protected override bool ProhibitAttribute(string namespaceUri
, string localName
)
89 if (base.ProhibitAttribute(namespaceUri
, localName
))
94 if (namespaceUri
== null && localName
== XmlConstants
.Name
)
102 protected override bool HandleAttribute(XmlReader reader
)
104 if (base.HandleAttribute(reader
))
108 else if (CanHandleAttribute(reader
, XmlConstants
.Namespace
))
110 HandleNamespaceAttribute(reader
);
113 else if (CanHandleAttribute(reader
, XmlConstants
.Alias
))
115 HandleAliasAttribute(reader
);
124 #region Private Methods
129 /// <param name="reader"></param>
130 private void HandleNamespaceAttribute(XmlReader reader
)
132 Debug
.Assert(String
.IsNullOrEmpty(NamespaceName
), "Alias must be set only once");
133 ReturnValue
<string> returnValue
= HandleDottedNameAttribute(reader
,NamespaceName
, null);
134 if ( returnValue
.Succeeded
)
135 NamespaceName
= returnValue
.Value
;
141 /// <param name="reader"></param>
142 private void HandleAliasAttribute(XmlReader reader
)
144 Debug
.Assert(String
.IsNullOrEmpty(Alias
), "Alias must be set only once");
145 Alias
= HandleUndottedNameAttribute(reader
, Alias
);