1 / 14

Sphinx a user-friendly assertion language

Sphinx a user-friendly assertion language. David North Senior Developer, CoreFiling Eurofiling Workshop, Luxembourg, December 2013. What is Sphinx?. Domain-specific language for making assertions about XBRL facts High-level, semantic, based on an n-dimensional world Not XML

plato
Download Presentation

Sphinx a user-friendly assertion language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sphinx a user-friendly assertion language David North Senior Developer, CoreFiling Eurofiling Workshop, Luxembourg, December 2013

  2. What is Sphinx? • Domain-specific language for making assertions about XBRL facts • High-level, semantic, based on an n-dimensional world • Not XML • Designed for humans to write and edit directly • Proprietary

  3. History • 2009 – first prototypes • 2011 – stable language reaches 1.0 • 2012 – version 2.0 incorporating real-world feedback requiring breaking changes • 2013 – (later abandoned) attempt to offer the Sphinx IP to XBRL International

  4. The requirements Sphinx grew from • XBRL US (XUSI) – development of the XBRL US Consistency Checks for quality/consistency of SEC filings • CIMA – regulator needing to check quality/consistency of incoming instances • Replaced a stopgap spreadsheet-based solution

  5. Who uses it? • XUSI • CIMA • HMRC

  6. Proprietary: Disadvantages • Not an XII standard • Fewer options for implementations • Difficult for a regulator to mandate its usage by filers • Can't be part of DTS

  7. Proprietary: Advantages • High quality tools available from CoreFiling • Fast evolution of the language in response to customer feedback

  8. What can it be used for? • Rapid creation of business and accounting rules • Typical checks might include: • X must be reported • Co-constraints (if X is reported, Y must be too) • Comparing data across dimensions

  9. The language • Based on item expressions • The most basic: [ ] • Represents the table of all items in the instance. Operations on it apply to every cell in turn • Restrict by axes (“aspects” in XBRL formula) • FooConcept[ ] – restriction to facts with FooConcept • [Geography=UK, Product=Cheese] – restricts dimensions

  10. Lining up How is the following expression evaluated? Revenue[ ] = SalesRevenue[ ] + RentRevenue[ ]

  11. Examples Please refer to accompanying file “Sphinx Examples.txt”

  12. Tools • Rules authored in SpiderMonkey, potentially alongside taxonomy development • Can test against instances here • Can plug authored “rulebase” into other CoreFiling tools both for GUI-based instance validation and command-line/web based validation (e.g. filter gateway).

  13. Sphinx vs XBRL formula • Sphinx does lining up (implicit filtering) by default • Sphinx cannot do fact creation • Sphinx cannot use XPath • User-defined Sphinx functions are in-language only (no ability to make them implementation-defined)

  14. Questions?

More Related