August 12, 201213 yr 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... Here's the URL incase the link didn't work: http://api.eve-centr...nlimit=10000002
August 12, 201213 yr 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.
August 13, 201213 yr 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 August 13, 201213 yr by Ben Feingold
August 13, 201213 yr 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 August 13, 201213 yr by comment
January 23, 201312 yr 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.
January 27, 201312 yr 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.
January 29, 201312 yr 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
January 29, 201312 yr I merged your two topics. Please do no start a sprinter topic when asking followup questions.
Create an account or sign in to comment