Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / schema / CompiledIdentityConstraint.cs / 1305376 / CompiledIdentityConstraint.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml.Schema {
using System.Text;
using System.Collections;
using System.Diagnostics;
using System.Xml.XPath;
using MS.Internal.Xml.XPath;
internal class CompiledIdentityConstraint {
internal XmlQualifiedName name = XmlQualifiedName.Empty;
private ConstraintRole role;
private Asttree selector;
private Asttree[] fields;
internal XmlQualifiedName refer = XmlQualifiedName.Empty;
public enum ConstraintRole {
Unique,
Key,
Keyref
}
public ConstraintRole Role {
get { return this.role; }
}
public Asttree Selector {
get { return this.selector; }
}
public Asttree[] Fields {
get { return this.fields; }
}
public static readonly CompiledIdentityConstraint Empty = new CompiledIdentityConstraint();
private CompiledIdentityConstraint() {}
public CompiledIdentityConstraint(XmlSchemaIdentityConstraint constraint, XmlNamespaceManager nsmgr) {
this.name = constraint.QualifiedName;
//public Asttree (string xPath, bool isField, XmlNamespaceManager nsmgr)
try {
this.selector = new Asttree(constraint.Selector.XPath, false, nsmgr);
}
catch (XmlSchemaException e) {
e.SetSource(constraint.Selector);
throw e;
}
XmlSchemaObjectCollection fields = constraint.Fields;
Debug.Assert(fields.Count > 0);
this.fields = new Asttree[fields.Count];
for(int idxField = 0; idxField < fields.Count; idxField ++) {
try {
this.fields[idxField] = new Asttree(((XmlSchemaXPath)fields[idxField]).XPath, true, nsmgr);
}
catch (XmlSchemaException e) {
e.SetSource(constraint.Fields[idxField]);
throw e;
}
}
if (constraint is XmlSchemaUnique) {
this.role = ConstraintRole.Unique;
}
else if (constraint is XmlSchemaKey) {
this.role = ConstraintRole.Key;
}
else { // XmlSchemaKeyref
this.role = ConstraintRole.Keyref;
this.refer = ((XmlSchemaKeyref)constraint).Refer;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml.Schema {
using System.Text;
using System.Collections;
using System.Diagnostics;
using System.Xml.XPath;
using MS.Internal.Xml.XPath;
internal class CompiledIdentityConstraint {
internal XmlQualifiedName name = XmlQualifiedName.Empty;
private ConstraintRole role;
private Asttree selector;
private Asttree[] fields;
internal XmlQualifiedName refer = XmlQualifiedName.Empty;
public enum ConstraintRole {
Unique,
Key,
Keyref
}
public ConstraintRole Role {
get { return this.role; }
}
public Asttree Selector {
get { return this.selector; }
}
public Asttree[] Fields {
get { return this.fields; }
}
public static readonly CompiledIdentityConstraint Empty = new CompiledIdentityConstraint();
private CompiledIdentityConstraint() {}
public CompiledIdentityConstraint(XmlSchemaIdentityConstraint constraint, XmlNamespaceManager nsmgr) {
this.name = constraint.QualifiedName;
//public Asttree (string xPath, bool isField, XmlNamespaceManager nsmgr)
try {
this.selector = new Asttree(constraint.Selector.XPath, false, nsmgr);
}
catch (XmlSchemaException e) {
e.SetSource(constraint.Selector);
throw e;
}
XmlSchemaObjectCollection fields = constraint.Fields;
Debug.Assert(fields.Count > 0);
this.fields = new Asttree[fields.Count];
for(int idxField = 0; idxField < fields.Count; idxField ++) {
try {
this.fields[idxField] = new Asttree(((XmlSchemaXPath)fields[idxField]).XPath, true, nsmgr);
}
catch (XmlSchemaException e) {
e.SetSource(constraint.Fields[idxField]);
throw e;
}
}
if (constraint is XmlSchemaUnique) {
this.role = ConstraintRole.Unique;
}
else if (constraint is XmlSchemaKey) {
this.role = ConstraintRole.Key;
}
else { // XmlSchemaKeyref
this.role = ConstraintRole.Keyref;
this.refer = ((XmlSchemaKeyref)constraint).Refer;
}
}
}
}
// 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
- NamedPipeChannelListener.cs
- PersistenceTypeAttribute.cs
- CollectionViewProxy.cs
- ViewKeyConstraint.cs
- Line.cs
- DataGridViewBand.cs
- DurableInstanceProvider.cs
- FrameworkElement.cs
- ValueQuery.cs
- BindingMAnagerBase.cs
- DefaultParameterValueAttribute.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- SimpleTextLine.cs
- IteratorFilter.cs
- BinaryMethodMessage.cs
- VarRemapper.cs
- SingleObjectCollection.cs
- Size3D.cs
- TextTreeExtractElementUndoUnit.cs
- BinaryFormatterSinks.cs
- XmlSchemaGroupRef.cs
- SpeechRecognizer.cs
- MachineKeyConverter.cs
- WebDisplayNameAttribute.cs
- PageAsyncTask.cs
- MenuItemBindingCollection.cs
- PostBackOptions.cs
- DesignOnlyAttribute.cs
- LayoutUtils.cs
- KeyConstraint.cs
- DbConnectionStringBuilder.cs
- CollectionType.cs
- TextEditorCopyPaste.cs
- Vertex.cs
- ObjectPersistData.cs
- MemberAccessException.cs
- TemplateColumn.cs
- ContentType.cs
- EdmMember.cs
- CounterSetInstanceCounterDataSet.cs
- CharEntityEncoderFallback.cs
- BlurEffect.cs
- SecurityTokenSerializer.cs
- TextCompositionEventArgs.cs
- TimeSpanValidator.cs
- DataSvcMapFile.cs
- ModelTreeEnumerator.cs
- DependencyPropertyKind.cs
- ArgIterator.cs
- XMLDiffLoader.cs
- ResourcesChangeInfo.cs
- ThreadNeutralSemaphore.cs
- Durable.cs
- ConfigurationLocationCollection.cs
- SqlError.cs
- ConstantCheck.cs
- UpDownBaseDesigner.cs
- DictionaryBase.cs
- Object.cs
- FactoryGenerator.cs
- XPathNodeList.cs
- XPathDocumentIterator.cs
- securestring.cs
- CacheRequest.cs
- LayeredChannelListener.cs
- ValueUnavailableException.cs
- MimeBasePart.cs
- SpeakInfo.cs
- DependencyPropertyDescriptor.cs
- RepeaterItem.cs
- PointLightBase.cs
- TempEnvironment.cs
- ProfilePropertyNameValidator.cs
- ServiceControllerDesigner.cs
- ContractTypeNameCollection.cs
- OuterGlowBitmapEffect.cs
- Ipv6Element.cs
- FormatConvertedBitmap.cs
- DetailsViewDeletedEventArgs.cs
- InternalResources.cs
- Cell.cs
- NamespaceEmitter.cs
- TargetConverter.cs
- StrongNameKeyPair.cs
- MarkupCompiler.cs
- SpotLight.cs
- DefaultMemberAttribute.cs
- HelpFileFileNameEditor.cs
- KeyedCollection.cs
- NonClientArea.cs
- CollectionBuilder.cs
- CollectionsUtil.cs
- BinarySerializer.cs
- DeadCharTextComposition.cs
- QueryInterceptorAttribute.cs
- DataGridViewTextBoxEditingControl.cs
- XhtmlBasicPhoneCallAdapter.cs
- DBConnectionString.cs
- SimpleRecyclingCache.cs
- ConnectionProviderAttribute.cs