Redirected from page "Transformer"

Clear message
Locked History Actions

Transformers

Transformers

Transformers perform static tranforms or encoding on the parent element. These transforms are typically (but not always) two directional (encode and decode). Such as ZIP compression, Base64 encoding, HTML encoding, etc.

Transfomers differ from Fixups in they operate on the parent element while Fixups typically get a reference to another element they pull data from.

For example:

<DataModel name="Base64TLV">
  <Number name="Type" size="8" signed="false" value="1" token="true" />
  <Number name="Length" size="16" signed="false">
    <Relation type="size" of="base64Block" />
  </Number>

  <Block name="base64Block">
    <Transformer class="encode.Base64Encode" />
    <Blob name="Data" />
  </Block>
</DataModel>

When out putted would have the value of 0x01<len(b64(Data))><b64(Data)>

Default Transformers

ASN.1

  • BerEncodeBitString

  • BerEncodeBoolean

  • BerEncodeInteger

  • BerEncodeObjectIdentifier

  • BerEncodeOctetString

  • CerEncodeBitString

  • CerEncodeBoolean

  • CerEncodeInteger

  • CerEncodeObjectIdentifier

  • CerEncodeOctetString

  • DerEncodeBitString

  • DerEncodeInteger

  • DerEncodeObjectIdentifier

  • DerEncodeOctetString

  • DerEncodeBoolean

Compression

Crypto

Encode

Type

Misc

  • Eval