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
- TypeSemantics.cs
- MessagePropertyFilter.cs
- BitmapEffectDrawingContextState.cs
- DriveInfo.cs
- _NativeSSPI.cs
- DocumentGridContextMenu.cs
- NetworkCredential.cs
- InvokeMethodActivity.cs
- FormViewCommandEventArgs.cs
- LayeredChannelFactory.cs
- ResourceReader.cs
- ADConnectionHelper.cs
- MatcherBuilder.cs
- ToolStripProgressBar.cs
- XslAst.cs
- PagesChangedEventArgs.cs
- SoapElementAttribute.cs
- GeometryCombineModeValidation.cs
- ClonableStack.cs
- PagePropertiesChangingEventArgs.cs
- EdmPropertyAttribute.cs
- DecimalSumAggregationOperator.cs
- XPathExpr.cs
- UnsafeNativeMethods.cs
- UriTemplateTableMatchCandidate.cs
- IntranetCredentialPolicy.cs
- BamlResourceContent.cs
- ErrorInfoXmlDocument.cs
- CssTextWriter.cs
- MsmqTransportBindingElement.cs
- TimeSpanValidator.cs
- OleDbMetaDataFactory.cs
- AssemblyHash.cs
- ExpressionBindingCollection.cs
- SchemaAttDef.cs
- WinInet.cs
- BackgroundWorker.cs
- OleDbException.cs
- LogRestartAreaEnumerator.cs
- ListControl.cs
- SoapBinding.cs
- DependencyObjectProvider.cs
- DBConnectionString.cs
- AnchoredBlock.cs
- NameTable.cs
- InkSerializer.cs
- ScriptResourceHandler.cs
- RequestBringIntoViewEventArgs.cs
- SHA384Managed.cs
- KeyedQueue.cs
- PeerObject.cs
- Translator.cs
- BufferedWebEventProvider.cs
- ComponentCommands.cs
- ComboBox.cs
- formatter.cs
- SpellCheck.cs
- ValidationErrorEventArgs.cs
- ArrayList.cs
- FlowDocumentReader.cs
- SHA256Managed.cs
- InvalidOperationException.cs
- DesignerActionPropertyItem.cs
- SortQuery.cs
- HtmlElementCollection.cs
- Tablet.cs
- CompositeActivityMarkupSerializer.cs
- MetadataPropertyAttribute.cs
- _UriTypeConverter.cs
- IncrementalReadDecoders.cs
- ReachVisualSerializer.cs
- TranslateTransform.cs
- ScrollChangedEventArgs.cs
- TCEAdapterGenerator.cs
- EventMap.cs
- CryptoApi.cs
- EditingCommands.cs
- Icon.cs
- ArrangedElementCollection.cs
- SimpleExpression.cs
- FileDataSourceCache.cs
- ImageListImageEditor.cs
- BindingContext.cs
- GridViewColumnCollectionChangedEventArgs.cs
- StickyNote.cs
- Triangle.cs
- DoubleUtil.cs
- ErrorHandlerModule.cs
- HitTestWithPointDrawingContextWalker.cs
- PolicyFactory.cs
- DbConnectionStringCommon.cs
- TimeoutHelper.cs
- shaperfactoryquerycachekey.cs
- FormViewDeletedEventArgs.cs
- PerfCounterSection.cs
- TextBox.cs
- AssemblyResourceLoader.cs
- TCPListener.cs
- FixUpCollection.cs
- SiteMapDesignerDataSourceView.cs