docs/GDLC_manual.md in gdlc-3.0.0.0 vs docs/GDLC_manual.md in gdlc-3.1.0.0
- old
+ new
@@ -847,24 +847,41 @@
- - -
## XML Functions
- xmlfunc identifier( [IN|OUT] dpmVariable, [IN|OUT] "constant", [IN|OUT] 15.5 );
+ xmlfunc identifier( [FLOW_TYPE] dpmVariable, [FLOW_TYPE] "constant", [FLOW_TYPE] 15.5 );
XML Functions are defined and provided by the engine. The compiler does not
know whether or not a function is available. It is up to the user to verify
the function exists before using it in your guideline.
To use an XML function, it must first be defined. The compiler does check the
argument count against the function definition when it is referenced within a
-rule. Errors will be thrown if the argument count doesn't match.
+rule. Errors will be thrown if the _required_ argument count doesn't match.
+### Argument Flow Type Indicators
+
+Available flow types:
+
+ IN
+ OUT
+ OPT
+ INOPT
+ OUTOPT
+
In both definitions and references, the `IN` and `OUT` keywords can be used in
front of each argument. These keywords are optional. They affect nothing and
are only used as an indicator for the user as to whether the variable is used
for INput to the function or OUTput from the function. `IN` and `OUT` can be
used in either definitions, or references, or both.
+
+`OPT`, `INOPT`, and `OUTOPT` are _optional_ indicators. They indicate that the
+argument is **optional** (ie. not required). _The compiler will not flag
+a function reference (throw an error) that doesn't include optional arguments._
+`INOPT` and `OUTOPT` are used to indicate OPTional INput and OPTional OUTput
+arguments.
+
DPM variables, PPM variables, numbers and constants (values surrounded with
quotes) can be used as arguments. Inline expressions are not allowed as
arguments to the function. Assigning values to variables before using them
within a function _can be done within the same rule_.