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
- TextTreeTextNode.cs
- ExclusiveCanonicalizationTransform.cs
- ReflectEventDescriptor.cs
- PrtCap_Reader.cs
- LogWriteRestartAreaAsyncResult.cs
- ApplicationFileParser.cs
- StdValidatorsAndConverters.cs
- RuleSettingsCollection.cs
- Soap12ProtocolImporter.cs
- CommandField.cs
- CommunicationException.cs
- __Filters.cs
- TableLayoutPanel.cs
- ToolStripDropDownMenu.cs
- SchemaTableColumn.cs
- PlatformCulture.cs
- SharedDp.cs
- LinkArea.cs
- SQLRoleProvider.cs
- XmlWriterSettings.cs
- IssuedTokenClientBehaviorsElement.cs
- ViewRendering.cs
- UnsafeMethods.cs
- ThreadInterruptedException.cs
- QilStrConcat.cs
- _DomainName.cs
- CookielessHelper.cs
- MultipartIdentifier.cs
- ServiceProviders.cs
- EnumerableRowCollectionExtensions.cs
- Polygon.cs
- StringComparer.cs
- dbenumerator.cs
- Point4DConverter.cs
- CodeIdentifiers.cs
- EditCommandColumn.cs
- HostedTcpTransportManager.cs
- DupHandleConnectionReader.cs
- ImageField.cs
- Base64Encoder.cs
- OdbcEnvironmentHandle.cs
- HtmlButton.cs
- ReflectionHelper.cs
- HttpValueCollection.cs
- LogAppendAsyncResult.cs
- ExcludePathInfo.cs
- TreeWalker.cs
- NonSerializedAttribute.cs
- RenderTargetBitmap.cs
- GacUtil.cs
- XsltCompileContext.cs
- StateWorkerRequest.cs
- WhiteSpaceTrimStringConverter.cs
- WebSysDisplayNameAttribute.cs
- EventLogEntryCollection.cs
- OracleTransaction.cs
- ProfileBuildProvider.cs
- MainMenu.cs
- GeneralTransform3DCollection.cs
- SimpleHandlerFactory.cs
- OneOfScalarConst.cs
- dbenumerator.cs
- ParserExtension.cs
- CustomBindingElementCollection.cs
- RawTextInputReport.cs
- GeneratedContractType.cs
- TemplateBamlTreeBuilder.cs
- __Filters.cs
- CornerRadius.cs
- HttpResponseInternalBase.cs
- TabControlToolboxItem.cs
- DispatcherExceptionFilterEventArgs.cs
- Boolean.cs
- NetworkInformationException.cs
- FontDialog.cs
- PageHandlerFactory.cs
- PagePropertiesChangingEventArgs.cs
- AnimationClock.cs
- InvalidCastException.cs
- ButtonChrome.cs
- XmlSchemaObjectTable.cs
- SortedSetDebugView.cs
- StatusBar.cs
- PathSegment.cs
- ScriptManager.cs
- Identity.cs
- PageAsyncTaskManager.cs
- SqlCrossApplyToCrossJoin.cs
- DataServiceException.cs
- IndependentAnimationStorage.cs
- HttpListenerContext.cs
- SrgsItemList.cs
- XMLSyntaxException.cs
- CounterSample.cs
- UnconditionalPolicy.cs
- WebHttpSecurityModeHelper.cs
- MetadataStore.cs
- TableChangeProcessor.cs
- GeometryDrawing.cs
- ContextStaticAttribute.cs