Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- CardSpacePolicyElement.cs
- RSAPKCS1SignatureFormatter.cs
- ProcessActivityTreeOptions.cs
- SpoolingTaskBase.cs
- EventLogReader.cs
- MessageBuffer.cs
- AssemblyNameProxy.cs
- StrongNameUtility.cs
- DESCryptoServiceProvider.cs
- ReaderOutput.cs
- ToolStripHighContrastRenderer.cs
- Point3D.cs
- WebPartConnectionCollection.cs
- EntityDataSource.cs
- CommunicationObjectManager.cs
- SimpleApplicationHost.cs
- Soap12ProtocolImporter.cs
- Visual.cs
- StrongName.cs
- TypedLocationWrapper.cs
- BooleanStorage.cs
- TextContainer.cs
- LinkDesigner.cs
- NumberSubstitution.cs
- DataTableExtensions.cs
- CDSsyncETWBCLProvider.cs
- Annotation.cs
- UserUseLicenseDictionaryLoader.cs
- FloaterParaClient.cs
- WmpBitmapDecoder.cs
- Query.cs
- XmlNodeReader.cs
- ScriptingSectionGroup.cs
- HebrewNumber.cs
- DecoderReplacementFallback.cs
- GPPOINTF.cs
- ApplicationServiceManager.cs
- NamespaceEmitter.cs
- ViewSimplifier.cs
- RemotingConfigParser.cs
- NativeRecognizer.cs
- DispatcherProcessingDisabled.cs
- String.cs
- MessagePartDescription.cs
- SmiTypedGetterSetter.cs
- OracleCommandBuilder.cs
- XomlCompiler.cs
- WebResourceUtil.cs
- NumberSubstitution.cs
- TimersDescriptionAttribute.cs
- SystemParameters.cs
- Opcode.cs
- ControlPropertyNameConverter.cs
- Parser.cs
- CodeNamespaceImport.cs
- recordstate.cs
- WindowsPen.cs
- SigningCredentials.cs
- XmlCollation.cs
- XamlGridLengthSerializer.cs
- UIElement.cs
- StreamGeometry.cs
- StylusPointProperty.cs
- infer.cs
- XmlHierarchyData.cs
- UnionCqlBlock.cs
- ping.cs
- GeometryConverter.cs
- RectangleConverter.cs
- __Filters.cs
- ToggleButton.cs
- DictionaryMarkupSerializer.cs
- Command.cs
- Vector3D.cs
- UICuesEvent.cs
- Aes.cs
- LocalValueEnumerator.cs
- DbMetaDataFactory.cs
- SQLMoney.cs
- DataServiceQuery.cs
- ParseChildrenAsPropertiesAttribute.cs
- DictionarySectionHandler.cs
- XmlSecureResolver.cs
- DecoderFallback.cs
- XsltFunctions.cs
- XmlMtomReader.cs
- CompilationPass2TaskInternal.cs
- RegexCompiler.cs
- SQLInt64.cs
- InfoCardSymmetricCrypto.cs
- SmtpLoginAuthenticationModule.cs
- QueryOperationResponseOfT.cs
- AnimationStorage.cs
- ZipIOBlockManager.cs
- ManualWorkflowSchedulerService.cs
- DirectionalLight.cs
- IsolatedStorage.cs
- Point3DCollection.cs
- IisTraceWebEventProvider.cs
- ItemChangedEventArgs.cs