Simple objective which always seems to make me think I'm doing it wrong.

[email protected] (Richard Quadling)
Newsgroups php.general
Message-ID <CAKUjMCXLhyiCBigmwQb++qW1Tdu6sQ_9zTXLhasTxmX_+719pQ@mail.gmail.com>
Hi.

I'm building an XML file.

It is within an OOP structure and is pretty simple.

The method is ...

    /**
     * Turn an error from the W2GlobalData service into normal document as
this will make it easier to integrate downstream.
     *
     * @param \SimpleXMLElement $o_XML
     * @return \SimpleXMLElement
     * @todo Build document to be a correct request header with the
embedded error message.
     */
    public function normaliseError($o_XML)
    {
        $s_XML = <<< END_XML
<?xml version="1.0" encoding="UTF-8"?>
<doc>
    <service>UK Verification (Edited)</service>
    <searchtext>
        <forename>{$this->a_RequestData['forename']}</forename>
        <middlename>{$this->a_RequestData['middlename']}</middlename>
        <surname>{$this->a_RequestData['surname']}</surname>
        <address1>{$this->a_RequestData['address1']}</address1>
        <address2>{$this->a_RequestData['address2']}</address2>
        <postcode>{$this->a_RequestData['postcode']}</postcode>
        <gender>{$this->a_RequestData['gender']}</gender>
        <dob>{$this->a_RequestData['dob']}</dob>

<drivinglicence>{$this->a_RequestData['drivinglicence']}</drivinglicence>
        <passport>{$this->a_RequestData['passport']}</passport>
        <mpan>{$this->a_RequestData['mpan']}</mpan>
    </searchtext>

<clientreference>{$this->a_RequestData['clientreference']}</clientreference>
    <resultcount/>
    <searchdate/>
    <expiry/>
    <timetaken/>
    <reportemailsent/>
    <error>
        {$o_XML->error}
    </error>
</doc>
END_XML;
        return new SimpleXMLElement($s_XML);
    }

Nothing particularly difficult to understand, but I just don't like having
the XML embedded this way.

Ideally, I want a scope aware include function, so I can say _something_
like ...

$s_XML = require_once __CLASS__ . DIRECTORY_SEPARATOR .
'normalisedError.xml';

and have the include be aware of the local scope (so $o_XML and $this are
all happy).

I know I can write a template parser, but I'm just missing an obvious
solution that isn't fat and doesn't require a massive learning for the
other devs.

Ideas?

Thanks for reading.

Richard.


-- 
Richard Quadling
Twitter : @RQuadling
EE : http://e-e.com/M_248814.html
Zend : http://bit.ly/9O8vFY
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.