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
- ListBoxItem.cs
- OrderedDictionary.cs
- DesignerAutoFormatStyle.cs
- Nullable.cs
- BaseTemplateCodeDomTreeGenerator.cs
- SiteMapNode.cs
- Form.cs
- GridViewColumnCollection.cs
- SaveFileDialog.cs
- BehaviorEditorPart.cs
- XMLSyntaxException.cs
- JsonDeserializer.cs
- SqlCrossApplyToCrossJoin.cs
- FontFaceLayoutInfo.cs
- BlobPersonalizationState.cs
- TreeNodeBindingCollection.cs
- WebColorConverter.cs
- TimeoutConverter.cs
- WorkflowRuntime.cs
- EntityClassGenerator.cs
- Vector3DAnimationUsingKeyFrames.cs
- StorageSetMapping.cs
- TypedLocationWrapper.cs
- StringDictionaryEditor.cs
- RadioButtonDesigner.cs
- Internal.cs
- Ref.cs
- safelinkcollection.cs
- LogPolicy.cs
- DesignerCategoryAttribute.cs
- CommandPlan.cs
- SqlUserDefinedAggregateAttribute.cs
- HierarchicalDataBoundControlAdapter.cs
- SourceElementsCollection.cs
- TrustManagerPromptUI.cs
- ActivityExecutorOperation.cs
- ExceptionHelpers.cs
- GeometryModel3D.cs
- IDispatchConstantAttribute.cs
- ArgumentOutOfRangeException.cs
- Message.cs
- ComponentRenameEvent.cs
- ActiveXSerializer.cs
- RepeaterItemEventArgs.cs
- User.cs
- HelpEvent.cs
- PeerName.cs
- ConnectivityStatus.cs
- DataGridViewRowEventArgs.cs
- DocumentViewer.cs
- SEHException.cs
- datacache.cs
- SoapDocumentServiceAttribute.cs
- TimeSpanValidator.cs
- DesignColumnCollection.cs
- ExecutionContext.cs
- WebConfigurationManager.cs
- RegexWorker.cs
- webclient.cs
- Rectangle.cs
- DescendantOverDescendantQuery.cs
- StrongName.cs
- InternalMappingException.cs
- SkipStoryboardToFill.cs
- TreeViewAutomationPeer.cs
- DeflateInput.cs
- ScriptingJsonSerializationSection.cs
- SynchronizedKeyedCollection.cs
- ChameleonKey.cs
- PrintDocument.cs
- LocalizabilityAttribute.cs
- TableHeaderCell.cs
- HScrollBar.cs
- AnnotationObservableCollection.cs
- ToolStripMenuItem.cs
- WinFormsSpinner.cs
- Graphics.cs
- SrgsElement.cs
- SessionPageStateSection.cs
- FileLevelControlBuilderAttribute.cs
- ReplacementText.cs
- IDReferencePropertyAttribute.cs
- PageAsyncTask.cs
- TemplateBindingExtension.cs
- Baml2006KnownTypes.cs
- BuildProvidersCompiler.cs
- BackStopAuthenticationModule.cs
- ConditionCollection.cs
- ImageDrawing.cs
- RootBrowserWindow.cs
- PriorityBinding.cs
- HtmlSelectionListAdapter.cs
- InkCanvasAutomationPeer.cs
- LabelLiteral.cs
- SecureUICommand.cs
- DropTarget.cs
- WebPartHeaderCloseVerb.cs
- EntityDesignerBuildProvider.cs
- HandleCollector.cs
- ExtendedPropertyCollection.cs