Standard XML Representations of Field Data: Difference between revisions

From IHRIS Wiki
No edit summary
Line 1: Line 1:
==API==
==API==
==I2CE_FormField==
===I2CE_FormField===
*add in a (final) method getXMLData($as_node = false).  Calls _getXMLData().  If $as_node == false, the simply pass it along.  If $as_node == true, first convert it to a DOMNode and return that
*add in a (final) method getXMLData($as_node = false).  Calls _getXMLData().  If $as_node == false, the simply pass it along.  If $as_node == true, first convert it to a DOMNode and return that
*add in a abstract method _getXMLData() which return strings
*add in a abstract method _getXMLData() which return strings
==Sub-Classes of I2CE_FormField==
===Sub-Classes of I2CE_FormField===
*each non-abstract class should implement _getXMLData()
*each non-abstract class should implement _getXMLData()
==XML Format==
==XML Format==

Revision as of 13:29, 1 December 2011

API

I2CE_FormField

  • add in a (final) method getXMLData($as_node = false). Calls _getXMLData(). If $as_node == false, the simply pass it along. If $as_node == true, first convert it to a DOMNode and return that
  • add in a abstract method _getXMLData() which return strings

Sub-Classes of I2CE_FormField

  • each non-abstract class should implement _getXMLData()

XML Format

Each _getXMLData() should return a string that looks like <value type='XXX'>YYYY<value> where XXX is the form field type such as MAP, STRING, DATE_YMD, etc and YYY is as defined below

I2CE_FormField_BINARY_FILE

I2CE_FormField_DB_BLOB

I2CE_FormField_DOCUMENT

I2CE_FormField_IMAGE

I2CE_FormField_ASSOC_FLOAT

I2CE_FormField_ASSOC_INT

I2CE_FormField_ASSOC_LIST

I2CE_FormField_ASSOC_PERCENT

I2CE_FormField_BOOL

I2CE_FormField_DATE_HMS

I2CE_FormField_DATE_MD

I2CE_FormField_DATE_TIME

I2CE_FormField_DATE_Y

I2CE_FormField_DATE_YMD

I2CE_FormField_DB_DATE

I2CE_FormField_DB_INT

I2CE_FormField_DB_STRING

  • If the string is less than 1000 characters
    • If the string does not contain a "<" character, then simply return <value>$value</value>
    • If the string contains as "<", then follow the rules for >= 1000 characters
  • If the string is >= 1000 characters:
    • If the $value contains CDATA a string, return <value encoding='base64'>base64($value)</value>
    • If the $value does not contains "CDATA" then return <value><![CDATA[$value]]><value>

I2CE_FormField_DB_TEXT

I2CE_FormField_INT

I2CE_FormField_INT_GENERATE

I2CE_FormField_INT_LIST

I2CE_FormField_INT_RANGE

I2CE_FormField_STRING_LINE

I2CE_FormField_STRING_MLINE

I2CE_FormField_STRING_PASS

I2CE_FormField_STRING_TEXT

I2CE_FormField_TOGGLE

I2CE_FormField_YESNO

I2CE_FormField_PERCENT_INT

I2CE_FormField_DB_FLOAT

I2CE_FormField_FLOAT

I2CE_FormField_PERCENT

I2CE_FormField_MAP

I2CE_FormField_MAPPED

I2CE_FormField_MAP_LINE

I2CE_FormField_MAP_MULT

I2CE_FormField_REFERENCE

iHRIS_FormField_CURRENCY