Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- COM2Properties.cs
- ScrollBarRenderer.cs
- UnknownMessageReceivedEventArgs.cs
- DbUpdateCommandTree.cs
- ImportCatalogPart.cs
- ContractMapping.cs
- MatrixIndependentAnimationStorage.cs
- SafeLocalMemHandle.cs
- XmlSchemaInclude.cs
- FontStretchConverter.cs
- AttachedAnnotation.cs
- RegionIterator.cs
- CqlParserHelpers.cs
- LoaderAllocator.cs
- BindingExpressionBase.cs
- InkSerializer.cs
- EntitySetBase.cs
- PageThemeBuildProvider.cs
- PolicyChain.cs
- SiteMapNodeItem.cs
- XmlUnspecifiedAttribute.cs
- FunctionParameter.cs
- ActivityInstance.cs
- ObjectQueryState.cs
- CqlBlock.cs
- PnrpPermission.cs
- SchemaManager.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- VolatileResourceManager.cs
- EventBindingService.cs
- ValueTable.cs
- RelatedEnd.cs
- srgsitem.cs
- ChildChangedEventArgs.cs
- SelectionChangedEventArgs.cs
- KnownTypesProvider.cs
- ParallelTimeline.cs
- CorrelationToken.cs
- input.cs
- DependencySource.cs
- DetailsViewPageEventArgs.cs
- BuilderPropertyEntry.cs
- PersistenceTypeAttribute.cs
- DataKeyCollection.cs
- WindowCollection.cs
- AuthenticationException.cs
- UIElementHelper.cs
- DataBoundControlAdapter.cs
- XmlCDATASection.cs
- ProcessHostConfigUtils.cs
- XmlComplianceUtil.cs
- Vector3DKeyFrameCollection.cs
- NoClickablePointException.cs
- Asn1Utilities.cs
- MeshGeometry3D.cs
- AttributeAction.cs
- HMACSHA384.cs
- TripleDESCryptoServiceProvider.cs
- TableStyle.cs
- CryptoKeySecurity.cs
- ActivityExecutorDelegateInfo.cs
- Triangle.cs
- EdgeProfileValidation.cs
- ReceiveSecurityHeaderElementManager.cs
- SqlVisitor.cs
- RectAnimation.cs
- SqlMultiplexer.cs
- AppearanceEditorPart.cs
- String.cs
- columnmapfactory.cs
- DiscardableAttribute.cs
- WebPartConnectVerb.cs
- TextEmbeddedObject.cs
- GradientBrush.cs
- DesignRelation.cs
- ProfileModule.cs
- StringUtil.cs
- Receive.cs
- DBConnectionString.cs
- WmlFormAdapter.cs
- Cursors.cs
- CheckedPointers.cs
- DateTimeFormatInfo.cs
- Variant.cs
- GridItem.cs
- XmlDictionary.cs
- PageHandlerFactory.cs
- unitconverter.cs
- EmbeddedMailObject.cs
- MouseButton.cs
- CanonicalXml.cs
- BinaryQueryOperator.cs
- LogSwitch.cs
- EntitySet.cs
- CryptoApi.cs
- RectAnimationBase.cs
- PartialCachingAttribute.cs
- IPAddress.cs
- DataKey.cs
- DbParameterHelper.cs