php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #51488 Bind DOM documents to native PHP objects using Schema
Submitted: 2010-04-06 17:39 UTC Modified: -
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:0 of 1 (0.0%)
From: sites at hubmed dot org Assigned:
Status: Open Package: DOM XML related
PHP Version: 5.3.2 OS: All
Private report: No CVE-ID:
Have you experienced this issue?
Rate the importance of this bug to you:

 [2010-04-06 17:39 UTC] sites at hubmed dot org
Description:
------------
Somewhere within the SoapClient and libxml code are functions that 
a) parse an XSD schema into a set of data types (available through SoapClient::__gettypes), and 
b) apply that schema to an XML document to produce a native PHP object.

Would it be possible to make these functions available to all DOMDocument objects, so that an XML document returned from a non-SOAP web service can be bound - using the schema - to a native PHP object?

(related, existing functions include xmlrpc_decode, wddx_unserialize, XSLTProcessor::transformToDoc and DOMDocument::schemaValidate)

Test script:
---------------
// load the XSD Schema
$dom = new DOMDocument;
$dom->load('example.xsd');

// import the schema to a SchemaBinder class, similar to XSLTProcessor::importStylesheet
$binder = new SchemaBinder;
$binder->importSchema($dom);

// load the XML document
$dom = new DOMDocument;
$dom->load('example.xml');

// bind the XML document to a native PHP object, using the schema
$data = $binder->bind($dom);

===========================

/* or more simply */
$data = $dom->bindFromSchema('example.xsd');


Patches

Add a Patch

Pull Requests

Add a Pull Request

 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Wed Apr 23 14:02:33 2014 UTC