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
- DataSourceView.cs
- ColumnCollection.cs
- SerializeAbsoluteContext.cs
- StylusEventArgs.cs
- PreservationFileReader.cs
- RSAOAEPKeyExchangeDeformatter.cs
- WebBrowserUriTypeConverter.cs
- ServerTooBusyException.cs
- ControlValuePropertyAttribute.cs
- CorrelationResolver.cs
- CollectionViewSource.cs
- SemanticBasicElement.cs
- HtmlTableRowCollection.cs
- HostingPreferredMapPath.cs
- CollectionsUtil.cs
- Lookup.cs
- PersistChildrenAttribute.cs
- HtmlButton.cs
- MetaDataInfo.cs
- OrthographicCamera.cs
- _SafeNetHandles.cs
- WebColorConverter.cs
- CapabilitiesState.cs
- HeaderUtility.cs
- ModifiableIteratorCollection.cs
- CachedPathData.cs
- InstancePersistenceCommand.cs
- DbExpressionBuilder.cs
- BuildProvider.cs
- ListViewGroup.cs
- XmlSchemaParticle.cs
- BitConverter.cs
- CodeAttributeDeclaration.cs
- ExcCanonicalXml.cs
- DataTable.cs
- UserNameSecurityTokenProvider.cs
- ElapsedEventArgs.cs
- ClientSponsor.cs
- SiteMembershipCondition.cs
- AndCondition.cs
- RulePatternOps.cs
- Decoder.cs
- Form.cs
- PropertyChangedEventManager.cs
- DesigntimeLicenseContext.cs
- SoapAttributes.cs
- TreeNodeClickEventArgs.cs
- WebHeaderCollection.cs
- AddInAdapter.cs
- ListControl.cs
- AppDomainUnloadedException.cs
- SamlDoNotCacheCondition.cs
- oledbmetadatacolumnnames.cs
- ConfigPathUtility.cs
- QuadraticBezierSegment.cs
- PopupRootAutomationPeer.cs
- ObjectTag.cs
- FrameDimension.cs
- WindowsRichEdit.cs
- InvokePattern.cs
- EntityCommandDefinition.cs
- PreloadedPackages.cs
- OracleFactory.cs
- X509Certificate2.cs
- QilInvokeLateBound.cs
- ToolStripRenderEventArgs.cs
- Message.cs
- GrammarBuilderWildcard.cs
- QuaternionAnimationUsingKeyFrames.cs
- WmfPlaceableFileHeader.cs
- RegexNode.cs
- StringDictionaryCodeDomSerializer.cs
- XmlWrappingReader.cs
- HttpServerVarsCollection.cs
- DataGridViewCellStyle.cs
- WsdlContractConversionContext.cs
- HtmlButton.cs
- TreeNode.cs
- HostExecutionContextManager.cs
- DeploymentExceptionMapper.cs
- BindingOperations.cs
- WmlPanelAdapter.cs
- WebPartConnection.cs
- HyperLinkColumn.cs
- InvokeProviderWrapper.cs
- ToolboxItem.cs
- Codec.cs
- _LazyAsyncResult.cs
- PropertyValue.cs
- WebPartTransformerCollection.cs
- InputMethodStateTypeInfo.cs
- InputLanguageManager.cs
- webbrowsersite.cs
- NeutralResourcesLanguageAttribute.cs
- WorkflowEventArgs.cs
- ZipPackagePart.cs
- XmlRawWriterWrapper.cs
- WebEventTraceProvider.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- DBConcurrencyException.cs