Thank you for your reply.
My reason for asking is that I am really struggling to create a PPP in Pitstop Pro which draws the information from XML where the information is set by the customer on the splash page (all on the infigo web to print platform - I have no access to their Pitstop server).

- Screenshot 2024-07-08 at 13.52.52.png (128.38 KiB) Viewed 25693 times
I need a PPP which will check the size/orientation/page extent plus the usual checks to make it print ready (RGB to CMYK etc).
I have the PPP working in a basic form locally but have to write the XML, which is when nothing works... I am desperate to understand how this all works and what I am doing wrong, and the simplest way to do this correctly, I have tried to add the PPP but it is 517kb so wont upload
XML:
<?xml version="1.0" encoding="utf-8"?>
<JobInformation>
<NumberOfPages>{{NumberOfPages}}</NumberOfPages>
<Orientation>{{Orientation}}</Orientation>
<Width>{{Width}}</Width>
<Height>{{Height}}</Height>
VARIABLE SET:
<?xml version="1.0" encoding="UTF-8"?>
<VariableSet xmlns="
http://www.enfocus.com/2012/EnfocusVariableSet">
<Version>1</Version>
<Name xml:lang="en-US">CFH</Name>
<Variables>
<Variable>
<Name>NumberOfPages</Name>
<ResultType>Number</ResultType>
<SourceType>com.enfocus.variabletype.externalxml</SourceType>
<SourceVersion>1</SourceVersion>
<OperatorID>1</OperatorID>
</Variable>
<Variable>
<Name>Orientation</Name>
<ResultType>String</ResultType>
<SourceType>com.enfocus.variabletype.externalxml</SourceType>
<SourceVersion>1</SourceVersion>
<OperatorID>4</OperatorID>
</Variable>
<Variable>
<Name>MinLength</Name>
<ResultType>Length</ResultType>
<SourceType>com.enfocus.variabletype.externalxml</SourceType>
<SourceVersion>1</SourceVersion>
<OperatorID>7</OperatorID>
</Variable>
<Variable>
<Name>MaxLength</Name>
<ResultType>Length</ResultType>
<SourceType>com.enfocus.variabletype.externalxml</SourceType>
<SourceVersion>1</SourceVersion>
<OperatorID>10</OperatorID>
</Variable>
<Variable>
<Name>Landscape</Name>
<ResultType>Boolean</ResultType>
<SourceType>com.enfocus.variabletype.rulebased</SourceType>
<SourceVersion>1</SourceVersion>
<OperatorID>13</OperatorID>
</Variable>
<Variable>
<Name>Portrait</Name>
<ResultType>Boolean</ResultType>
<SourceType>com.enfocus.variabletype.rulebased</SourceType>
<SourceVersion>1</SourceVersion>
<OperatorID>20</OperatorID>
</Variable>
</Variables>
<Operators>
<Operator>
<OperatorType>com.enfocus.operator.readfromxml</OperatorType>
<GUID>1</GUID>
<Children>
<OperatorID>2</OperatorID>
<OperatorID>3</OperatorID>
</Children>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>2</GUID>
<OperatorData>
<Value>ExternalXML</Value>
<ValueType>String</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>3</GUID>
<OperatorData>
<Value>/JobInformation/NumberOfPages</Value>
<ValueType>String</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.readfromxml</OperatorType>
<GUID>4</GUID>
<Children>
<OperatorID>5</OperatorID>
<OperatorID>6</OperatorID>
</Children>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>5</GUID>
<OperatorData>
<Value>ExternalXML</Value>
<ValueType>String</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>6</GUID>
<OperatorData>
<Value>/JobInformation/Orientation</Value>
<ValueType>String</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.readfromxml</OperatorType>
<GUID>7</GUID>
<Children>
<OperatorID>8</OperatorID>
<OperatorID>9</OperatorID>
</Children>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>8</GUID>
<OperatorData>
<Value>ExternalXML</Value>
<ValueType>String</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>9</GUID>
<OperatorData>
<Value>/JobInformation/Width</Value>
<ValueType>String</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.readfromxml</OperatorType>
<GUID>10</GUID>
<Children>
<OperatorID>11</OperatorID>
<OperatorID>12</OperatorID>
</Children>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>11</GUID>
<OperatorData>
<Value>ExternalXML</Value>
<ValueType>String</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>12</GUID>
<OperatorData>
<Value>/JobInformation/Height</Value>
<ValueType>String</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.if</OperatorType>
<GUID>13</GUID>
<Children>
<OperatorID>14</OperatorID>
<OperatorID>18</OperatorID>
<OperatorID>19</OperatorID>
</Children>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.equals</OperatorType>
<GUID>14</GUID>
<Children>
<OperatorID>15</OperatorID>
<OperatorID>17</OperatorID>
</Children>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.variable</OperatorType>
<GUID>15</GUID>
<Children>
<OperatorID>16</OperatorID>
</Children>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>16</GUID>
<OperatorData>
<Value>Orientation</Value>
<ValueType>String</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>17</GUID>
<OperatorData>
<Value>Landscape</Value>
<ValueType>String</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>18</GUID>
<OperatorData>
<Value>true</Value>
<ValueType>Boolean</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>19</GUID>
<OperatorData>
<Value>false</Value>
<ValueType>Boolean</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.if</OperatorType>
<GUID>20</GUID>
<Children>
<OperatorID>21</OperatorID>
<OperatorID>25</OperatorID>
<OperatorID>26</OperatorID>
</Children>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.equals</OperatorType>
<GUID>21</GUID>
<Children>
<OperatorID>22</OperatorID>
<OperatorID>24</OperatorID>
</Children>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.variable</OperatorType>
<GUID>22</GUID>
<Children>
<OperatorID>23</OperatorID>
</Children>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>23</GUID>
<OperatorData>
<Value>Orientation</Value>
<ValueType>String</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>24</GUID>
<OperatorData>
<Value>Portrait</Value>
<ValueType>String</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>25</GUID>
<OperatorData>
<Value>true</Value>
<ValueType>Boolean</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
<Operator>
<OperatorType>com.enfocus.operator.constant</OperatorType>
<GUID>26</GUID>
<OperatorData>
<Value>false</Value>
<ValueType>Boolean</ValueType>
</OperatorData>
<OperatorVersion>1</OperatorVersion>
</Operator>
</Operators>
</VariableSet>
JOB TICKET XML:
<?xml version="1.0" encoding="utf-8"?>
<JobInformation>
<NumberOfPages>{{NumberOfPages}}</NumberOfPages>
<Orientation>{{Orientation}}</Orientation>
<Width>{{Width}}</Width>
<Height>{{Height}}</Height>