public string ToString(string format) { string[] sa; StringBuilder sb; bool isXQ; if (format == "S") { sb = new StringBuilder(); sb.Append(Cardinality.ToString(format)); sb.Append(';'); for (int i = 0; i < Count; i++) { if (i != 0) { sb.Append('|'); } sb.Append(this[i].TypeCode.ToString()); } sb.Append(';'); sb.Append(IsStrict); return(sb.ToString()); } isXQ = (format == "X"); if (Cardinality == XmlQueryCardinality.None) { return("none"); } else if (Cardinality == XmlQueryCardinality.Zero) { return("empty"); } sb = new StringBuilder(); switch (Count) { case 0: // This assert depends on the way we are going to represent None sb.Append("none"); break; case 1: sb.Append(this[0].ItemTypeToString(isXQ)); break; default: sa = new string[Count]; for (int i = 0; i < Count; i++) { sa[i] = this[i].ItemTypeToString(isXQ); } Array.Sort(sa); sb = new StringBuilder(); sb.Append('('); sb.Append(sa[0]); for (int i = 1; i < sa.Length; i++) { sb.Append(" | "); sb.Append(sa[i]); } sb.Append(')'); break; } sb.Append(Cardinality.ToString()); if (!isXQ && IsDod) { sb.Append('#'); } return(sb.ToString()); }
/// <summary> /// Serializes the specified cardinality. /// </summary> /// <param name="cardinality">The cardinality.</param> private void Serialize(Cardinality cardinality) { _writer.Write(cardinality.ToString().ToLowerInvariant()); }