Wednesday, November 7, 2007

Using a Custom Script Library for Common Tasks

Applies to:

Microsoft Office InfoPath 2003 Service Pack 1

The Office InfoPath 2003 Software Development Kit includes a code library that contains functions that may be useful to you when designing forms. These functions perform tasks that are difficult or impossible to accomplish using the Microsoft Office InfoPath 2003 object model. The functions are used extensively by the sample forms installed with InfoPath.

The name of the Microsoft JScript source file is Common.js. Note that these functions will work only with the default language of JScript and not with Microsoft VBScript or managed code. The Common.js code library file can be found in the :\Program Files\Microsoft Office 2003 Developer Resources\Microsoft Office InfoPath 2003 SDK\CodeLibrary folder.

Internet 2010To use the functions, you must copy them into your form's Script.js file. Many of the functions depend on one or more of the other functions included in Common.js. For example, the count function calls the getNodeList function. You must copy both functions into Script.js if you want to use the count function.

The following table describes the functions contained in Common.js.

Function Function Description Parameters
convertXMLNumberToJScript Converts the boundary conditions INF and -INF to values that are compatible with JScript.

Dependencies: parseFloat

value The number to convert.
convertJScriptNumberToXML Converts the boundary conditions Number.NEGATIVE_INFINITY and Number.POSITIVE_INFINITY to XML-compatible values.
value The number to convert.
getNodeValue Returns the value contained in the specified node as a string.

Dependencies: getNode, isInvalidOrEmpty

xpath An XPath expression that represents the XML Document Object Model (DOM) for which the value is to be returned.
defaultValue The default value of the specified node.
getNodeTypedValue Returns the value contained in the specified node. Use this function instead of the getNodeValue function when you want to return the value based on the data type declared in the schema.

Dependencies: getNode, isInvalidOrEmpty, convertXMLNumberToJScript

xpath An XPath expression that represents the XML DOM node for which the value is to be returned.
defaultValue The default value of the specified node.
fNumber A Boolean that specifies whether the value is numeric.
setNodeValue Assigns a value to the specified node.

Dependencies: getNode

xpath An XPath expression that represents the XML DOM node for which the value is to be assigned.
value The value to assign to the specified node.

Note If a value of zero (0) is passed to this argument, the value will not be assigned to the node.

setNodeTypedValue Assigns a value to the specified XML DOM node. Use this function instead of the setNodeValue function when assigning a floating point or decimal value.

Dependencies: getNode, convertJScriptNumberToXML

xpath An XPath expression that represents the XML DOM node for which the value is to be assigned.
value The value to assign to the specified node.

Note If a value of zero (0) is passed to this argument, the value will not be assigned to the node.

setNil Removes the value of the specified node and sets its xsi:nil attribute to "True".

Dependencies: getNode

xpath An XPath expression that represents the XML DOM node for which the value is to be removed.
setRoundedValue Rounds a number to three decimal places and assigns it to the specified node.

Dependencies: getNode, roundFloat, setNodeTypedValue

xpath An XPath expression that represents the XML DOM node for which the number is to be assigned.
value The number to round.
roundFloat Returns a number rounded to a specified number of decimal places.
value The number to round.
decimalPlaces Number indicating how many places to the right of the decimal are included in the rounding.
normalizeSource Ensures that the correct context of a node is returned by ignoring text nodes. Returns a node of type NODE_ELEMENT or NODE_ATTRIBUTE.
oEvent A reference to the DataDOMEvent object.
normalizeParent Ensures that the correct context of a parent node is returned by ignoring text nodes. Returns a node of type NODE_ELEMENT or NODE_ATTRIBUTE.
oEvent A reference to the DataDOMEvent object.
initializeNodeValue Assigns a value to the specified node only if the node is empty.

Dependencies: getNode, setNodeValue

xpath An XPath expression that represents the XML DOM node for which the value is to be assigned.
strValue The value to assign to the specified node.
count Returns the number of times that the specified node appears in the form.

Dependencies: getNodeList

xpath An XPath expression that represents the XML DOM node for which to count the occurrences.
sum Returns the sum of the nodes that match the specified XPath expression. You can use this function to create running totals.

Dependencies: applyAction

xpath An XPath expression that represents the XML DOM nodes to sum.
sort Sorts the specified nodes in the form.

Dependencies: getNode, count

xpathParent An XPath expression that represents the parent XML DOM node of the nodes to sort.
xpathChildren An XPath expression that represents the XML DOM nodes to sort.
fnCompare The name of the function used to determine the order of the elements. If omitted, the elements are sorted in ascending, ASCII-character order.

The following functions are not designed to be called directly; they support the functions listed in the table above.

  • applyAction
  • getNode
  • getNodeList
  • isInvalidOrEmpty

No comments:

Internet Blogosphere