1.5. Declaration of types, methods, and variables

You can declare the data types (validation methods), methods and variables used in the Xscript in the auxiliary element "xd:declaration" and refer to them by name:

<xd:declaration>
  type isbn int(10000000, 999999999);
  type published gYear();
  Date today = now(); /* actual date and time (when this Xdefinition started) */

  /* This methos prints a line with string to system output. */
  void message(String s) {
    outln(s);
  }
</xd:declaration>

<Book xd:script="init message('Started ' + today); finally message('Process finished');"
      ISBN="isbn();"
      published="optional published();" > 
      <Author xd:script="occurs *" >
        string()
      </Author>
      <Title>
        string()
      </Title>
</Book>