XML and XSL through MSXML

Discussion in 'XML' started by Variable, Jan 28, 2005.

  1. Variable

    Variable Guest

    I have a webpage where I'm opening an XML page with MSXML, pushing it
    through an XSL file to generate some HTML which is incorporated into
    the body of the main HTML page. I have other pages where this all
    works great. One page, however, seems to bypass the a for-each
    iteration, and I can't understand why. I've used XMLSpy to validate
    the XML and XSL, and as far as I can see, the simulated generation
    through XMLSpy is correct.

    Here is a sample of my XML, XSL.
    ---------------------------------------------------------
    <?xml version="1.0" standalone="no" ?>
    <WCP>
    <action type="get_stats">
    <swbf stattype="summary">
    <hostname>1.2.3.4</hostname>
    <port>12345</port>
    <gamename>Blah</gamename>
    <mapname map="map1">Unknown</mapname>
    <maxplayers>25</maxplayers>
    <players numplayers="2">
    <member kills="1" deaths="2">Bob</member>
    <member kills="1" deaths="2">Tim</member>
    </players>
    <status>0</status>
    <detailsURL>
    <![CDATA[ <a
    href="swbf_details.asp?host=1.2.3.4&port=12345">Details</a>
    ]]>
    </detailsURL>
    </swbf>
    </action>
    </WCP>
    ---------------------------------------------------------

    ---------------------------------------------------------
    <?xml version="1.0" encoding="utf-8"?>

    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="2.0">
    <xsl:eek:utput method="html" />

    <xsl:template match="/WCP/action/swbf">
    <xsl:if test="@stattype='summary'">
    <xsl:value-of select="hostname" />:<xsl:value-of select="port"
    /><br />
    <xsl:choose>
    <xsl:when test="players/@numplayers = 0">
    No players currently in the game
    </xsl:when>
    <xsl:eek:therwise>
    <xsl:for-each select="players/member">
    <xsl:value-of select="text()" /> -
    <xsl:value-of select="@team" /> -
    <xsl:value-of select="@kills" /> -
    <xsl:value-of select="@deaths" /><br />
    </xsl:for-each>
    </xsl:eek:therwise>
    </xsl:choose>
    </xsl:if>
    </xsl:template>
    </xsl:stylesheet>
    ---------------------------------------------------------

    When the above XML is pushed through the XSL stylesheet with MSXML,
    only the host name will show up. But when run through XMLSpy, the
    hostname and all the players show up.

    Any ideas? Thanks!
     
    Variable, Jan 28, 2005
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. KathyB
    Replies:
    0
    Views:
    1,036
    KathyB
    Jun 25, 2003
  2. Replies:
    2
    Views:
    4,403
  3. Replies:
    1
    Views:
    3,637
    A. Bolmarcich
    May 27, 2005
  4. hagar
    Replies:
    1
    Views:
    389
    Simon Brooke
    Oct 19, 2006
  5. Candle
    Replies:
    2
    Views:
    4,468
Loading...

Share This Page