project BLF > class XML > method AddXmlNode
Description
Add an XML node representing a value of a column from a table.
Parameters
ihParent | input | handle | Handle to parent node. |
icNodeName | input | character | Name of the node that needs to be created. |
ihField | input | handle | Handle to the field. |
ohFieldNode | output | handle | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
BLF
program code (program1/xml.p)
CREATE X-NODEREF ohFieldNode in widget-pool "non-persistent".
CREATE X-NODEREF vhText in widget-pool "non-persistent".
assign vhDocument = ihParent:OWNER-DOCUMENT.
vhDocument:create-node-namespace (ohFieldNode,"com.softcell.componentbuilder.class":U,icNodeName,"ELEMENT":U).
ohFieldNode:namespace-prefix = "cb":U.
ihParent:APPEND-CHILD (ohFieldNode).
vhDocument:CREATE-NODE (vhText, "", "TEXT":U).
ohFieldNode:APPEND-CHILD (vhText).
/* attach text to field */
case ihField:data-type:
when "logical":U
then assign vhText:NODE-VALUE = (if ihField:buffer-value = yes
then "true":U
else if ihField:buffer-value = no
then "false":U
else "":U).
when "date":U
then assign vtemp = ihField:buffer-value
vhText:NODE-VALUE = (if vtemp = ?
then "":U
else string(year(vtemp),"9999":U)
+ "-":U + string(month(vtemp),"99":U)
+ "-":U + string(day(vtemp),"99":U)).
otherwise assign vhText:NODE-VALUE = (if ihField:BUFFER-VALUE = ?
then "":U
else STRING (ihField:BUFFER-VALUE)).
end case.
delete object vhText.