×
Menu
Index

Userinterface XML

 

Introductie

De User Interface zoals deze is gedefinieerd in SoftRules® levert een eigen XML document op. de structuur hiervan wordt hieronder besproken.
 

XML structuur

In basis ziet een userinterface Xml er als volgt uit:
 
<?xml version="1.0" encoding="utf-8"?>
<SoftRulesUserInterface>
    <Questions>
        <Question State="New"></Question>
        <Question State="New"></Question>
        <Group MaxOccurs="1">
            <Items>
                <Question State="New"></Question>
                <Question State="New"></Question>
                <Group MaxOccurs="1"></Group>
            </Items>
        </Group>
    </Questions>
    <SoftRulesXML></SoftRulesXML>
    <ConfigID>1000</ConfigID>
    <UserInterfaceID>1</UserInterfaceID>
</SoftRulesUserInterface>
 

Questions

Het Xml van een Question ziet er als volgt uit:
 
<Question State="New">
    <Name>PK_BRANCHE</Name>
    <Description>ADN branchecode</Description>
    <Value>990</Value>
    <ToolTip/>
    <HelpText>Classificering verzekeringscontract.</HelpText>
    <DefaultState>Editable</DefaultState>
    <DisplayOnly>False</DisplayOnly>
    <VisibleExpression>
        <Conditions/>
        <StartValue>False</StartValue>
    </VisibleExpression>
    <DefaultStateExpression>
        <Conditions/>
        <StartValue>True</StartValue>
    </DefaultStateExpression>
    <RequiredExpression>
        <Conditions/>
        <StartValue>True</StartValue>
    </RequiredExpression>
    <DataType>AlphaNumeric</DataType>
    <ElementPath>Relatiedocument/Pakket/Mantel/PK{1}</ElementPath>
    <ValidRanges/>
    <ValidValues/>
    <Unit/>
    <TextValues TextValuesID="5" TextQuestionID="">
        <Item>
            <Value>010</Value>
            <Text>Ongevallen en ziekte</Text>
        </Item>
        <Item>
            <Value>011</Value>
            <Text>Ongevallen</Text>
        </Item>
    </TextValues>
    <UpdateUserInterface Description="">False</UpdateUserInterface>
    <QuestionID>de1a5bd3-caca-41f1-a982-bf44832281fc</QuestionID>
</Question>
 
Een Question heeft de volgende eigenschappen:
 
Attribuut State
 
Status van de Question. Mogelijke waarden: New, Changed en Unchanged
Name (*)
 
Bijvoorbeeld  OB_KENTEKE
Description
 
Bijvoorbeeld: Wat is uw kenteken?
Value (*)
 
Bijvoorbeeld 11-XX-YY
ToolTip
 
Vrij in te vullen tekst
HelpText
 
Vrij in te vullen tekst
DefaultState
 
Deze kan editable of readonly zijn
DisplayOnly
 
Geeft aan dat de Question alleen getoond moet worden en niet moet worden teruggegeven aan de server bij het processen
VisibleExpression (*)
 
Een expressie die aangeeft onder welke condities de Question visible is
DefaultStateExpression
 
Een expressie die aangeeft onder welke condities de Question editable of readonly is
RequiredExpression
 
Een expressie die aangeeft onder welke condities de question vereist is
DataType
 
Bijvoorbeeld String of Integer
Restrictions
 
Restrictions zoals die in een schema kunnen worden opgegeven
ElementPath (*)
 
Het pad waar de het element in de Xml geschreven moet worden, bijv.:
Batch/Relatiedocument/Contract/PP/OB
ValidRanges
 
De grenzen waarbinnen de waarde van het element moet vallen
ValidValues
 
De waarden die toepassing zijn voor het element (bijvoorbeeld eigen risico 100, 135 of 150)
Unit
 
De toevoeging die bij het element hoort. Bijvoorbeeld kg (kilogram) of % (procentteken)
TextValues
 
Een lijst met alle mogelijke labels en waarden (B=Benzine; D=Diesel enz). De Value dient geschreven te worden in het Element. Het attribuut TextValuesID geeft het ID van de TextValue uit de configuratie van SoftRules® aan.  Indien het attribuut TextQuestionID is gevuld met een Guid (32 cijfers met 4 streepjes), dient de Text van het geselecteerde item naar de Value van de Question geschreven dient te worden met het QuestionID wat in dit attribuut staat.
Voorbeeld: Lijst met personenauto merken.
 
<TextValues TextValuesID="-1" TextQuestionID="">
    <Item>
        <Value>3</Value>
        <Text>A M C</Text>
    </Item>
    <Item>
        <Value>10030</Value>
        <Text>Ac Cobra</Text>
    </Item>
    <Item>
        <Value>2</Value>
        <Text>Alfa Romeo</Text>
    </Item>
    <Item>
        <Value>10061</Value>
        <Text>Alko</Text>
    </Item>
    <Item>
        <Value>56</Value>
        <Text>Aro</Text>
    </Item>
</TextValues>
 
Bovenstaande lijst wordt toegekend aan bijvoorbeeld een combobox op een website. De merken worden getoond. Bij het selecteren van een merk wordt de Value aan de Question toegekend. Maar als de tekst van het automerk toegekend moet worden aan een andere Question wordt het TextQuestionID opgegeven.
UpdateUserinterface
 
Hiermee wordt aangegeven of na het verlaten van dit veld een server actie uitgevoerd moet worden. Bijvoorbeeld na invullen van het kenteken wordt de functie aangeroepen om de kentekengegevens op te halen.
QuestionID (*)
 
Een unieke code voor de Question
 
 

Verplichte velden

Bij communicatie tussen client applicatie en SoftRules® Server is de client applicatie verplicht een aantal velden in de Userinterface aan te bieden aan de SoftRules® Server. Dat zijn de velden die gemarkeerd zijn met een (*).
 

Groups

Het Xml van een Group ziet er als volgt uit:
 
<Group MaxOccurs="1">
    <GroupID>81d06bff-b5c5-4201-ac9e-3537c5d9c988</GroupID>
    <Name>Aansprakelijkheid Particulieren</Name>
    <Type>box</Type>
    <RepeatingPath/>
    <VisibleExpression>
        <Conditions/>
        <StartValue>True</StartValue>
    </VisibleExpression>
    <Items>
        <Question State="New"></Question>
        <Question State="New"></Question>
        <Group MaxOccurs="1"></Group>
    </Items>
</Group>
 
Een Group heeft de volgende eigenschappen:
 
MaxOccurs
 
Het aantal keren dat de Group maximaal mag voorkomen in de Userinterface
GroupID
 
Een unieke code voor de Group
Name
 
De naam van de Group
Type
 
Het type van de Group
  • Page (nieuwe pagina of tabpage)
  • Box (een kader om alle Questions onder de Group)
  • Expandable (Mogelijkheid om alle Questions onder de Group in of uit te klappen)
RepeatingPath
 
Het repeterende pad indien een Group meerdere keren voorkomt
VisibleExpression
 
Een expressie die aangeeft onder welke condities de Group visible is. Indien het type Expandable is, dan onder welke condities de Group uitgeklapt is
Items
 
Bevat Questions, Labels, Buttons en Groups
 
 

Expressies

Expressies bestaan uit één of meerdere condities en zijn middels AND en OR constructies met elkaar verbonden zijn.
 
<VisibleExpression>
    <Conditions>
        <Condition>
            <LogOperator>AND</LogOperator>
            <Operator>NOT_EQUAL</Operator>
            <LeftOperand>
                <Value>OB_TYPE</Value>
                <Attributes/>
                <ElementPath>Batch/Relatiedocument/Contract/PP/OB</ElementPath>
                <ValueType>ELEMENTNAME</ValueType>
            </LeftOperand>
            <RightOperand>
                <Value/>
                <Attributes/>
                <ElementPath/>
                <ValueType>CONSTANT</ValueType>
            </RightOperand>
        </Condition>
    </Conditions>
    <StartValue>True</StartValue>
</VisibleExpression>
 
De Logical operator bepaalt hoe de uitkomsten van de Conditions aan elkaar verbonden worden. Een Condition kan slechts twee uitkomsten hebben, “WAAR” of “ONWAAR”. Een lege Condition is altijd “WAAR”. De startwaarde staat bij elke expressie vermeldt. Iedere volgende Condition wordt aan de huidige status verbonden met een Logical Operator.
 
Er zijn twee Logical Operators:
 

AND

Het volgende is van toepassing op de AND operator:
Huidige waarde
Waarde Condition
Nieuwe waarde
WAAR
WAAR
WAAR
WAAR
ONWAAR
ONWAAR
ONWAAR
WAAR
ONWAAR
ONWAAR
ONWAAR
ONWAAR
 

OR

Het volgende is van toepassing op de OR operator:
Huidige waarde
Waarde Condition
Nieuwe waarde
WAAR
WAAR
WAAR
WAAR
ONWAAR
WAAR
ONWAAR
WAAR
WAAR
ONWAAR
ONWAAR
ONWAAR
 

Value type

Komt bij linker en rechter operand voor. Het operand type (naam is niet in scherm weergegeven) kan de volgende waarden bevatten:
 
Elementname
 
Wanneer de operand van het type Elementname is, wordt de inhoud van het betreffende element opgenomen in de beslissing. Het ElementPath geeft aan waar dit element in de Xml staat
Constant
 
De waarde van de operand is een constante. Dat wil zeggen dat de vergelijking plaatsvindt met de letterlijke inhoud van dit veld.
 

Operators

Mogelijke waarden:
EQUAL
 
Wanneer de waarden uit de linker en rechter operand gelijk zijn is de Condition “WAAR”, anders “ONWAAR”.
LESS_EQUAL
 
Wanneer de waarde uit de linker operand kleiner of gelijk is aan de waarde uit de rechter operand, is de Condition “WAAR”, anders “ONWAAR”.
LESS
 
Wanneer de waarde uit de linker operand kleiner is aan de waarde uit de rechter operand, is de Condition “WAAR”, anders “ONWAAR”.
NOT_EQUAL
 
Wanneer de waarde uit de linker operand ongelijk is aan de waarde uit de rechter operand, is de Condition “WAAR”, anders “ONWAAR”.
GREATER_EQUAL
 
Wanneer de waarde uit de linker operand groter of gelijk is aan de waarde uit de rechter operand, is de Condition “WAAR”, anders “ONWAAR”.
GREATER
 
Wanneer de waarde uit de linker operand groter is aan de waarde uit de rechter operand, is de Condition “WAAR”, anders “ONWAAR”.
 

Button

De beschrijving van de Button XML volgt ASAP.
 
 

Label

De beschrijving van de Label XML volgt ASAP.
 
 

Opvragen userinterface

Voor het opvragen van een Userinterface uit SoftRules® zie hier.