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; } }
public CompiledIdentityConstraint(XmlSchemaIdentityConstraint constraint, XmlNamespaceManager nsmgr) { this.name = constraint.QualifiedName; //public Asttree (string xPath, bool isField, XmlNamespaceManager nsmgr) try { _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); _fields = new Asttree[fields.Count]; for (int idxField = 0; idxField < fields.Count; idxField++) { try { _fields[idxField] = new Asttree(((XmlSchemaXPath)fields[idxField]).XPath, true, nsmgr); } catch (XmlSchemaException e) { e.SetSource(constraint.Fields[idxField]); throw e; } } if (constraint is XmlSchemaUnique) { _role = ConstraintRole.Unique; } else if (constraint is XmlSchemaKey) { _role = ConstraintRole.Key; } else { // XmlSchemaKeyref _role = ConstraintRole.Keyref; this.refer = ((XmlSchemaKeyref)constraint).Refer; } }
public CompiledIdentityConstraint(XmlSchemaIdentityConstraint constraint, XmlNamespaceManager nsmgr) { this.name = XmlQualifiedName.Empty; this.refer = XmlQualifiedName.Empty; this.name = constraint.QualifiedName; try { this.selector = new Asttree(constraint.Selector.XPath, false, nsmgr); } catch (XmlSchemaException exception) { exception.SetSource(constraint.Selector); throw exception; } XmlSchemaObjectCollection fields = constraint.Fields; this.fields = new Asttree[fields.Count]; for (int i = 0; i < fields.Count; i++) { try { this.fields[i] = new Asttree(((XmlSchemaXPath) fields[i]).XPath, true, nsmgr); } catch (XmlSchemaException exception2) { exception2.SetSource(constraint.Fields[i]); throw exception2; } } if (constraint is XmlSchemaUnique) { this.role = ConstraintRole.Unique; } else if (constraint is XmlSchemaKey) { this.role = ConstraintRole.Key; } else { this.role = ConstraintRole.Keyref; this.refer = ((XmlSchemaKeyref) constraint).Refer; } }