Puppy Linux Blog Archive - Jan 2018

Posts Below
1/29/2018 - How to make Saxon/C v1.1.0 into a PHP extension for PHP 5.6.13 in Lucid Puppy Linux 5.2.8

    Hide/Show:


   ▲ Top  ▼ Bottom  △ TOC
How to make Saxon/C v1.1.0 into a PHP extension for PHP 5.6.13 in Lucid Puppy Linux 5.2.8
Monday, January 29th, 2018
23:10:10 GMT


Today I found out Saxon/C v1.1.0 was released Sept. 27, 2017.

In it, "APIs are available to run XSLT 3.0, XQuery 3.1, XPath 3.1 and Schema Validation from C/C++ or PHP applications."


Here's an article about various exciting new improvements in XSLT 3.0:

Why You Should Be Using XSLT 3.0
(Feb. 14, 2017, from XML.com)


The ability to easily convert between JSON and XML, making it possible to transform JSON using XSLT, is so exciting that even I (who am often reluctant to switch to newer versions of software) was happy to upgrade to Saxon/C v1.1.0.


(Addition, Feb. 17, 2018, 9:32 PM EST. I made some Bash scripts which make it easy to switch between the Saxon/C v1.0.2 PHP module and Saxon/C v1.1.0 PHP module:

Switch Between Versions of Saxon/C

I made those scripts because I found I can't use Schematron unless I use Saxon/C v1.0.2, or one of the commercial editions of Saxon/C v1.1.0.)


Fortunately, the process of making Saxon/C v1.1.0 into a PHP extension was almost the same as it was for Saxon/C v1.0.2.

So, for most of the details, see my previous blog post:

How to make Saxon/C v1.0.2 into a PHP extension for PHP 5.6.13 in Lucid Puppy Linux 5.2.8


The 2 differences were:

  1. I copied the contents of the PHP5-Build folder (which only contains a file named "config.m4") into the Saxon.C.API folder, overwriting the "config.m4" file that was already there.

  2. Then, after running ./configure --enable-saxon and editing the Makefile the way my previous blog post describes, I edited the Makefile a bit more, just to replace all instances of the text "php7" with "php5".

After that, all I had to do was follow the rest of my previous blog post's instructions!


I should note that I accomplished this while running Lucid Puppy Linux 5.2.8 version 004 in a VirtualBox, and I haven't yet tried it in a non-virtual system. But I'm guessing it will work in a non-virtual system too.

   ▲ Top  ▼ Bottom  △ TOC


    Hide/Show: