Как преобразовать FMPXMLRESULT в XFA? - PullRequest
1 голос
/ 27 февраля 2012

Я пытаюсь создать XSL, который преобразует файл FMPXMLRESULT в XML-файл, совместимый с XFA.Цель состоит в том, чтобы заполнить форму PDF.

Проблема заключается в том, что все имена полей в Filemaker отличаются от формы PDF.

Ниже приведен фрагмент файла fmpxmlresult:

<?xml version="1.0" encoding="UTF-8" ?>
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<ERRORCODE>0</ERRORCODE>     
<PRODUCT BUILD="01-25-2011" NAME="FileMaker" VERSION="ProAdvanced 11.0v3"/>
<DATABASE DATEFORMAT="Yyyy-m-d" LAYOUT="" NAME="maisem" RECORDS="59" TIMEFORMAT="k:mm:ss "/>

<METADATA>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="reportCode" TYPE="TEXT"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="appraisalDate" TYPE="DATE"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="buildingValue" TYPE="NUMBER"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="landValue" TYPE="NUMBER"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="totalValue" TYPE="NUMBER"/>
    ...
</METADATA>
<RESULTSET FOUND="1">
    <ROW MODID="1156" RECORDID="119">
        <COL><DATA>TEST-141-361-2-0-A</DATA></COL>
        <COL><DATA>2011-02-10</DATA></COL>
        <COL><DATA>57000</DATA></COL>
        <COL><DATA>6500</DATA></COL>
        <COL><DATA>63500</DATA></COL>
        ...
    </ROW>
</RESULTSET>
</FMPXMLRESULT>

Вот эквивалент в XFA:

<?xml version="1.0" encoding="UTF-8"?>
<xfa:data xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
<form1>
    <subform>
        <reference_number>TEST-141-361-2-0-A</reference_number>
        <date_of_appraisal>2011-02-10</date_of_appraisal>
        <cityBuildingAssess>57000</cityBuildingAssess>
        <cityLandAssess>6500</cityLandAssess>
        <cityTotalAssess/>63500</cityTotalAssess>
        ...
    </subform>
</form1>
...
</xfa:data>

Я нашел примеры, где поля имеют одинаковые имена, но это не относится к текущей системе.

Этотолько часть полей.Есть более 600 полей для заполнения формы.Итак, я знаю, что это будет огромная работа.: S

Спасибо за любую помощь

1 Ответ

0 голосов
/ 28 февраля 2012

Вот более ранний ответ , который показывает, как получить значение столбца по имени. Если ваш файл экспорта плоский, то есть все данные находятся в одной таблице, тогда вам нужен второй пример (в нем нет xsl:stylesheet, скопируйте его из вопроса). Расширьте его до 600 полей, сопоставив поля FileMaker с полями PDF.

...