2015-08-26 4 views
0

Мой xml экспорт из Filemaker предназначен для подачи шаблона InDesign. Мне не нужно избегать возврата каретки в документе InDesign. После некоторых исследований я нашел решение, заменивfilemaker xml export and сохранить текст

Substitute (textfield ; "¶" ; "
") 

(InDesign даст прекрасные «мягкие возвращается» в ответ.) Когда я экспортировать записи в виде обычного текста, & # x2028; сохраняется, хотя для xml это становится


 

Мое заключение, которое является проблемой кодирования. Это? Я пробовал разные кодировки без результата. Какое решение? Как принудительно использовать обычный текст в xml-файле? спасибо н

Добавлено: заголовке шаблона XSLT:

<?xml version='1.0' encoding='utf-8'?> 
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:fm="http://www.filemaker.com/fmpdsoresult" exclude-result-prefixes="fm"> 
<xsl:output version='1.0' encoding='utf-8' indent='yes' method='xml' /> 
<xsl:template match="/"> 

ответ

1

Мой вывод, что это проблема кодирования. Это?

Нет, это не так.

Проблема в том, что вы пытаетесь обмануть логику экспорта XML Filemaker, и это не позволит вам. Если вы хотите, чтобы в поле содержался символ, вы должны использовать сам символ в вычислении, а не его шестнадцатеричный код (что не имеет смысла в Filemaker). Это будет означать:

Substitute (textfield ; ¶ ; Char (8232)) 

Другой вариант, чтобы сделать это в таблице стилей XSLT по:

<xsl:value-of select="translate(., '&#xa;', '&#x2028;')"/> 

Это имеет то преимущество, что всю логику экспорта связанных в таблице стилей, а не обременяя решение с дополнительными полями, которые не имеют никакой внутренней цели.

+0

Я вижу ... Объяснение имеет большой смысл. Еще раз спасибо. Я соглашаюсь на разделение «задач». Оба метода легко внедряются и работают с самого начала. спасибо, n – numbernine

0

Вы можете иметь проблемы с UTF-16. В отношении this post вы можете легко экспортировать XML, определяя документ XSLT, чтобы принудительно выводить выходной контент в utf-8. Вот шаблон XSLT из ссылочного сообщение:

<?xml version="1.0" encoding="UTF-8" ?> 
<!-- 
Beverly Voth 
[email protected] 
SEP 2012 

# this XSLT will work with any version of FileMaker that uses the 
# FMPXMLRESULT grammar as export. 
# Use with one record - one field to preserve the UTF-8. 
# Alternate for Export Field Contents, which is UTF-16. 

--> 
<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:fm="http://www.filemaker.com/fmpxmlresult" 
    exclude-result-prefixes="fm"> 
    <xsl:output method="text" /> 
    <xsl:variable name="row" select="fm:FMPXMLRESULT/fm:RESULTSET/fm:ROW[1]" /> 
    <xsl:template match="/"> 
     <xsl:copy-of select="$row/fm:COL/fm:DATA[1]" /> 
    </xsl:template> 
</xsl:stylesheet> 
+0

привет, спасибо за ваш ответ. Как вы можете видеть в заголовке, спецификации - utf-8. – numbernine