P5-xml-compile

Jul 20, 2023

Compilation based XML processing

Many applications which process data-centric XML do that based on a nice specification, expressed in an XML Schema. XMLCompile reads and writes XML data with the help of such schema’s. On the Perl side, it uses a tree of nested hashes with the same structure.

Where other Perl modules, like SOAPWSDL help you using these schema’s often with a lot of run-time XPath searches, this module takes a different approach in stead of run-time processing of the specification, it will first compile the expected structure into real Perl, and then use that to process the data.

There are many perl modules with the same as this one translate between XML and nested hashes. However, there are a few serious differences because the schema is used here, we make sure we only handle correct data. Data-types are formatted and processed correctly; for instance, integer does accept huge values at least 18 digits as the specification prescribes. Also more complex data-types like list, union, and substitutionGroup unions on complex type level are supported, which is rarely the case in other modules.



Checkout these related ports:
  • Zxing-cpp - ZXing C++ Library for QR code recognition
  • Zu-hunspell - Zulu hunspell dictionaries
  • Zu-aspell - Aspell Zulu dictionary
  • Zq - Easier and faster alternative to jq
  • Zorba - General purpose C++ XQuery processor
  • Zenxml - Simple C++ XML Processing
  • Zed - Command-line tool to manage and query Zed data lakes
  • Yq - Command-line YAML and XML processor, jq wrapper for YAML/XML documents
  • Yould - Pronounceable word generator
  • Yodl - Easy to use but powerful document formatting/preparation language
  • Yi-hunspell - Yiddish hunspell dictionaries
  • Yi-aspell - Aspell Yiddish dictionary
  • Yelp-xsl - DocBook XSLT stylesheets for yelp
  • Yelp-tools - Utilities to help manage documentation for Yelp and the web
  • Ydiff - Diff readability enhancer for color terminals