Анализ файлов и проверка полей с помощью Apache camel flatpack
Можем ли мы анализировать, а также выполнять проверку полей (например, тип данных, формат даты, связанные с маскированием) с помощью 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 должен быть ГГГГ-ММ-ДД.
- DiscountPercentage должно содержать только значение от 0 до 100 с двумя десятичными знаками.
- Формат контактного номера должен быть XXX-XXX-XXXX.
- TotalQuantity должно быть только числовым.
Можем ли мы изменить XML-файл или какой-либо другой обходной путь с помощью flatpack.dtd?