Скрипт Filemaker - импорт XML

У меня есть файлы XML для импорта в Filemaker, и мне удалось создать файл XSLT, который работает с Filemaker. Я также написал сценарий, который импортирует эти XML-файлы в мою базу данных. Однако я могу заставить его импортировать только с порядком импорта «совпадающих имен» с помощью «Добавить новые записи».

«Соответствующие имена» подходят, но я бы хотел «Обновить совпадающие записи в найденном наборе» с помощью опции «Добавить оставшиеся данные как новые записи». Возможно ли это, или я должен просто получить XML в Filemaker в таблице «XML», а затем обновить записи в отдельной таблице?

Я также сохраняю свой XSLT в глобальном поле Filemaker и экспортирую это поле для создания файла XSLT. Похоже, что Filemaker при этом создает файл UTF-16. Это меня удивило. Я неправильно смотрю на это?


person Donald Rossi    schedule 09.11.2012    source источник


Ответы (1)


Для установки сопоставления используйте фиксированные ссылки на образцы файлов XML и XSLT. Введите их в параметры команды, затем настройте сопоставление полей; он проанализирует файл и покажет вам поля (и образцы данных), чтобы вы могли увидеть, что куда идет. Когда вы будете готовы к отображению, замените ссылки на переменные.

Вы также можете использовать оба варианта: добавьте две строки, одну с переменной, а другую с фиксированным путем, например:

$xml
Samples/Sample.xml

Ссылки на файлы FileMaker могут иметь несколько путей; FileMaker будет использовать первый действующий. Когда вы запускаете сценарий и устанавливаете для переменной $xml какой-либо путь, он выбирает этот путь; когда вы редактируете скрипт, переменная не будет установлена, поэтому он пропустит ее и вместо этого будет использовать жестко запрограммированный Sample.xml.

Да, FileMaker сохраняет текст в формате UTF-16. Вы по-прежнему можете использовать его для XSLT, если укажете правильную кодировку. В качестве альтернативы вы можете сохранить свои XSLT-файлы в полях контейнера и сохранить их с помощью того же шага «Экспорт поля». Таким образом, вы можете использовать любую кодировку (и любой формат; это очень общий способ).

person Mikhail Edoshin    schedule 11.11.2012