<!--
  CAUTION: Do not modify this file directly on it's code unless you know what you are doing.
           Unexpected results may occur if the code is changed deliberately.
-->
<!ELEMENT function (schema?,role?,comment?, appended-sql?,prepended-sql?,language?,return-type?,transform-types?,configuration*,parameter*,definition*)>
<!ATTLIST function name CDATA #IMPLIED>
<!ATTLIST function returns-setof (true|false) "false">
<!ATTLIST function window-func (true|false) "false">
<!ATTLIST function leakproof (true|false) "false">
<!ATTLIST function behavior-type CDATA #IMPLIED>
<!ATTLIST function function-type CDATA #IMPLIED>
<!ATTLIST function security-type CDATA #IMPLIED>
<!ATTLIST function parallel-type CDATA #IMPLIED>
<!ATTLIST function execution-cost CDATA #IMPLIED>
<!ATTLIST function row-amount CDATA #IMPLIED>
<!ATTLIST function signature CDATA #IMPLIED>
<!ATTLIST function ref-type (none|validator|handler|inline|input|output|receive|send|tpmodin|tpmodout|analyze|canonical|subtypediff|join|restriction|final|transition|operfunc|fromsql|tosql) "none">
<!ATTLIST function protected (false|true) "false">
<!ATTLIST function sql-disabled (false|true) "false">

<!ELEMENT return-type (type?,parameter*)>
