Я пытаюсь преобразовать следующий XML Shopify ...H2 уточнить XSLT для преобразования XML Shopify для FileMaker импорта
<orders>
<order>
<order-no>1001</order-no>
<line-items>
<line-item>
<product-id>knife</product-id>
</line-item>
<line-item>
<product-id>fork</product-id>
</line-item>
</line-items>
<shipping-address>
<post-code>rh10 3hs</post-code>
</shipping-address>
</order>
</orders>
к FileMaker FMPXMLRESULT ..
Грэммер<ROW>
<COL>
<DATA>1001</DATA>
</COL>
<COL>
<DATA>Knife</DATA>
</COL>
<COL>
<DATA>rh10 3hs</DATA>
</COL>
</ROW>
<ROW>
<COL>
<DATA>1001</DATA>
</COL>
<COL>
<DATA>Fork</DATA>
</COL>
<COL>
<DATA>rh10 3hs</DATA>
</COL>
</ROW>
т.е.
1001 Нож rh10 3hs
1001 Вилка rh10 3hs
с использованием примера FileMaker xslt ...
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/*">
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<ERRORCODE>0</ERRORCODE>
<PRODUCT BUILD="" NAME="" VERSION=""/>
<DATABASE DATEFORMAT="M/d/yyyy" LAYOUT="" NAME="" RECORDS="{count(/*/*)}" TIMEFORMAT="h:mm:ss a"/>
<METADATA>
<xsl:for-each select="/*/*[position()=1]/*">
<FIELD>
<xsl:attribute name="EMPTYOK">YES</xsl:attribute>
<xsl:attribute name="MAXREPEAT">1</xsl:attribute>
<xsl:attribute name="NAME"><xsl:value-of select="name()"/></xsl:attribute>
<xsl:attribute name="TYPE">TEXT</xsl:attribute>
</FIELD>
</xsl:for-each>
</METADATA>
<RESULTSET>
<xsl:attribute name="FOUND"><xsl:value-of select="count(child::*)"/></xsl:attribute>
<xsl:for-each select="child::*">
<ROW>
<xsl:attribute name="MODID">0</xsl:attribute>
<xsl:attribute name="RECORDID">0</xsl:attribute>
<xsl:for-each select="child::*">
<COL>
<DATA>
<xsl:value-of select="."/>
</DATA>
</COL>
</xsl:for-each>
</ROW>
</xsl:for-each>
</RESULTSET>
</FMPXMLRESULT>
</xsl:template>
</xsl:stylesheet>
НО это извлекает информацию о порядке верхнего уровня для каждого заказа, игнорируя детей и внуков.
Я начинающий и тралил сеть и форумы пытаются много перестановок строки «», но, честно говоря, это догадок и первоначальная эйфория будет начать заменить отчаянием ;-(
Любые советы значительно оценили
Большое спасибо, Jim