Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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.
//
// [....]
//-----------------------------------------------------------------------------
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
- InternalTypeHelper.cs
- XmlnsDefinitionAttribute.cs
- ConfigurationElement.cs
- DecimalKeyFrameCollection.cs
- SqlGatherProducedAliases.cs
- BitmapEffectDrawingContextWalker.cs
- TableCellCollection.cs
- SingleAnimationBase.cs
- ByeMessageApril2005.cs
- ChangesetResponse.cs
- ToolStripOverflowButton.cs
- MobileContainerDesigner.cs
- BorderSidesEditor.cs
- InfoCardSymmetricCrypto.cs
- Point3DCollection.cs
- DisplayInformation.cs
- DropSource.cs
- OleDbTransaction.cs
- BitStream.cs
- FtpWebResponse.cs
- UrlMappingsModule.cs
- AudioDeviceOut.cs
- SqlConnection.cs
- LogExtent.cs
- DBConnection.cs
- OuterGlowBitmapEffect.cs
- TabletCollection.cs
- FileDialogCustomPlace.cs
- DesignConnectionCollection.cs
- ExpressionVisitor.cs
- ScriptReferenceBase.cs
- ClipboardData.cs
- StateRuntime.cs
- ToReply.cs
- HtmlElementErrorEventArgs.cs
- Border.cs
- DataRecordInternal.cs
- EventArgs.cs
- CfgRule.cs
- Bookmark.cs
- VScrollBar.cs
- ErrorHandler.cs
- PlaceHolder.cs
- MbpInfo.cs
- JsonQNameDataContract.cs
- ExpressionParser.cs
- FtpWebRequest.cs
- DbConnectionInternal.cs
- Random.cs
- SingleAnimationUsingKeyFrames.cs
- SqlDataSourceAdvancedOptionsForm.cs
- ByteStreamMessageEncoder.cs
- WindowsImpersonationContext.cs
- XmlnsPrefixAttribute.cs
- DeviceContexts.cs
- SqlNotificationRequest.cs
- SoapIncludeAttribute.cs
- RenderOptions.cs
- ClientRoleProvider.cs
- SweepDirectionValidation.cs
- ToolStripRenderEventArgs.cs
- COMException.cs
- SafeArrayTypeMismatchException.cs
- InfiniteTimeSpanConverter.cs
- ListViewItem.cs
- CommonDialog.cs
- RandomNumberGenerator.cs
- ListDictionary.cs
- SqlFunctions.cs
- ExpressionList.cs
- VariantWrapper.cs
- ReadOnlyHierarchicalDataSource.cs
- util.cs
- MimeBasePart.cs
- FilterEventArgs.cs
- SocketPermission.cs
- InvalidCommandTreeException.cs
- COM2FontConverter.cs
- InfoCardTrace.cs
- InvalidCastException.cs
- C14NUtil.cs
- BaseDataBoundControl.cs
- ProgressBar.cs
- Hashtable.cs
- BitmapPalettes.cs
- SafeProcessHandle.cs
- ETagAttribute.cs
- CodeNamespaceImport.cs
- HandleCollector.cs
- XmlIgnoreAttribute.cs
- ReaderContextStackData.cs
- DetailsViewCommandEventArgs.cs
- Activity.cs
- CloudCollection.cs
- RegexStringValidatorAttribute.cs
- XmlDataSourceView.cs
- CodeExporter.cs
- XmlJsonReader.cs
- ObjectDataSource.cs
- QueryOptionExpression.cs