1 //------------------------------------------------------------------------------
2 // <copyright file="XmlSchemaIdentityConstraint.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 // <owner current="true" primary="true">[....]</owner>
6 //------------------------------------------------------------------------------
8 namespace System.Xml.Schema {
10 using System.Collections;
11 using System.ComponentModel;
12 using System.Xml.Serialization;
14 /// <include file='doc\XmlSchemaIdentityConstraint.uex' path='docs/doc[@for="XmlSchemaIdentityConstraint"]/*' />
16 /// <para>[To be supplied.]</para>
18 public class XmlSchemaIdentityConstraint : XmlSchemaAnnotated {
20 XmlSchemaXPath selector;
21 XmlSchemaObjectCollection fields = new XmlSchemaObjectCollection();
22 XmlQualifiedName qualifiedName = XmlQualifiedName.Empty;
23 CompiledIdentityConstraint compiledConstraint = null;
25 /// <include file='doc\XmlSchemaIdentityConstraint.uex' path='docs/doc[@for="XmlSchemaIdentityConstraint.Name"]/*' />
27 /// <para>[To be supplied.]</para>
29 [XmlAttribute("name")]
35 /// <include file='doc\XmlSchemaIdentityConstraint.uex' path='docs/doc[@for="XmlSchemaIdentityConstraint.Selector"]/*' />
37 /// <para>[To be supplied.]</para>
39 [XmlElement("selector", typeof(XmlSchemaXPath))]
40 public XmlSchemaXPath Selector {
41 get { return selector; }
42 set { selector = value; }
45 /// <include file='doc\XmlSchemaIdentityConstraint.uex' path='docs/doc[@for="XmlSchemaIdentityConstraint.Fields"]/*' />
47 /// <para>[To be supplied.]</para>
49 [XmlElement("field", typeof(XmlSchemaXPath))]
50 public XmlSchemaObjectCollection Fields {
51 get { return fields; }
54 /// <include file='doc\XmlSchemaIdentityConstraint.uex' path='docs/doc[@for="XmlSchemaIdentityConstraint.QualifiedName"]/*' />
56 /// <para>[To be supplied.]</para>
59 public XmlQualifiedName QualifiedName {
60 get { return qualifiedName; }
63 internal void SetQualifiedName(XmlQualifiedName value) {
64 qualifiedName = value;
68 internal CompiledIdentityConstraint CompiledConstraint {
69 get { return compiledConstraint; }
70 set { compiledConstraint = value; }
74 internal override string NameAttribute {
80 /// <include file='doc\XmlSchemaIdentityConstraint.uex' path='docs/doc[@for="XmlSchemaXPath"]/*' />
82 /// <para>[To be supplied.]</para>
84 public class XmlSchemaXPath : XmlSchemaAnnotated {
86 /// <include file='doc\XmlSchemaIdentityConstraint.uex' path='docs/doc[@for="XmlSchemaXPath.XPath"]/*' />
88 /// <para>[To be supplied.]</para>
90 [XmlAttribute("xpath"), DefaultValue("")]
93 set { xpath = value; }
97 /// <include file='doc\XmlSchemaIdentityConstraint.uex' path='docs/doc[@for="XmlSchemaUnique"]/*' />
99 /// <para>[To be supplied.]</para>
101 public class XmlSchemaUnique : XmlSchemaIdentityConstraint {
104 /// <include file='doc\XmlSchemaIdentityConstraint.uex' path='docs/doc[@for="XmlSchemaKey"]/*' />
106 /// <para>[To be supplied.]</para>
108 public class XmlSchemaKey : XmlSchemaIdentityConstraint {
111 /// <include file='doc\XmlSchemaIdentityConstraint.uex' path='docs/doc[@for="XmlSchemaKeyref"]/*' />
113 /// <para>[To be supplied.]</para>
115 public class XmlSchemaKeyref : XmlSchemaIdentityConstraint {
116 XmlQualifiedName refer = XmlQualifiedName.Empty;
118 /// <include file='doc\XmlSchemaIdentityConstraint.uex' path='docs/doc[@for="XmlSchemaKeyref.Refer"]/*' />
120 /// <para>[To be supplied.]</para>
122 [XmlAttribute("refer")]
123 public XmlQualifiedName Refer {
124 get { return refer; }
125 set { refer = (value == null ? XmlQualifiedName.Empty : value); }