Project

Profile

Help

Bug #2380

closed

XsltProcessor name clash with libxsl

Added by O'Neil Delpratt almost 9 years ago. Updated about 8 years ago.

Status:
Closed
Priority:
Normal
Category:
PHP API
Start date:
2015-05-19
Due date:
% Done:

100%

Estimated time:
Found in version:
0.3.1
Fixed in version:
1.0.0
Platforms:

Description

Reported by Kevin Clarke:

The use of Saxon/C's XsltProcessor in PHP classes with pre-existing PHP XSLTProcessor class (XSLT 1.0) within the same code base.

Actions #1

Updated by O'Neil Delpratt almost 9 years ago

Looking back at the discussions on the mailing list there were a few options on the table. See summary of them below:

  1. XSLT2Processor. The point was raised that this would not make sense since Saxon supports XSLT 3.0. Maybe we could also have XSLT3Processor.

  2. SAXONProcessor. This might be a safe option to avoid name clashes, but not keen on having Saxon within the name explicitly.

  3. Use the namespace feature in PHP.

For option 3. see details for Jirka Kosek:

Also note that PHP since 5.3 support namespaces (aka Java packages). So

you can still use XsltProcessor classname without any collisions if you

put it inside Saxon namespaces. New instance is then created by syntax like:

$xsltProc = new Saxon\XsltProcessor(...);

This naming pattern is not common yet for extensions as namespaces are

quite recent PHP feature.

I am probably in favour of option 3.

Actions #2

Updated by O'Neil Delpratt over 8 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Patch has been made to the php_saxon.cpp file. Thanks to Kevin Clarke for supplying the patch which will be available in the next release.

Actions #3

Updated by O'Neil Delpratt about 8 years ago

  • Fixed in version set to 1.0.0

This bug fix patch is released in Saxon/C 1.0.0 release

Actions #4

Updated by O'Neil Delpratt about 8 years ago

  • Status changed from Resolved to Closed

Please register to edit this issue

Also available in: Atom PDF