public static SequenceType Create(string name) { if (name == string.Empty || name == "empty-sequence()") { return(null); } XmlTypeCardinality cardinality = XmlTypeCardinality.One; if (name.EndsWith("?")) { cardinality = XmlTypeCardinality.ZeroOrOne; name = name.Substring(1, name.Length - 1); } else if (name.EndsWith("+")) { cardinality = XmlTypeCardinality.OneOrMore; name = name.Substring(1, name.Length - 1); } else if (name.EndsWith("*")) { cardinality = XmlTypeCardinality.ZeroOrMore; name = name.Substring(1, name.Length - 1); } if (name.Equals("xs:AnyAtomicType")) { return(new SequenceType(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), cardinality, null)); } if (name.Equals("item()")) { return(new SequenceType(XmlTypeCode.Item, cardinality)); } if (name.Equals("node()")) { return(new SequenceType(XmlTypeCode.Node, cardinality)); } string prefix; string localName; QNameParser.Split(name, out prefix, out localName); if (prefix != "xs") { throw new ArgumentException("name"); } XmlSchemaType schemaType = XmlSchemaType.GetBuiltInSimpleType(new XmlQualifiedName(localName, XmlReservedNs.NsXs)); if (schemaType == null) { throw new ArgumentException("name"); } return(new SequenceType(schemaType, cardinality, null)); }
public SequenceType(XmlSchemaType schemaType, XmlTypeCardinality cardinality, Type clrType) { TypeCode = schemaType.TypeCode; SchemaType = schemaType; Cardinality = cardinality; ParameterType = clrType; IsNode = TypeCodeIsNodeType(TypeCode); ItemType = TypeCodeToItemType(TypeCode, SchemaType); }
public XQuerySequenceType(XmlTypeCode typeCode, XmlTypeCardinality cardinality, Type clrType) : this(typeCode, XmlQualifiedNameTest.Wildcard) { Cardinality = cardinality; ParameterType = clrType; IsNode = TypeCodeIsNodeType(TypeCode); if (TypeCode != XmlTypeCode.Item && !IsNode) SchemaType = XmlSchemaType.GetBuiltInSimpleType(TypeCode); }
public SequenceType(XmlTypeCode typeCode, XmlTypeCardinality cardinality, Type clrType) : this(typeCode, XmlQualifiedNameTest.Wildcard) { Cardinality = cardinality; ParameterType = clrType; IsNode = TypeCodeIsNodeType(TypeCode); if (TypeCode != XmlTypeCode.Item && !IsNode) { SchemaType = XmlSchemaType.GetBuiltInSimpleType(TypeCode); } }
public SequenceType(Type clrType, XmlTypeCardinality cardinality) { TypeCode = GetXmlTypeCode(clrType); if (TypeCode != XmlTypeCode.Item && !IsNode) { SchemaType = XmlSchemaType.GetBuiltInSimpleType(TypeCode); } ParameterType = clrType; Cardinality = cardinality; IsNode = TypeCodeIsNodeType(TypeCode); ItemType = TypeCodeToItemType(TypeCode, SchemaType); }
public SequenceType(XmlTypeCode typeCode, XmlTypeCardinality cardinality) : this(typeCode, XmlQualifiedNameTest.Wildcard) { Cardinality = cardinality; }
public XQuerySequenceType(XmlTypeCode typeCode, XmlTypeCardinality cardinality) : this(typeCode, XmlQualifiedNameTest.Wildcard) { Cardinality = cardinality; }
public XQuerySequenceType(Type clrType, XmlTypeCardinality cardinality) { TypeCode = GetXmlTypeCode(clrType); if (TypeCode != XmlTypeCode.Item && !IsNode) SchemaType = XmlSchemaType.GetBuiltInSimpleType(TypeCode); ParameterType = clrType; Cardinality = cardinality; IsNode = TypeCodeIsNodeType(TypeCode); ItemType = TypeCodeToItemType(TypeCode, SchemaType); }
public XQuerySequenceType(XmlSchemaType schemaType, XmlTypeCardinality cardinality, Type clrType) { TypeCode = schemaType.TypeCode; SchemaType = schemaType; Cardinality = cardinality; ParameterType = clrType; IsNode = TypeCodeIsNodeType(TypeCode); ItemType = TypeCodeToItemType(TypeCode, SchemaType); }