This is what firewall rules from pfSense look like:

<filter>
  <rule>
    <type>reject</type>
    <interface>wan</interface>
    <max-src-nodes/>
    <max-src-states/>
    <statetimeout/>
    <statetype>keep state</statetype>
    <os/>
    <protocol>tcp</protocol>
    <source>
      <address>192.0.2.0</address>
    </source>
    <destination>
      <any/>
    </destination>
    <log/>
    <descr></descr>
  </rule>
</filter>

I’m working on a new project which will work with this type of data.