如何在 FileMaker 中组合字段和数组?
How to combine fields and arrays in FileMaker?
我开发了一个 API,其中 returns 例如这个 xml:
<ApiResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<ErrorCode>0</ErrorCode>
<IsSuccess>true</IsSuccess>
<Message>ok</Message>
<Data xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>Standard</d2p1:string>
<d2p1:string>50%</d2p1:string>
<d2p1:string>Großkunden</d2p1:string>
<d2p1:string>100%</d2p1:string>
<d2p1:string>Basis 7,-</d2p1:string>
<d2p1:string>Großladebonus</d2p1:string>
<d2p1:string>Neu</d2p1:string>
<d2p1:string>test</d2p1:string>
<d2p1:string>Test</d2p1:string>
</Data>
</ApiResult>
我的任务是为导入创建一个 XML 转换。到目前为止,这是我的 XSLT:
<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<METADATA>
<FIELD NAME="ErrorCode" TYPE="NUMBER"/>
<FIELD NAME="IsSuccess" TYPE="TEXT"/>
<FIELD NAME="Message" TYPE="TEXT"/>
</METADATA>
<RESULTSET>
<ROW>
<COL>
<DATA>
<xsl:value-of select="ApiResult/ErrorCode"/>
</DATA>
</COL>
<COL>
<DATA>
<xsl:value-of select="ApiResult/IsSuccess"/>
</DATA>
</COL>
<COL>
<DATA>
<xsl:value-of select="ApiResult/Message"/>
</DATA>
</COL>
</ROW>
</RESULTSET>
</FMPXMLRESULT>
</xsl:template>
</xsl:stylesheet>
我无法包含 Data
-string
类型的数组。我怎样才能包含它?
I am stuck at including my Data-Array of type string. How can I
include it?
我不确定您要如何导入它们。 METADATA
部分中没有它们的字段,并且它们没有任何标签可以让我知道它们代表什么。
假设整个数组是一条记录,并且数组的结构是不变的,你可以这样做:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"
exclude-result-prefixes="d2p1">
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
<xsl:template match="/ApiResult">
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<METADATA>
<FIELD NAME="ErrorCode" TYPE="NUMBER"/>
<FIELD NAME="IsSuccess" TYPE="TEXT"/>
<FIELD NAME="Message" TYPE="TEXT"/>
<FIELD NAME="Field1" TYPE="TEXT"/>
<FIELD NAME="Field2" TYPE="TEXT"/>
<FIELD NAME="Field3" TYPE="TEXT"/>
<!-- ADD MORE FIELDS AS NEEDED -->
</METADATA>
<RESULTSET>
<ROW>
<COL><DATA><xsl:value-of select="ErrorCode"/></DATA></COL>
<COL><DATA><xsl:value-of select="IsSuccess"/></DATA></COL>
<COL><DATA><xsl:value-of select="Message"/></DATA></COL>
<COL><DATA><xsl:value-of select="Data/d2p1:string[1]"/></DATA></COL>
<COL><DATA><xsl:value-of select="Data/d2p1:string[2]"/></DATA></COL>
<COL><DATA><xsl:value-of select="Data/d2p1:string[3]"/></DATA></COL>
<!-- ADD MORE DATA STRINGS AS NEEDED -->
</ROW>
</RESULTSET>
</FMPXMLRESULT>
</xsl:template>
</xsl:stylesheet>
以上内容将使您能够导入前三个数据字符串。您将在“导入记录”对话框的左窗格中看到字段名称 Field1
、Field2
和 Field3
(当然,您可以在样式表中更改这些名称以匹配您的目标字段名称).
我开发了一个 API,其中 returns 例如这个 xml:
<ApiResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<ErrorCode>0</ErrorCode>
<IsSuccess>true</IsSuccess>
<Message>ok</Message>
<Data xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>Standard</d2p1:string>
<d2p1:string>50%</d2p1:string>
<d2p1:string>Großkunden</d2p1:string>
<d2p1:string>100%</d2p1:string>
<d2p1:string>Basis 7,-</d2p1:string>
<d2p1:string>Großladebonus</d2p1:string>
<d2p1:string>Neu</d2p1:string>
<d2p1:string>test</d2p1:string>
<d2p1:string>Test</d2p1:string>
</Data>
</ApiResult>
我的任务是为导入创建一个 XML 转换。到目前为止,这是我的 XSLT:
<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<METADATA>
<FIELD NAME="ErrorCode" TYPE="NUMBER"/>
<FIELD NAME="IsSuccess" TYPE="TEXT"/>
<FIELD NAME="Message" TYPE="TEXT"/>
</METADATA>
<RESULTSET>
<ROW>
<COL>
<DATA>
<xsl:value-of select="ApiResult/ErrorCode"/>
</DATA>
</COL>
<COL>
<DATA>
<xsl:value-of select="ApiResult/IsSuccess"/>
</DATA>
</COL>
<COL>
<DATA>
<xsl:value-of select="ApiResult/Message"/>
</DATA>
</COL>
</ROW>
</RESULTSET>
</FMPXMLRESULT>
</xsl:template>
</xsl:stylesheet>
我无法包含 Data
-string
类型的数组。我怎样才能包含它?
I am stuck at including my Data-Array of type string. How can I include it?
我不确定您要如何导入它们。 METADATA
部分中没有它们的字段,并且它们没有任何标签可以让我知道它们代表什么。
假设整个数组是一条记录,并且数组的结构是不变的,你可以这样做:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"
exclude-result-prefixes="d2p1">
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
<xsl:template match="/ApiResult">
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<METADATA>
<FIELD NAME="ErrorCode" TYPE="NUMBER"/>
<FIELD NAME="IsSuccess" TYPE="TEXT"/>
<FIELD NAME="Message" TYPE="TEXT"/>
<FIELD NAME="Field1" TYPE="TEXT"/>
<FIELD NAME="Field2" TYPE="TEXT"/>
<FIELD NAME="Field3" TYPE="TEXT"/>
<!-- ADD MORE FIELDS AS NEEDED -->
</METADATA>
<RESULTSET>
<ROW>
<COL><DATA><xsl:value-of select="ErrorCode"/></DATA></COL>
<COL><DATA><xsl:value-of select="IsSuccess"/></DATA></COL>
<COL><DATA><xsl:value-of select="Message"/></DATA></COL>
<COL><DATA><xsl:value-of select="Data/d2p1:string[1]"/></DATA></COL>
<COL><DATA><xsl:value-of select="Data/d2p1:string[2]"/></DATA></COL>
<COL><DATA><xsl:value-of select="Data/d2p1:string[3]"/></DATA></COL>
<!-- ADD MORE DATA STRINGS AS NEEDED -->
</ROW>
</RESULTSET>
</FMPXMLRESULT>
</xsl:template>
</xsl:stylesheet>
以上内容将使您能够导入前三个数据字符串。您将在“导入记录”对话框的左窗格中看到字段名称 Field1
、Field2
和 Field3
(当然,您可以在样式表中更改这些名称以匹配您的目标字段名称).