External graph parameters are serialised in XML format with following schema:
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/GraphParameters" xmlns:tns="http://www.example.org/GraphParameters" elementFormDefault="qualified"> <element name="GraphParameters" type="tns:GraphParametersType"></element> <complexType name="GraphParametersType"> <sequence> <element name="GraphParameter" type="tns:GraphParameterType" maxOccurs="unbounded" minOccurs="0"></element> </sequence> </complexType> <complexType name="GraphParameterType"> <sequence> <element name="attr" type="tns:attrType" maxOccurs="unbounded" minOccurs="0"> </element> <choice> <element name="SingleType" type="tns:SingleTypeType"></element> <element name="ComponentReference" type="tns:ComponentReferenceType"> </element> </choice> </sequence> <attribute name="name" type="string" use="required"></attribute> <attribute name="value" type="string" use="required"></attribute> <attribute name="dynamicValue" type="string"></attribute> <attribute name="secure" type="boolean"></attribute> <attribute name="description" type="string"></attribute> <attribute name="public" type="boolean"></attribute> <attribute name="required" type="boolean"></attribute> <attribute name="label" type="string"></attribute> <attribute name="defaultHint" type="string"></attribute> <attribute name="category" type="string"></attribute> </complexType> <complexType name="ComponentReferenceType"> <attribute name="referencedComponent" type="string"></attribute> <attribute name="referencedProperty" type="string"></attribute> </complexType> <complexType name="SingleTypeType"> <attribute name="name" type="string"></attribute> </complexType> <complexType name="attrType"> <attribute name="name" type="string"></attribute> </complexType> </schema>
For example:
<?xml version="1.0" encoding="UTF-8"?> <GraphParameters> <GraphParameter name="PROJECT" value="."> <attr name="description"><![CDATA[Project root path]]></attr> </GraphParameter> <GraphParameter name="CONN_DIR" value="${PROJECT}/conn"> <attr name="description"><![CDATA[Default folder for external connections]]></attr> </GraphParameter> <GraphParameter name="DATAIN_DIR" value="${PROJECT}/data-in"> <attr name="description"><![CDATA[Default folder for input data files]]></attr> </GraphParameter> <GraphParameter name="DATAOUT_DIR" value="${PROJECT}/data-out"> <attr name="description"><![CDATA[Default folder for output data files]]></attr> </GraphParameter> <GraphParameter name="DATATMP_DIR" value="${PROJECT}/data-tmp"> <attr name="description"><![CDATA[Default folder for temporary data files]]></attr> </GraphParameter> <GraphParameter name="GRAPH_DIR" value="${PROJECT}/graph"> <attr name="description"><![CDATA[Default folder for transformation graphs (grf)]]></attr> </GraphParameter> <GraphParameter label="Public parameter" name="PUBLIC_PARAM" public="true" required="true" value="default value"> <SingleType name="multiline"/> </GraphParameter> </GraphParameters>