Jump to content
Server Maintenance This Week. ×

XML File


Spidey

This topic is 4566 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Hi,

I've just export my data using xml. Is there a way for me to export the data using the field's name "Field_1" instead of <COL><DATA> in the contents?

Thanks.

Kent

<?xml version="1.0" encoding="UTF-8" ?>

<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">

<ERRORCODE>0</ERRORCODE>

<PRODUCT BUILD="06-11-2010" NAME="FileMaker" VERSION="ProAdvanced 11.0v2"/>

<DATABASE DATEFORMAT="Yyyy-m-d" LAYOUT="xsl" NAME="xsl.fp7" RECORDS="5" TIMEFORMAT="h:mm:ss a"/>

<METADATA>

<FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Field_1" TYPE="TEXT"/>

<FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Field_2" TYPE="TEXT"/>

<FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Field_3" TYPE="TEXT"/>

</METADATA>

<RESULTSET FOUND="5">

<ROW MODID="0" RECORDID="1">

<COL><DATA>111</DATA></COL>

<COL><DATA>aaa</DATA></COL>

<COL><DATA>This is A.</DATA></COL>

</ROW>

<ROW MODID="0" RECORDID="2">

<COL><DATA>222</DATA></COL>

<COL><DATA>bbb</DATA></COL>

<COL><DATA>This is B.</DATA></COL>

</ROW>

Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

[ In response to a post deleted by forum administration ]

This "sample" is an almost exact copy of the custom_delim.xsl file that comes with the application. However, the original file includes the following notice (the emphasis was added by me):

Copyright © 2002 FileMaker, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or

without modification, are permitted provided that the following

conditions are met:

* Redistributions of source code must retain the above copyright

notice, this list of conditions and the following disclaimer.

...

Edited by comment
Link to comment
Share on other sites

My sincere apologies.... I meant to only delete the example section but apparently cut to much.

Hard to imagine one would do so in a section showing 8 lines....

(I'll made sure to use the 'More Reply Options' this time just to be sure.)

Howbeit in an effort to actually answer a post and provide something meaningful and useful to the poster I will re-post IN FULL the xsl with all examples and copyright notices.


<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fmp="http://www.filemaker.com/fmpxmlresult">

<xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>

<!--

File: custom_delim.xsl

Transforms data in FMPXMLRESULT grammar into a text file with the

specified characters as field and record delimiters.

Note that it is possible to choose field and record delimiters

that would result in an exported file that FileMaker Pro can no

longer import.

For example:

Database data

=============

White	 Johnson  Red	   33

Green	 Mark	 Red	  100

Blue	  Sam	  Blue	 201

Yellow    Susan    Green    839

Straight  Wendy    Orange    22

Output

======

White*Johnson*Red*33

Green*Mark*Red*100

Blue*Sam*Blue*201

Yellow*Susan*Green*839

Straight*Wendy*Orange*22



===============================================================

Copyright &#194;&#169; 2002 FileMaker, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or

without modification, are permitted provided that the following

conditions are met:

* Redistributions of source code must retain the above copyright

  notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright

  notice, this list of conditions and the following disclaimer in

  the documentation and/or other materials provided with the

  distribution.

* Neither the name of the FileMaker, Inc. nor the names of its

  contributors may be used to endorse or promote products derived

  from this software without specific prior written

  permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND

CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,

INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF

MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.

IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR

ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR

CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF

SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR

BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,

WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING

NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS

SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

   

===============================================================

--><xsl:template match="fmp:FMPXMLRESULT">

  <xsl:for-each select="fmp:RESULTSET/fmp:ROW">

   <xsl:for-each select="fmp:COL">

    <xsl:choose>

	 <xsl:when test="position()=last()">

	  <xsl:value-of select="fmp:DATA"/>

	 </xsl:when>

	 <xsl:otherwise>

	  <xsl:value-of select="fmp:DATA"/>

	  <xsl:value-of select="$delimiter"/>

	 </xsl:otherwise>

    </xsl:choose>

   </xsl:for-each>

   <xsl:value-of select="$newrecord"/>



<xsl:template match="fmp:FMPXMLRESULT">

<xsl:call-template name="header"/>

  <xsl:for-each select="fmp:RESULTSET/fmp:ROW">

   <xsl:for-each select="fmp:COL">

    <xsl:choose>

	 <xsl:when test="position()=last()">

	  <xsl:value-of select="fmp:DATA"/>

	  <xsl:value-of select="$newrecord"/>

	 </xsl:when>

	 <xsl:otherwise>

	  <xsl:value-of select="fmp:DATA"/>

	  <xsl:value-of select="$delimiter"/>

	 </xsl:otherwise>

    </xsl:choose>

   </xsl:for-each>

  </xsl:for-each>

</xsl:template>

<xsl:template name="header">

  <xsl:text>Name address1 address2 city state zipcode</xsl:text>

  <xsl:value-of select="$newrecord"/>

</xsl:template>

<!-- 

Variable "delimiter" contains the character that will be inserted in the output

between each field in the exported data.

		

Change the "*" between the "xsl:text" tags to make customizations.

-->

<xsl:variable name="delimiter">

  <xsl:text> </xsl:text>

</xsl:variable>

<!-- 

Variable "newline" contains the character that will be inserted in the output as the

end of record character.

		

By default the new record delimitter is a carriage return. Other characters may be

inserted between the xsl:text tags to create different delimitters.

-->

<xsl:variable name="newrecord">

<xsl:text>

</xsl:text>

</xsl:variable>

</xsl:stylesheet>

  • Like 1
Link to comment
Share on other sites

This topic is 4566 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.