Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / schema / CompiledIdentityConstraint.cs / 1 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OleStrCAMarshaler.cs
- ConsoleCancelEventArgs.cs
- RuntimeHelpers.cs
- SQlBooleanStorage.cs
- EmptyCollection.cs
- XpsS0ValidatingLoader.cs
- unitconverter.cs
- ProfileGroupSettingsCollection.cs
- SystemInfo.cs
- LicenseManager.cs
- WebServiceParameterData.cs
- IUnknownConstantAttribute.cs
- ReflectTypeDescriptionProvider.cs
- PropertyDescriptorGridEntry.cs
- PropVariant.cs
- ReadWriteSpinLock.cs
- TrackingRecord.cs
- OleDbFactory.cs
- StaticSiteMapProvider.cs
- WindowsListViewSubItem.cs
- PolygonHotSpot.cs
- RadioButton.cs
- DesignerCategoryAttribute.cs
- MessageBox.cs
- ObjectListItem.cs
- ImageFormat.cs
- SmtpFailedRecipientsException.cs
- HGlobalSafeHandle.cs
- HostedNamedPipeTransportManager.cs
- PipeSecurity.cs
- HttpRuntimeSection.cs
- HttpProfileGroupBase.cs
- CheckBoxFlatAdapter.cs
- OleDbPermission.cs
- SizeConverter.cs
- AccessControlEntry.cs
- ReadOnlyObservableCollection.cs
- InputBuffer.cs
- DataGridLinkButton.cs
- PropertyEntry.cs
- XamlSerializationHelper.cs
- ArrangedElement.cs
- GeometryConverter.cs
- X509CertificateValidator.cs
- PenContexts.cs
- newinstructionaction.cs
- sortedlist.cs
- EditorOptionAttribute.cs
- TcpProcessProtocolHandler.cs
- ThreadStateException.cs
- LocationSectionRecord.cs
- SQLCharsStorage.cs
- Subtree.cs
- ModifierKeysConverter.cs
- SharedUtils.cs
- ComponentEditorPage.cs
- InkCanvasSelection.cs
- PersistenceTypeAttribute.cs
- VectorAnimationUsingKeyFrames.cs
- SecurityHelper.cs
- DetailsViewInsertEventArgs.cs
- TraceSection.cs
- QilReference.cs
- OutputCacheProfileCollection.cs
- ValidationSummaryDesigner.cs
- RtfToXamlLexer.cs
- SmtpException.cs
- MenuItemStyleCollection.cs
- ServicePointManager.cs
- _ChunkParse.cs
- DataGridTable.cs
- DesignTable.cs
- ExtractedStateEntry.cs
- ListDictionary.cs
- RotateTransform.cs
- SecurityListenerSettingsLifetimeManager.cs
- XPathExpr.cs
- SessionSwitchEventArgs.cs
- InputScopeAttribute.cs
- SemanticBasicElement.cs
- DataTemplateSelector.cs
- SizeChangedEventArgs.cs
- SmiEventSink_Default.cs
- XmlSchemaParticle.cs
- GenericEnumerator.cs
- SHA1Managed.cs
- HtmlFormParameterWriter.cs
- RemoteWebConfigurationHostStream.cs
- HttpModuleActionCollection.cs
- WorkflowServiceNamespace.cs
- PlatformCulture.cs
- CalendarDateChangedEventArgs.cs
- ConstraintCollection.cs
- TPLETWProvider.cs
- TiffBitmapDecoder.cs
- TimeSpan.cs
- MappingMetadataHelper.cs
- HierarchicalDataSourceControl.cs
- mediapermission.cs
- AuthenticationConfig.cs