<!-- Copyright (C) 2004 The Apache Software Foundation. All rights reserved. -->
<record id="0x1035" name="PlotArea" excel-record-id="PLOTAREA"
    package="org.apache.poi.hssf.record">
    <suffix>Record</suffix>
    <extends>Record</extends>
    <description>preceeds and identifies a frame as belonging to the plot area.</description>
    <author>Andrew C. Oliver (acoliver at apache.org)</author>
    <testsize>4</testsize>
</record>
