Page last modified 14:36, 28 May 2018 by villes

.abs() Redirected from User Guides/myXML/5: OCL Rules/Available methods for OCL base types/.abs()

    Table of contents

    Description of the method

     

    Description: .abs() method returns the absolut value of the given value.
    Available for: integer, real
    Parameters: -
    Return type: integer, real

     

    Example

    Context: Message
    OCL: self.Transaction.at(0).Amount.abs() = 30
    Description: The example rule returns the absolut value of the first transaction amount and compares it to the right side operand. It's assumed that the value can be negative (this may not be the case in every situation). 

     

    The XML snippet below would pass this check.

    <?xml version="1.0" encoding="UTF-8"?>

    <Message xmlns="http://www.XMLdation.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Header>
        <Id>a</Id>
        <TimeStamp>2018-05-28T12:17:50</TimeStamp>
        <ControlSum>2</ControlSum>
        <NumberOfTransactions>1</NumberOfTransactions>
      </Header>
      <Transaction>
        <Id>TransactionId1</Id>
        <Amount>-30</Amount>
        <Debtor>
          <Name>Debtor1</Name>
        </Debtor>
        <Creditor>
          <Name>Creditor1</Name>
        </Creditor>
      </Transaction>
    </Message>

    The other snippet below however would not pass this check. (The absolut value is 15) 

    <?xml version="1.0" encoding="UTF-8"?>

    <Message xmlns="http://www.XMLdation.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Header>
        <Id>a</Id>
        <TimeStamp>2018-05-28T12:17:50</TimeStamp>
        <ControlSum>2</ControlSum>
        <NumberOfTransactions>1</NumberOfTransactions>
      </Header>
      <Transaction>
        <Id>TransactionId1</Id>
        <Amount>-15</Amount>
        <Debtor>
          <Name>Debtor1</Name>
        </Debtor>
        <Creditor>
          <Name>Creditor1</Name>
        </Creditor>
      </Transaction>
    </Message>

    Menu