Example #1
0
        internal void AddKeyHash(System.Text.StringBuilder sb)
        {
            sb.Append("XA ");

            KeyHelper.AddField(sb, 1, xmlIgnore);
            KeyHelper.AddField(sb, 2, xmlns);
            KeyHelper.AddField(sb, 3, xmlAnyAttribute != null);

            xmlAnyElements.AddKeyHash(sb);
            xmlArrayItems.AddKeyHash(sb);
            xmlElements.AddKeyHash(sb);

            if (xmlArray != null)
            {
                xmlArray.AddKeyHash(sb);
            }

            if (xmlAttribute != null)
            {
                xmlAttribute.AddKeyHash(sb);
            }

            if (xmlDefaultValue == null)
            {
                sb.Append("n");
            }
            else if (!(xmlDefaultValue is System.DBNull))
            {
                string v = XmlCustomFormatter.ToXmlString(TypeTranslator.GetTypeData(xmlDefaultValue.GetType()), xmlDefaultValue);
                sb.Append("v" + v);
            }

            if (xmlEnum != null)
            {
                xmlEnum.AddKeyHash(sb);
            }

            if (xmlRoot != null)
            {
                xmlRoot.AddKeyHash(sb);
            }

            if (xmlText != null)
            {
                xmlText.AddKeyHash(sb);
            }

            if (xmlType != null)
            {
                xmlType.AddKeyHash(sb);
            }

            if (xmlChoiceIdentifier != null)
            {
                xmlChoiceIdentifier.AddKeyHash(sb);
            }

            sb.Append("|");
        }