1. A method for processing element nodes of an extensible-markup language (XML) script the method comprising: determining that a current element node of the XML script is an argument of an first element node of the XML script, and placing a current stack frame associated with the current element node in a stack above a first stack frame associated with the first element node; determining that the current element node requires evaluation of a new argument of the current element node, the new argument being a new element node of the XML script; inserting a new stack frame associated with the new element node for evaluating the new argument into the stack below the current stack frame associated with the current element node rather than above the current stack frame to simplify relative referencing for evaluation of a subsequent nested argument; evaluating the new argument using the inserted new stack frame; returning a result from evaluation of the new argument to the current element node; and removing the inserted new stack frame from the stack after returning the result from evaluation of the new argument to the current element node and before removing the current stack frame; and repeating the determining, inserting, evaluating returning and removing steps until all the element nodes of the XML script are evaluated.