/// <summary>
        /// Generates an ValidValues from its RDL representation.
        /// </summary>
        /// <param name="reader">The <typeparamref name="XmlReader"/> stream from which the ValidValues is deserialized</param>
        public void ReadXml(System.Xml.XmlReader reader)
        {
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.EndElement && reader.Name == Rdl.VALIDVALUES)
                {
                    break;
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    //--- DataSetReference
                    if (reader.Name == Rdl.DATASETREFERENCE)
                    {
                        if (_dataSetReference == null)
                        {
                            _dataSetReference = new DataSetReference();
                        }

                        ((IXmlSerializable)_dataSetReference).ReadXml(reader);
                    }

                    //--- ParameterValues
                    if (reader.Name == Rdl.PARAMETERVALUES)
                    {
                        if (_parameterValues == null)
                        {
                            _parameterValues = new ParameterValueCollection();
                        }

                        ((IXmlSerializable)_parameterValues).ReadXml(reader);
                    }
                }
            }
        }
        /// <summary>
        /// Generates an DefaultValue from its RDL representation.
        /// </summary>
        /// <param name="reader">The <typeparamref name="XmlReader"/> stream from which the DefaultValue is deserialized</param>
        public void ReadXml(XmlReader reader)
        {
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.EndElement && reader.Name == Rdl.DEFAULTVALUE)
                {
                    break;
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    //--- DataSetReference
                    if (reader.Name == Rdl.DATASETREFERENCE)
                    {
                        if (_dataSetReference == null)
                        {
                            _dataSetReference = new DataSetReference();
                        }

                        ((IXmlSerializable)_dataSetReference).ReadXml(reader);
                    }

                    //--- Values
                    if (reader.Name == Rdl.VALUES)
                    {
                        if (_values == null)
                        {
                            _values = new ValueCollection();
                        }

                        ((IXmlSerializable)_values).ReadXml(reader);
                    }
                }
            }
        }