Ich habe eine Anwendung, die ihre Benutzerdatenbank in einer XML-Datei speichert, und ich muss ausgewählte Felder zu Filemaker exportieren, damit mein Client und die Daten auf Filemaker minen. Ich habe es geschafft, eine XSLT-Datei zum Importieren von XML-Elementen zu erstellen, aber ich finde keine Möglichkeit, Elemente zu importieren. Zeiger zur Lösung dieses Problems werden stark erwartet.Wie können Attribute und Elemente aus XML in Filemaker importiert werden?
Beispiel für die XML-Datei:
<?xml version="1.0" encoding="utf-8"?>
<APPLICATION_NAME>
<USERS>
<USER>
<ID>15001</ID>
<USERNAME>Administrator</USERNAME>
<!-- other elements -->
<PROPERTYBAG>
<ITEM NAME="LastModifiedDate" VALUE="Fri, 05 Sep 2008 13:13:16 GMT"/>
<ITEM NAME="Registered" VALUE="5.9.2008 16:13:16"/>
<!-- other elements -->
</PROPERTYBAG>
</USER>
<!-- more users -->
</USERS>
</APPLICATION_NAME>
Bisher habe ich es geschafft haben, Elemente zu importieren, indem Anweisung folgende von dieser Seite: http://edoshin.skeletonkey.com/2005/10/use_modular_xsl.html
Und hier ist die XSLT, die die Elemente importiert, aber nicht Attribute:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.filemaker.com/fmpxmlresult">
<xsl:include href="FileMaker.xslt"/>
<xsl:template match="/">
<xsl:call-template name="TABLE">
<xsl:with-param name="METADATA-FIELDS">
<xsl:call-template name="FIELD">
<xsl:with-param name="NAME" select="'ID'"/>
</xsl:call-template>
<xsl:call-template name="FIELD">
<xsl:with-param name="NAME" select="'USERNAME'"/>
</xsl:call-template>
<xsl:call-template name="FIELD">
<xsl:with-param name="NAME" select="'ISADMINISTRATOR'"/>
</xsl:call-template>
<xsl:call-template name="FIELD">
<xsl:with-param name="NAME" select="'LastModifiedDate'"/>
</xsl:call-template>
<xsl:call-template name="FIELD">
<xsl:with-param name="NAME" select="'Registered'"/>
</xsl:call-template>
</xsl:with-param>
<xsl:with-param name="RESULTSET-RECORDS">
<xsl:for-each select="//USER">
<xsl:call-template name="ROW">
<xsl:with-param name="COLS">
<xsl:call-template name="COL">
<xsl:with-param name="DATA" select="ID"/>
</xsl:call-template>
<xsl:call-template name="COL">
<xsl:with-param name="DATA" select="USERNAME"/>
</xsl:call-template>
<xsl:call-template name="COL">
<xsl:with-param name="DATA" select="ACCOUNT/ISADMINISTRATOR"/>
</xsl:call-template>
<xsl:call-template name="COL">
<xsl:with-param name="DATA" select="@Registered"/>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
</xsl:for-each>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
</xsl:stylesheet>
Leider, dass funktioniert auch nicht, also mein Problem. – Raynet
Sorry für die irreführende Antwort - behoben, sehen, ob das überhaupt hilft. – Dror
Danke, 'PROPERTYBAG/ITEM [@ NAME =' Registriert ']/@ VALUE' hat den Trick gemacht. * seufz * Ich wünschte, Filemaker hätte eine bessere Dokumentation zum XML-Import als 'wir verwenden XSLT, siehe W3c für die Dokumentation' – Raynet