You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

The Daffodil Releases come with an example directory containing DFDL schemas and files used to exercise the Daffodil parser. Following are commands that can be run from the root directory of the of the extracted release. Note that these commands assume a Linux terminal. If you are using Windows, replace ./bin/daffodil.sh with .\bin\daffodil.bat, and use the appropriate file delimiting character when specifying paths.

Visit the Daffodil Command Line Interface for more detailed usage on the CLI.

PCAP

The PCAP file format is a binary file format used to capture network packets. For information on this file format, visit the Wireshark Libpcap File Format page.

command
$ ./bin/daffodil parse --schema examples/pcap/pcap.dfdl.xsd examples/pcap/icmp.cap
examples/pcap/icmp.cap (binary hexdump)
0000000     c3d4 a1b2 0002 0004 0000 0000 0000 0000
0000020     ffff 0000 0001 0000 6fc4 51c1 ccf8 000c
0000040     004a 0000 004a 0000 5000 e056 4914 0c00
...
0001300     0000 5c2f 0002 0024 6261 6463 6665 6867
0001320     6a69 6c6b 6e6d 706f 7271 7473 7675 6177
0001340     6362 6564 6766 6968
output
<pcap:PCAP xmlns:pcap="urn:pcap:2.4">
  <PCAPHeader>
    <MagicNumber>D4C3B2A1</MagicNumber>
    <Version>
      <Major>2</Major>
      <Minor>4</Minor>
    </Version>
    <Zone>0</Zone>
    <SigFigs>0</SigFigs>
    <SnapLen>65535</SnapLen>
    <Network>1</Network>
  </PCAPHeader>
  <Packet>
    <PacketHeader>
      <Seconds>1371631556</Seconds>
      <USeconds>838904</USeconds>
      <InclLen>74</InclLen>
      <OrigLen>74</OrigLen>
    </PacketHeader>
    <pcap:LinkLayer>
      <pcap:Ethernet>
        <MACDest>005056E01449</MACDest>
        <MACSrc>000C29340BDE</MACSrc>
        <Ethertype>2048</Ethertype>
        <pcap:NetworkLayer>
          <pcap:IPv4>
            <IPv4Header>
              <Version>4</Version>
              <IHL>5</IHL>
              <DSCP>0</DSCP>
              <ECN>0</ECN>
              <Length>60</Length>
              <Identification>55107</Identification>
              <Flags>0</Flags>
              <FragmentOffset>0</FragmentOffset>
              <TTL>128</TTL>
              <Protocol>1</Protocol>
              <Checksum>11123</Checksum>
              <IPSrc>192.168.158.139</IPSrc>
              <IPDest>174.137.42.77</IPDest>
            </IPv4Header>
            <PayloadLength>40</PayloadLength>
            <Protocol>1</Protocol>
            <pcap:ICMPv4>
              <Type>8</Type>
              <Code>0</Code>
              <Checksum>10844</Checksum>
              <Data>02002100</Data>
            </pcap:ICMPv4>
          </pcap:IPv4>
        </pcap:NetworkLayer>
      </pcap:Ethernet>
    </pcap:LinkLayer>
  </Packet>
  ...
</pcap:PCAP>

Comma-separated Values (CSV)

A comma-separated value file is a file that contains a single row of headers followed by one or more rows of data. The header and data rows are separated into records by a comma. For information on the file format, visit Comma-separated Values.

command
$ ./bin/daffodil parse --schema examples/csv/csv.dfdl.xsd examples/csv/simpleCSV
examples/csv/simpleCSV
last,first,middle,DOB
smith,robert,brandon,1988-03-24
johnson,john,henry,1986-01-23
jones,arya,cat,1986-02-19
output
<ex:file xmlns:ex="http://example.com">
  <header>
    <title>last</title>
    <title>first</title>
    <title>middle</title>
    <title>DOB</title>
  </header>
  <record>
    <item>smith</item>
    <item>robert</item>
    <item>brandon</item>
    <item>1988-03-24</item>
  </record>
  <record>
    <item>johnson</item>
    <item>john</item>
    <item>henry</item>
    <item>1986-01-23</item>
  </record>
  <record>
    <item>jones</item>
    <item>arya</item>
    <item>cat</item>
    <item>1986-02-19</item>
  </record>
</ex:file>
  • No labels