Native XPath functions

Idea created by mrwatson-gbs on Nov 16, 2015



    This idea is one improvement in string processing functions in FileMaker which would help Improve FileMakers Integration Technologies



    XML is a de facto standard for encoding and sharing data*, and XPath is the de facto standard for referencing objects within an XML-structure. In my experience, XML has been underused in FileMaker because of the  lacking functionality to process it correctly and reliably.


    Agreed JSON is an increasingly important technology, nonetheless XML is still a wide-spread industry standard and is not going to be going away any time soon.


    In the current situation:


    • there are no native XPath functions in the current shipping product (fm14)
    • dependence on 3rd party plugins has proven to be unreliable (e.g. discontinued fmNX Web plugin, slow release of 64bit fm14 plugins, poor XPath support in other plugins)
    • currently available custom function solutions are limited and erroneous
    • string-processing of XML is incapable of handling all the complexities of XML (Elements + attributes + namespaces + white space + CDATA + character encoding + character entities: named, decimal, hexadecimal)


    Thus: FileMaker developers need stable XPath functions in order to be able to support and process XML reliably.





    • It will be far easier to extract data out of XML-structures.
    • XML will become more attractive as a data transport mechanism (existing XML functionality will benefit)
    • Less Plugin use / less plugins to install / easier deployment of solutions
    • Less custom functions and more time to spend on programming the business relevant functions
    • Simpler and more reliable code
    • Less errors in interfaces which use XML
    • Solutions will be FileMaker update safe, i.e. not break when a new version is released


    Use Cases


    • Importing & processing XML files
    • Extracting XML data out of industry standard XML-structures:
    • Processing Webservices and SOAP
    • Passing Script parameters as XML
    • Extracting data out of the DDR
    • Analyzing the FileMaker fmxmlsnippet clipboard
    • Processing results of GetAsCSS( $Text )
    • Analyzing SVG images or XHTML5