For every PRPT file (and in some respect for most artifacts in the BI-Server) a parameter entry UI can query the available parameters and their configuration, including the available values, from the server.
The client application calls a specific URL (the parameter service) with all relevant parameter values already entered by the user and gets back the updated parameter list. For cascading parameters the available values may change when user parameters change.
Element: Parameters
Each parameter document uses "parameters" as tag name of the root element. The document and all elements and attributes must belong to the namespace "http://reporting.pentaho.org/namespaces/parameters/1.0".
<?xml version="1.0" encoding="UTF-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://reporting.pentaho.org/namespaces/parameters/1.0" targetNamespace="http://reporting.pentaho.org/namespaces/parameters/metadata/1.0"> <xs:complexType name="parametersType"> <xs:sequence> <xs:element type="parameterType" name="parameter" maxOccurs="unbounded" minOccurs="0"/> <xs:element type="errorsType" name="errors" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> <xs:attribute type="xs:boolean" name="show-parameter-ui" use="optional"/> <xs:attribute type="xs:boolean" name="is-prompt-needed" use="optional"/> <xs:attribute type="xs:boolean" name="paginate" use="optional"/> <xs:attribute type="xs:boolean" name="subscribe" use="optional"/> <xs:attribute type="xs:string" name="layout" use="optional"/> <xs:attribute type="xs:int" name="accepted-page" use="optional"/> <xs:attribute type="xs:int" name="page-count" use="optional"/> <xs:attribute type="xs:boolean" name="autoSubmit" use="optional"/> <xs:attribute type="xs:boolean" name="autoSubmitUI" use="optional"/> </xs:complexType>
The parameters element contains a list of parameter definitions and a map of error messages. Each parameter
has a unique name
<xs:complexType name="parameterType"> <xs:sequence> <xs:element type="attributeType" name="attribute" maxOccurs="1" minOccurs="0"/> <xs:element type="valuesType" name="values" maxOccurs="1" minOccurs="0"/> </xs:sequence> <xs:attribute type="xs:string" name="name" use="required"/> <xs:attribute type="xs:string" name="type" use="required"/> <xs:attribute type="xs:string" name="timezone-hint" use="required"/> <xs:attribute type="xs:boolean" name="is-strict" use="optional"/> <!-- was is-strict --> <xs:attribute type="xs:boolean" name="is-multi-select" use="optional"/> <xs:attribute type="xs:boolean" name="is-mandatory" use="optional"/> </xs:complexType>
The parameter