package com.jxml.quick.model.qdml;
import com.jxml.quick.ocm.*;
import com.jxml.quick.*;
import org.xml.sax.*;
import java.util.*;
import java.io.*;

/**
 * Models a range element in QDML.
 * The range element specifies a range of legal values for the content of a text coin.
 <pre>
DTD:

&lt;!ELEMENT range<a href="#remList">(rem*)</a>>

&lt;!ATTLIST range
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#imin">imin</a> CDATA #IMPLIED
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#xmin">xmin</a> CDATA #IMPLIED
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#imax">imax</a> CDATA #IMPLIED
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#xmax">xmax</a> CDATA #IMPLIED
&nbsp;&nbsp;&nbsp;&nbsp;ID id #IMPLIED
>
 </pre>
 */
public class QDMRange extends QDMCloneable implements QDMValid
{
	/**
	 * Models the imin attribute on the range element.
	 * The imin attribute specifies the minimum value of the range, inclusively.
	 * Either imin or xmin, but not both, must be present on the range element.
	 */
	public String imin="";

	/**
	 * Models the xmin attribute on the range element.
	 * The xmin attribute specifies the minimum value of the range, non-inclusively.
	 * Either imin or xmin, but not both, must be present on the range element.
	 */
	public String xmin="";

	/**
	 * Models the imax attribute on the range element.
	 * The imax attribute specifies the maximum value of the range, inclusively.
	 * Either imax or xmax, but not both, must be present on the range element.
	 */
	public String imax="";

	/**
	 * Models the xmax attribute on the range element.
	 * The imax attribute specifies the maximum value of the range, non-inclusively.
	 * Either imax or xmax, but not both, must be present on the range element.
	 */
	public String xmax="";

	/**
	 * A container for QDMRem objects, which model rem elements.
	 * The rem elements are optional and repeating.
	 */
	public ArrayList remList=new ArrayList();

	/**
	 * Returns a deep copy of this object.
	 */
	public Object clone()
	{
		QDMRange rv=(QDMRange)super.clone();
		rv.remList=clone(remList);
		return rv;
	}
}
