Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Greetings,

This is a non-work related question, but any help you can offer would be much appreciated. When not fulfilling my daily role as an IT Coordinator, I indulge in the MMO EVE Online. I've been building complex GoogleDocs to check market rates on items when it dawned on me that I could do all that and a lot more with FileMaker.

So here's my situation:

I currently have a button in my FileMaker database that opens this URL. I then copy the content of the page and paste it into a field ("XML_Data"). I then use the custom function ExtractData to pull out the data I need for my calculations.

What I would like:

Each time I open the database, I would like it to automatically retrieve the XML data from the web and put it in the field.

Any ideas? Thanks in advance,

Commander Ben Feingold

CEO of a virtual Corporation...in a virtual world of spaceships and laser guns... :tongue:

Here's the URL incase the link didn't work:

http://api.eve-centr...nlimit=10000002

Solved by comment

Go to solution

Filemaker can import XML data directly - provided you have a XSLT stylesheet to transform the XML to Filemaker's own grammar.

Each time I open the database, I would like it to automatically retrieve the XML data from the web and put it in the field.

Make it a part of your startup script.

  • Author

Thank you for the quick reply.

The XSLT is where I get stuck. After reading other people's posts about importing XML, I gather I'm not alone in this. Is there a good, "How to get started making your custom XSLT Stylesheet" forum or guide you can point me to? My friend Google helped me find the XSLT Tutorial at w3schools.com. I took a few minutes to play with the tutorial and I think I understand how it's supposed to work.

Below is an excerpt of XML code. I take this:


This XML file does not appear to have any style information associated with it. The document tree is shown below.

<evec_api method="marketstat_xml" version="2.0">

<marketstat>

	 <type id="9832">

		  <buy>

			   <volume>6365114</volume>

			   <avg>6481.53</avg>

			   <max>7505.05</max>

			   <min>1800.02</min>

			   <stddev>1207.86</stddev>

			   <median>6621.00</median>

			   <percentile>7502.91</percentile>

		  </buy>

		  <sell>

			   <volume>2679134</volume>

			   <avg>8911.18</avg>

			   <max>11300.00</max>

			   <min>7549.66</min>

			   <stddev>774.93</stddev>

			   <median>8500.00</median>

			   <percentile>7549.66</percentile>

		  </sell>

		  <all>

			   <volume>9044248</volume>

			   <avg>7201.25</avg>

			   <max>11300.00</max>

			   <min>1800.02</min>

			   <stddev>1299.05</stddev>

			   <median>7339.70</median>

			   <percentile>3976.32</percentile>

		  </all>

	 </type>

</marketstat>

</evec_api>





And apply something like this to it:









<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- Edited by Me -->

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



<xsl:template match="/">

  <html>

  <body>

  <h2>EVE-Central XML Import</h2>

    <table border="1">

      <tr bgcolor="#9acd32">

        <th>Volume</th>

        <th>Average</th>

        <th>Max</th>

        <th>Min</th>

        <th>Standard Deviation</th>

        <th>Median</th>

        <th>Percentile</th>

      </tr>

      <xsl:for-each select="marketstat/type id="?">

      <tr>

        <td><xsl:value-of select="volume"/></td>

        <td><xsl:value-of select="avg"/></td>

        <td><xsl:value-of select="max"/></td>

        <td><xsl:value-of select="min"/></td>

        <td><xsl:value-of select="stddev"/></td>

        <td><xsl:value-of select="median"/></td>

        <td><xsl:value-of select="percentile"/></td>

      </tr>

      </xsl:for-each>

    </table>

  </body>

  </html>

</xsl:template>

</xsl:stylesheet>





Assuming I'm on the right path, I have no idea what to do with this line, as it changes for each item type and this XML has 12 items listed one after another:





<xsl:for-each select="marketstat/type id="?">

As you can see in my XML example, the value is "<type id="9832">" but there could be any number in there.

Edited by Ben Feingold

  • Solution

Not really - but I can provide you with a starting point.

Compressed file.zip

On second thought, the basic tutorial would be beneficial in understanding what's going on:

http://www.w3schools...xsl/default.asp

Edited by comment

  • Author

Taking a look at your example now. Thank you very much!

  • 5 months later...

Just curious if you've had any success parsing the Eve-Central.com API.  Took a stab at it this morning and I think I figured it out.

  • Author

As a matter of fact, I had a lot of success. I used the example provided by "comment" (Thank you so much!) and built a solution to automatically generate a build schedule based on profit margins.

  • Author

This is a continuation of a question I had back in August about importing XML generated via an API. I listed the rest of the question in that thread, but then realized that people might not see it as that initial question was successfully answered. I hope you don't mind my reposting it as a new topic.

 

My latest endeavor is getting my inventory to import. I modified the XSL for the EVE API, added a table with the corresponding names, and modified the script, but I get the following error from FileMaker when I run it and tell FM to retrieve the XML from "https://":

 


XML parsing error:

unable to open primary document entity "

Line Number:0

Column Number: 0

 

If I tell it to get it from "http://..." I get:

 

XML parsing error:


internal error in NetAccessor

Line Number:0

Column Number: 0

 

However, if I use an XML coding program to apply my new stylesheet to the the raw XML provided by EVE's API, and then save the result to it's own XML file, I can easily import the records from the menu File>Import Records>XML Data Source...

 

Any idea what might return this error? Is FileMaker able to retrieve XML from https?

 

I attached three files:

1. The XML from EVE

http://fmforums.com/files/file/34-eve-api-asset-list/

 

2. My XSL

 

3. The XML with the stylesheet applied

I merged your two topics.

 

Please do no start a sprinter topic when asking followup questions.

Create an account or sign in to comment

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.