Saxophone: PHP stream handler to search XML with XPATH

Recommend this page to a friend!
  Info   Screenshots Screenshots   View files View files (6)   DownloadInstall with Composer Download .zip   Reputation   Support forum (1)   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStarStar 75%Total: 343 All time: 6,956 This week: 278Up
Version License PHP version Categories
saxophone 1.0.9GNU General Publi...5.0HTML, XML, Searching, Parsers
Description Author

This class is a PHP stream handler to search XML with XPATH or tag name.

It allows opening a XML document using fopen('sax:...').

The class can parses the XML document and search it using XPATH expressions to match the document data that is returned when the stream reading functions are called.

Innovation Award
PHP Programming Innovation award nominee
October 2013
Number 2


Prize: One downloadable copy of CodeLobster Professional
Some applications need to parse XML documents for extracting records of information that are stored in a certain structure.

This class can simplify the extraction of information from XML documents.

It uses the PHP streams support to open a virtual file with a name that includes the actual XML document file to parse, as well the format of the path of the XML elements to be extracting.

The XML elements path definition can be specified as a XPATH expression.

Using regular PHP file opening and reading functions it can return the XML elements that match the search expression.

Manuel Lemos
Picture of Juraj Puchký
  Performance   Level  
Name: Juraj Puchký <contact>
Classes: 10 packages by
Country: Czech Republic Czech Republic
Innovation award
Innovation award
Nominee: 3x

Details
	  SaxOPHONE
	  =========

           0OOOOON                                                 
    NNX00kdk0KXKdl0N                                           
  cccllxKXX    0oxkxX                                         
                OdkOO                                    
                 OdxdO             
                  KxookN                
                   kxloxN                          
                   NdoldxX    KK0KK0O0d
                    kooclo0  0ldc;;coodkK
                     oxloo:X OkX0dc;cok0K                                      
                     XoxcxocNk0X0OxoxN                                         
                      XddcxooxO0OkxoX                                          
                       Xxdloc,:kxollxK                                         
                        Oxoodc:lxc:clN                                         
                        Koxldd:;ooxxdlkN                                       
                         0xocddxkk0Okok                                        
                          XddOOxxO0OxdO                                        
                           0kodkOkxxkX                                         
                             dlkO0N 

 * @author Juraj Puchký - Devtech <sjurajpuchky@seznam.cz>
 * @license GPLv3
 * @homepage http://www.devtech.cz
 * @copy (c) 2013 Juraj Puchký - Devtech

Intro:
  Saxophone is simple stream xml parser with optional configuration support. You no need more than 1MB memory to process XML file.
  Is fast as possible and access interface is integrated into file stream support, that means you can access XML file from any where
  and process directly. Saxophone is licensed under GPLv3 any time you wish use in commercial application, kindly contact me and we will
  discuss commerce non exclusive developer license and conditions related with copyright rights.

How to use:
===========

At first you have to include Saxophone.php class file.
Configure options global variable as well.

  $GLOBALS["xmlopt"] = array( 
     "encoding" => "utf-8", 
     "object" => "//*/SHOPITEM", 
     "type" => "XPATH",         // TAG,XPATH,TAGSLIST 
     "fields" => array( 
         "productName" => "//*/SHOPITEM/PRODUCT" 
     )  
 ); 
       
Specify encoding
================
encoding - specify which encoding should be as target encoding for parsing XML file default is UTF-8.

Specify object
==============
object - specifies tag name or xpath of object which encapsule required fields.

Types parser point of view
==========================
TAG      - Tags are separed and identified by TAG NAME only.
XPATH    - Tags are separed and identified by XPATH.
TAGSLIST - Result object has filled public supportedTags variable with array of exisiting tags.

Ignition of stream
==================
  /- File handler
  |            /- Saxophone protocol
  |            |     /- global variable name of processed object accessor
  |            |     |     /- function name to post process parsed object
  |            |     |     |         /- function name to post process tag
  |            |     |     |         |          /- Url of XML File 
  |            |     |     |         |          |          /- global variable of saxophone parser options 
  |            |     |     |         |          |          |
 $fp = fopen("sax://xml;xprocess;xprocesstag;sample.xml;xmlopt","rb",true); 
 // Load fuel till end by 4096 bytes
 while(!feof($fp)) { fread($fp,4096);} 
 // Close fire
 fclose($fp); 
 // Mision completed we are on the orbit
Screenshots  
  • Saxophone.png
  • Sample-1.01.png
  Files folder image Files  
File Role Description
Accessible without login Plain text file README.TXT Doc. Singing song untill im on the orbit
Accessible without login Plain text file sample.php Example Saxophone sample
Accessible without login Plain text file sample.txt Output Saxophone sample results
Accessible without login Plain text file sample.xml Data Saxophone sample data
Plain text file Saxophone-1.0.9.php Class Saxophone 1.0.9 class file
Plain text file Saxophone-1.1.0.php Class New version support of parse method

 Version Control Unique User Downloads Download Rankings  
 0%
Total:343
This week:0
All time:6,956
This week:278Up
 User Ratings  
 
 All time
Utility:100%StarStarStarStarStarStar
Consistency:91%StarStarStarStarStar
Documentation:83%StarStarStarStarStar
Examples:83%StarStarStarStarStar
Tests:-
Videos:-
Overall:75%StarStarStarStar
Rank:120
  

For more information send a message to info at phpclasses dot org.