Re: XSLT issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> And I used this:
>
> <xsl:template name="results">
>
>                 <xsl:for-each select="tournament">
>                 <xsl:if test="position() < 4">
>                 <table id="top3table" cellspacing="0">
>                     <tr class="odd"><th>Tid</th><td><xsl:value-of
> select="tid" /></td></tr>
>                     <tr><th>Type</th><td><xsl:value-of select="name"
> /></td></tr>
>                     <tr class="odd"><th>Game</th><td><xsl:value-of
> select="game" /></td></tr>
>                     <tr><th>Buy-In</th><td>$<xsl:value-of select="buyin"
> /></td></tr>
>                     <tr class="odd"><th>Status</th><td><xsl:value-of
> select="state" /></td></tr>
>                     <tr><th>Players</th><td><xsl:value-of select="players"
> /></td></tr>
>                     <tr class="odd"><th>Date / Time</th><td><xsl:value-of
> select="starttime" /></td></tr>
>                 </table>
>                 <hr />
>                 </xsl:if>
>                 </xsl:for-each>
> </xsl:template>
>
> On 03/05/06, Dave Goodchild <buddhamagnet@xxxxxxxxx> wrote:
>>
>> Thanks for our help. Tried both methods and I get this:
>>
>> *Warning*: Sablotron error on line 31: XML parser error 4: not
>> well-formed
>> (invalid token) in
>> */home/stevemas/public_html/dg/xslt/xslt_processor.php*on line
>> *14*
>>
>>
>> On 03/05/06, T.Lensselink <admin@xxxxxxxxxx> wrote:
>> >
>> > > Hi all, maybe slightly off list but I AM using php and Sablotron to
>> > > generate
>> > > xslt.
>> > >
>> > > I have a live poker games feed that takes the following format:
>> > >
>> > > <?xml version=" 1.0" encoding="utf-8"?><xmlfeed>
>> > > <tournament>
>> > >     <tid>10035522</tid>
>> > >     <name>Texas Holdem</name>
>> > >     <game>Texas Holdem Poker</game>
>> > >     <buyin>5</buyin>
>> > >     <entryfee>0.5</entryfee>
>> > >     <currency>USD</currency>
>> > >     <state>Running</state>
>> > >     <players>110</players>
>> > >     <blindstructure>Normal NL 1</blindstructure>
>> > >     <type>Regular</type>
>> > >     <limit>No Limit</limit>
>> > >     <starttime>2006-04-24T07:00:00</starttime>
>> > > </tournament>
>> > >
>> > > <tournament>
>> > >     <tid>10035126</tid>
>> > >     <name>Texas Holdem</name>
>> > >     <game>Texas Holdem Poker</game>
>> > >     <buyin>20</buyin>
>> > >     <entryfee>2</entryfee>
>> > >     <currency>USD</currency>
>> > >     <state>Running</state>
>> > >     <players>79</players>
>> > >     <blindstructure>Normal NL 1</blindstructure>
>> > >     <type>Regular</type>
>> > >     <limit>No Limit</limit>
>> > >     <starttime>2006-04-24T08:00:00</starttime>
>> > > </tournament>
>> > >
>> > > etc etc
>> > >
>> > > and all I want to do is output the first THREE tournament elements
>> and
>> > no
>> > > more. I realise XSLT has no general repetition mechanism but does
>> > anyone
>> > > know how I would do this? Thanks in advance, and to my Dutch friend,
>> I
>> >
>> > > meant
>> > > it when I said lovely baby.
>> > >
>> > > --
>> > > http://www.web-buddha.co.uk
>> > >
>> > > dynamic web programming from Reigate, Surrey UK (php, mysql, xhtml,
>> > css)
>> > >
>> > > look out for project karma, our new venture, coming soon!
>> > >
>> >
>> > Not tested but have no resources for it right now...
>> >
>> > <xsl:for-each select="tournament/[position() < 4]">
>> >     <xsl:value-of select="tid"/>
>> > </xsl:for-each>
>> >
>> > or:
>> >
>> > <xsl:for-each select="tournament/">
>> >     <xsl:if test="position() < 4">
>> >         <xsl:value-of select="tid"/>
>> >     </xsl:if>
>> > </xsl:for-each>
>> >
>> > --
>> > PHP General Mailing List (http://www.php.net/)
>> > To unsubscribe, visit: http://www.php.net/unsub.php
>> >
>> >
>>
>>
>> --
>>
>> http://www.web-buddha.co.uk
>>
>> dynamic web programming from Reigate, Surrey UK (php, mysql, xhtml, css)
>>
>> look out for project karma, our new venture, coming soon!
>>
>
>
>
> --
> http://www.web-buddha.co.uk
>
> dynamic web programming from Reigate, Surrey UK (php, mysql, xhtml, css)
>
> look out for project karma, our new venture, coming soon!
>


Sorry for the bad code... Made a small test scenario..

php
<?php
    $xml = '<?xml version="1.0" encoding="utf-8"?>
    <xmlfeed>
<tournament>
    <tid>10035522</tid>
    <name>Texas Holdem</name>
    <game>Texas Holdem Poker</game>
    <buyin>5</buyin>
    <entryfee>0.5</entryfee>
    <currency>USD</currency>
    <state>Running</state>
    <players>110</players>
    <blindstructure>Normal NL 1</blindstructure>
    <type>Regular</type>
    <limit>No Limit</limit>
    <starttime>2006-04-24T07:00:00</starttime>
</tournament>

<tournament>
    <tid>10035126</tid>
    <name>Texas Holdem</name>
    <game>Texas Holdem Poker</game>
    <buyin>20</buyin>
    <entryfee>2</entryfee>
    <currency>USD</currency>
    <state>Running</state>
    <players>79</players>
    <blindstructure>Normal NL 1</blindstructure>
    <type>Regular</type>
    <limit>No Limit</limit>
    <starttime>2006-04-24T08:00:00</starttime>
</tournament>
</xmlfeed>';

$domXmlObj  = domxml_open_mem($xml);
$domXsltObj = domxml_xslt_stylesheet_file('./test.xsl');
$domTranObj = $domXsltObj->process($domXmlObj);

echo $domXsltObj->result_dump_mem($domTranObj);
?>

xsl:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:template match="/">

                <xsl:for-each select="xmlfeed/tournament">
      <xsl:if test="not(position() = 4)">
                <table id="top3table" cellspacing="0">
                    <tr class="odd"><th>Tid</th><td><xsl:value-of
select="tid" /></td></tr>
                    <tr><th>Type</th><td><xsl:value-of select="name"
/></td></tr>
                    <tr class="odd"><th>Game</th><td><xsl:value-of
select="game" /></td></tr>
                    <tr><th>Buy-In</th><td>$<xsl:value-of select="buyin"
/></td></tr>
                    <tr class="odd"><th>Status</th><td><xsl:value-of
select="state" /></td></tr>
                    <tr><th>Players</th><td><xsl:value-of select="players"
/></td></tr>
                    <tr class="odd"><th>Date / Time</th><td><xsl:value-of
select="starttime" /></td></tr>
                </table>
                <hr />
          </xsl:if>
                </xsl:for-each>
</xsl:template>
</xsl:stylesheet>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux