Jump to content
Sign in to follow this  
AlanTrewartha

[Solutions] fmresultsetjson.xsl

Recommended Posts

fmresultsetjson.xsl


XSLT to convert Filemaker's REST web-service XML response into clean JSON

https://twitter.com/alantrewartha

2017-03-06

Adapted from the original Six Fried Rice XSLT here http://sixfriedrice.com/wp/products/filemaker-to-json-converter/

Changed:
* single quotes to JSON-standard double-quotes
* removed "fieldDefinitions" block (personal preference)
* stopped every field value being presented as an [ array ] even when not a "repeating field"
* added whitespace escaping code

The white-space escaping code was entirely cribbed from
https://github.com/doekman/xml2json-xslt/blob/master/xml2json.xsl


 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By Laura Griffin Long
      I have an rss feed that returns data like this: 
      2009 LLCs, Corporations, & Business Legal Updates
      2009 Personal Finance Legal Updates
      2010 LLCs, Corporations, & Business Legal Updates
      2010 Personal Finance Legal Updates
      2011 Personal Finance Legal Updates
      2012 Wills, Trusts, and Estates Legal Updates 
      If I click on one of the links I can see the XML.  I need to import all of the XML into my database.  I have done XML/XSL imports before, but it is throwing me off because of the RSS List.  How do I go about this?  Right now I do a copy/paste on view source, put all of that into Notepad++ and then scrub the data.  I use that for an import into a Filemaker table to get the URL.  Then I do an insert by URL to get the XML into the table.  This seems like a lot, I am hoping there is an easier way.... 
    • By eyepro
      I'm very very very newbie on xml.
      What I need to understand is if it's possibile export in this way.
      I use a xsl stylesheet to export from FM.
       
      I was able to use the <xsl:for-each to export details in the way I want:
      <xsl:for-each select="fmp:FMPXMLRESULT/fmp:RESULTSET/fmp:ROW">
              <Details>
                  <Code><xsl:value-of select="fmp:COL[2]/fmp:DATA"/></Code>
                  <WTN><xsl:value-of select="fmp:COL[3]/fmp:DATA"/></WTN>
                  <Date><xsl:value-of select="fmp:COL[4]/fmp:DATA"/></Date>
                  
      result:
      <Details>
      <Code>0280c1</Code>
      <WTN>1</WTN>
      <Date>10/04/2018</Date>
      </Details>
      <Details>
      <Code>0280c2</Code>
      <WTN>2</WTN>
      <Date>10/04/2018</Date>
      </Details>
      <Details>
      <Code>0280c3</Code>
      <WTN>3</WTN>
      <Date>10/04/2018</Date>
      </Details>
      what i need to know is how put the fmp:COL[1] above the <xsl:for-each to get this:
      <CUSTOMER>ABC</CUSTOMER>
      <INVOICE>01</INVOICE>
      <Details>
      <PrimaryKey>0280c1</PrimaryKey>
      <WTN>1</WTN>
      <Date>10/04/2018</Date>
      <Colours/>
      </Details>
      <Details>
      <PrimaryKey>0280c2</PrimaryKey>
      <WTN>2</WTN>
      <Date>10/04/2018</Date>
      <Colours/>
      </Details>
      <Details>
      <PrimaryKey>0280c3</PrimaryKey>
      <WTN>3</WTN>
      <Date>10/04/2018</Date>
      <Colours/>
      </Details>
       
      Thanks in advance.
    • By Matt Navarre
      Announcing fmSearchResults 5. This latest download delivers new features with simple implementation. And it's free!
      fmSearchResults 5 adds fast, multi-table searching to your FileMaker solutions by importing a few scripts and pasting a simple search field on to your layouts. It feels like the type of Google search that all your users are already familiar with, and it’s far more powerful than FileMaker’s Quickfind feature, because it searches across multiple tables and has data-type awareness.
      Read more about the new features and download it now!
      Implementation is so simple, watch me do it 5 minutes (and 12 seconds).
    • By Brent Durland
      If you love FileMaker but are new to JSON, download this free educational tool and start learning!
      http://www.filemakerforever.com/articles/134
       

    • By DarioDN
      Dear all, I've just create a script to export my records in multiple xml file (one xml for each record) applying also an XSL stylesheet.
      So, if I use the style.xsl taking from my computer ("source" button when filemaker ask me to select the file) it works. If I put the same file online, it doesn't work giving me a SAXParseException error: internal error in NetAccess (occurred in an unknown entity, at line 0, column 0).
      In the same folder where I have the style.xsl there are other xsl files that works, but they are used to "import" process (from XML to FILEMAKER, while in this case I'm working to an export process, from FILEMAKER to XML, I don't know if this could be the problem)
      Someone could help me to understand the error? Thank you
      <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fmp="http://www.filemaker.com/fmpxmlresult" exclude-result-prefixes="fmp" > <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="fmp:FMPXMLRESULT"> <xsl:for-each select="fmp:RESULTSET/fmp:ROW"> <xsl:text>&#xA;</xsl:text> <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text> <xsl:value-of select="fmp:COL[1]/fmp:DATA"/>.<xsl:value-of select="fmp:COL[2]/fmp:DATA"/>.<xsl:value-of select="fmp:COL[3]/fmp:DATA"/><xsl:text disable-output-escaping="yes">--&gt;</xsl:text> <problem display_name="Checkboxes" > <choiceresponse> <label><xsl:value-of select="fmp:COL[4]/fmp:DATA"/></label> <checkboxgroup> <choice correct="{fmp:COL[6]/fmp:DATA}"> <xsl:value-of select="fmp:COL[5]/fmp:DATA"/> <choicehint selected="true"><xsl:value-of select="fmp:COL[7]/fmp:DATA"/> </choicehint> </choice> <choice correct="{fmp:COL[9]/fmp:DATA}"> <xsl:value-of select="fmp:COL[8]/fmp:DATA"/> <choicehint selected="true"><xsl:value-of select="fmp:COL[10]/fmp:DATA"/></choicehint> </choice> <choice correct="{fmp:COL[12]/fmp:DATA}"> <xsl:value-of select="fmp:COL[11]/fmp:DATA"/> <choicehint selected="true"><xsl:value-of select="fmp:COL[13]/fmp:DATA"/></choicehint> </choice> </checkboxgroup> </choiceresponse> </problem> <xsl:text>&#xA;</xsl:text> </xsl:for-each> </xsl:template> </xsl:stylesheet>  
  • Who Viewed the Topic

    2 members have viewed this topic:
    No_access  Ron Cates 
×
×
  • Create New...

Important Information

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