package org.openrosa.client.xforms;
/**
* Constants used when manipulating xforms documents.
*
* @author daniel
*
*/
public class XformConstants {
public static final String XML_NAMESPACE = "xmlns";
/** The xmlns prefix. */
public static final String XML_NAMESPACE_PREFIX = "xmlns:";
/** Namespace prefix for XForms. */
public static final String PREFIX_XFORMS = "xf";
//Not made constant because we need to change it at runtime when parsing xforms with their custom prefix.
public static String PREFIX_XFORMS_AND_COLON = ""; //"xf:";
/** Namespace prefix for XML schema. */
public static final String PREFIX_XML_SCHEMA = "xsd";
/** The second Namespace prefix for XML schema. */
public static final String PREFIX_XML_SCHEMA2 = "xs";
/** Namespace prefix for XML schema instance. */
public static final String PREFIX_XML_INSTANCES = "xsi";
/** Namespace for XForms. */
public static final String NAMESPACE_XFORMS = "http://www.w3.org/2002/xforms";
/** Namespace for XML schema. */
public static final String NAMESPACE_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema";
/** Namespace for XML schema instance. */
public static final String NAMESPACE_XML_INSTANCE = "http://www.w3.org/2001/XMLSchema-instance";
//Not made constant because we need to change them at runtime when parsing xforms with their custom prefix.
public static String NODE_NAME_XFORMS = PREFIX_XFORMS_AND_COLON+"xforms";
public static String NODE_NAME_INSTANCE = PREFIX_XFORMS_AND_COLON+"instance";
public static String NODE_NAME_MODEL = PREFIX_XFORMS_AND_COLON+"model";
public static String NODE_NAME_BIND = PREFIX_XFORMS_AND_COLON+"bind";
public static String NODE_NAME_LABEL = PREFIX_XFORMS_AND_COLON+"label";
public static String NODE_NAME_HINT = PREFIX_XFORMS_AND_COLON+"hint";
public static String NODE_NAME_ITEM = PREFIX_XFORMS_AND_COLON+"item";
public static String NODE_NAME_ITEMSET = PREFIX_XFORMS_AND_COLON+"itemset";
public static String NODE_NAME_INPUT = PREFIX_XFORMS_AND_COLON+"input";
public static String NODE_NAME_UPLOAD = PREFIX_XFORMS_AND_COLON+"upload";
public static String NODE_NAME_SELECT = PREFIX_XFORMS_AND_COLON+"select";
public static String NODE_NAME_SELECT1 = PREFIX_XFORMS_AND_COLON+"select1";
public static String NODE_NAME_REPEAT = PREFIX_XFORMS_AND_COLON+"repeat";
public static String NODE_NAME_TRIGGER = PREFIX_XFORMS_AND_COLON+"trigger";
public static String NODE_NAME_SUBMIT = PREFIX_XFORMS_AND_COLON+"submit";
public static String NODE_NAME_VALUE = PREFIX_XFORMS_AND_COLON+"value";
public static String NODE_NAME_GROUP = PREFIX_XFORMS_AND_COLON+"group";
public static final String NODE_NAME_XFORMS_MINUS_PREFIX = "xforms";
public static final String NODE_NAME_INSTANCE_MINUS_PREFIX = "instance";
public static final String NODE_NAME_MODEL_MINUS_PREFIX = "model";
public static final String NODE_NAME_BIND_MINUS_PREFIX = "bind";
public static final String NODE_NAME_LABEL_MINUS_PREFIX = "label";
public static final String NODE_NAME_HINT_MINUS_PREFIX = "hint";
public static final String NODE_NAME_ITEM_MINUS_PREFIX = "item";
public static final String NODE_NAME_ITEMSET_MINUS_PREFIX = "itemset";
public static final String NODE_NAME_INPUT_MINUS_PREFIX = "input";
public static final String NODE_NAME_UPLOAD_MINUS_PREFIX = "upload";
public static final String NODE_NAME_SELECT_MINUS_PREFIX = "select";
public static final String NODE_NAME_SELECT1_MINUS_PREFIX = "select1";
public static final String NODE_NAME_REPEAT_MINUS_PREFIX = "repeat";
public static final String NODE_NAME_TRIGGER_MINUS_PREFIX = "trigger";
public static final String NODE_NAME_SUBMIT_MINUS_PREFIX = "submit";
public static final String NODE_NAME_VALUE_MINUS_PREFIX = "value";
public static final String NODE_NAME_GROUP_MINUS_PREFIX = "group";
public static final String NODE_NAME_TEXT = "text";
public static final String ATTRIBUTE_NAME_XPATH = "xpath";
public static final String ATTRIBUTE_NAME_VALUE = "value";
public static final String ATTRIBUTE_NAME_ID = "id";
public static final String ATTRIBUTE_NAME_BIND = "bind";
public static final String ATTRIBUTE_NAME_REF = "ref";
public static final String ATTRIBUTE_NAME_NODESET = "nodeset";
public static final String ATTRIBUTE_NAME_LOCKED = "locked";
public static final String ATTRIBUTE_NAME_VISIBLE = "visible";
public static final String ATTRIBUTE_NAME_READONLY = "readonly";
public static final String ATTRIBUTE_NAME_RELEVANT = "relevant";
public static final String ATTRIBUTE_NAME_CONSTRAINT = "constraint";
//no longer final because we need api users to overwrite it, since its not part of the xforms standard.
public static /*final*/ String ATTRIBUTE_NAME_CONSTRAINT_MESSAGE = "message";
public static final String ATTRIBUTE_NAME_REQUIRED = "required";
public static final String ATTRIBUTE_NAME_CALCULATE = "calculate";
public static final String ATTRIBUTE_NAME_TYPE = "type";
public static final String ATTRIBUTE_NAME_NAME = "name";
//no longer final because we need api users to overwrite it, since its not part of the xforms standard.
public static String ATTRIBUTE_NAME_FORM_KEY = "formKey";
public static final String ATTRIBUTE_NAME_XMLNS = "xmlns:"+PREFIX_XFORMS;
public static final String ATTRIBUTE_NAME_DESCRIPTION_TEMPLATE = "description-template"; //eg ${/patient/family_name}$
public static final String ATTRIBUTE_NAME_ACTION = "action";
public static final String ATTRIBUTE_NAME_PARENT = "parent";
public static final String ATTRIBUTE_NAME_FORMAT = "format";
public static final String ATTRIBUTE_NAME_MEDIATYPE = "mediatype";
public static final String ATTRIBUTE_VALUE_ENABLE = "enable";
public static final String ATTRIBUTE_VALUE_DISABLE = "disable";
public static final String ATTRIBUTE_VALUE_SHOW = "show";
public static final String ATTRIBUTE_VALUE_HIDE = "hide";
public static final String ATTRIBUTE_VALUE_IMAGE = "image";
public static final String ATTRIBUTE_VALUE_VIDEO = "video";
public static final String ATTRIBUTE_VALUE_AUDIO = "audio";
public static final String ATTRIBUTE_VALUE_GPS = "gps";
public static final String DATA_TYPE_DATE = "xsd:date";
public static final String DATA_TYPE_INT = "xsd:int";
public static final String DATA_TYPE_TEXT = "xsd:string";
public static final String DATA_TYPE_BOOLEAN = "xsd:boolean";
//Not made final such that we can change its value.
public static String DATA_TYPE_BINARY = "xsd:base64Binary";
public static final String DATA_TYPE_DATE_TIME = "xsd:dateTime";
public static final String DATA_TYPE_TIME = "xsd:time";
public static final String DATA_TYPE_DECIMAL = "xsd:decimal";
public static final String DATA_TYPE_LONG = "xsd:long";
public static final String DATA_TYPE_BARCODE = "barcode";
public static final String XPATH_VALUE_TRUE = "true()";
public static final String XPATH_VALUE_FALSE = "false()";
public static final String CONDITIONS_OPERATOR_TEXT_AND = " and ";
public static final String CONDITIONS_OPERATOR_TEXT_OR = " or ";
public static void updatePrefixConstants(String prefix){
PREFIX_XFORMS_AND_COLON = prefix + ":";
NODE_NAME_XFORMS = PREFIX_XFORMS_AND_COLON+"xforms";
NODE_NAME_INSTANCE = PREFIX_XFORMS_AND_COLON+"instance";
NODE_NAME_MODEL = PREFIX_XFORMS_AND_COLON+"model";
NODE_NAME_BIND = PREFIX_XFORMS_AND_COLON+"bind";
NODE_NAME_LABEL = PREFIX_XFORMS_AND_COLON+"label";
NODE_NAME_HINT = PREFIX_XFORMS_AND_COLON+"hint";
NODE_NAME_ITEM = PREFIX_XFORMS_AND_COLON+"item";
NODE_NAME_ITEMSET = PREFIX_XFORMS_AND_COLON+"itemset";
NODE_NAME_INPUT = PREFIX_XFORMS_AND_COLON+"input";
NODE_NAME_UPLOAD = PREFIX_XFORMS_AND_COLON+"upload";
NODE_NAME_SELECT = PREFIX_XFORMS_AND_COLON+"select";
NODE_NAME_SELECT1 = PREFIX_XFORMS_AND_COLON+"select1";
NODE_NAME_REPEAT = PREFIX_XFORMS_AND_COLON+"repeat";
NODE_NAME_TRIGGER = PREFIX_XFORMS_AND_COLON+"trigger";
NODE_NAME_SUBMIT = PREFIX_XFORMS_AND_COLON+"submit";
NODE_NAME_VALUE = PREFIX_XFORMS_AND_COLON+"value";
NODE_NAME_GROUP = PREFIX_XFORMS_AND_COLON+"group";
}
}