我们可以使用 Flatpack 解析和执行字段验证(即数据类型、日期格式、屏蔽相关)吗?
目前我正在使用下面的 xml 来处理固定宽度的文件。
<?xml version='1.0'?>
<!DOCTYPE PZMAP SYSTEM "flatpack.dtd" >
<PZMAP>
<RECORD id="header" startPosition="1" endPosition="2"
indicator="HD">
<COLUMN name="RecordType" length="2" />
<COLUMN name="SubmitCode" length="2" />
<COLUMN name="RebateVRNumber" length="5" />
</RECORD>
<RECORD id="util" startPosition="1" endPosition="2"
indicator="UD">
<COLUMN name="RecordType" length="2" />
<COLUMN name="ItemCode" length="6" />
<COLUMN name="ItemName" length="70" />
<COLUMN name="TotalQuantity" length="5" />
<COLUMN name="OrderDate" length="8" />
<COLUMN name="DiscountPercentage" length="6" />
<COLUMN name="ContactNumber" length="12" />
</RECORD>
<RECORD id="trailer" startPosition="1" endPosition="2"
indicator="TR">
<COLUMN name="RecordType" length="2" />
<COLUMN name="SubmitCode" length="2" />
</RECORD>
</PZMAP>
除了检索/解析字段值之外,我还想对某些字段进行验证。
- OrderDate 格式应为 YYYY-MM-DD
- DiscountPercentage 应仅包含 0-100 之间的值,带 2 个小数点
- ContactNumber 格式应为 XXX-XXX-XXXX
- TotalQuantity 只能是数字
我们可以使用 flatpack.dtd 修改 XML 文件或其他一些解决方法吗?