nightmare with ASP, IIS6 & VC6 PSDK

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Andrew Wan

    nightmare with ASP, IIS6 & VC6 PSDK

    I have been having a nightmare with ASP/ASP.NET & IIS6.

    We use Msxml2.DOMDocum ent.4.0 object to create a XML object in ASP. The
    Msxml2.DOMDocum ent.4.0 is from the Windows Platform SDK Feb 2003 (the last
    version compatible with VC6). Then we use
    TranslateXSLT(X MLDocument.tran sformNode) passing in a xsl file path. Our
    pages work perfectly fine under IIS5 & IIS6 onsite. However strange things
    happening at our clients IIS6:

    - transformation just displays the xml nodes instead of the html code.

    Probably it's nothing to do with IIS6. Maybe it's Msxml2.DOMDocum ent.4.0
    from Platform SDK Feb 2003?

    Anyone has any ideas?




  • Alex Blekhman

    #2
    Re: nightmare with ASP, IIS6 & VC6 PSDK

    "Andrew Wan" wrote:
    I have been having a nightmare with ASP/ASP.NET & IIS6.
    >
    We use Msxml2.DOMDocum ent.4.0 object to create a XML
    object in ASP. The
    Msxml2.DOMDocum ent.4.0 is from the Windows Platform SDK
    Feb 2003 (the last
    version compatible with VC6). Then we use
    TranslateXSLT(X MLDocument.tran sformNode) passing in a xsl
    file path. Our
    pages work perfectly fine under IIS5 & IIS6 onsite.
    However strange things
    happening at our clients IIS6:
    >
    - transformation just displays the xml nodes instead of
    the html code.
    >
    Probably it's nothing to do with IIS6. Maybe it's
    Msxml2.DOMDocum ent.4.0
    from Platform SDK Feb 2003?

    Just shooting in the air. Did you specify output type within
    XSLT file? For HTML output it should be this:

    <xsl:output method="html"/>


    Alex


    Comment

    • Andrew Wan

      #3
      Re: nightmare with ASP, IIS6 &amp; VC6 PSDK

      Just shooting in the air. Did you specify output type within XSLT file?
      For HTML output it should be this:
      >
      <xsl:output method="html"/>
      >
      Sorry, actually it's outputting html fine. However the logic condition
      <xsl:when test="$var = 'here'"></xsl:whenis not working we believe. All
      other text variables are assigned correctly using <xsl:variablebu t I
      believe the test is failing on our client IIS but works on our IIS.

      Is this a possibility?


      Comment

      • Alex Blekhman

        #4
        Re: nightmare with ASP, IIS6 &amp; VC6 PSDK

        "Andrew Wan" wrote:
        >Just shooting in the air. Did you specify output type
        >within XSLT file? For HTML output it should be this:
        >>
        > <xsl:output method="html"/>
        >>
        >
        Sorry, actually it's outputting html fine. However the
        logic condition <xsl:when test="$var = 'here'"></xsl:when>
        is not working we believe. All other text variables are
        assigned correctly using <xsl:variablebu t I believe the
        test is failing on our client IIS but works on our IIS.
        >
        Is this a possibility?

        I have hard time believeing that the same version of XSLT
        processor behaves differently on other machine. Probably
        `$var' contains something different than "here". You can try
        `ms:string-compare' function if you need case insensitive or
        language dependant comparison.

        Alex

        Comment

        • =?Utf-8?B?UGV0ZXIgQnJvbWJlcmcgW0MjIE1WUF0=?=

          #5
          RE: nightmare with ASP, IIS6 &amp; VC6 PSDK

          Andrew,
          Is this classic ASP? If so, you're posting to the ASP.NET Group. Try the asp
          group.
          Peter

          --
          Site: http://www.eggheadcafe.com
          UnBlog: http://petesbloggerama.blogspot.com
          Short urls & more: http://ittyurl.net




          "Andrew Wan" wrote:
          I have been having a nightmare with ASP/ASP.NET & IIS6.
          >
          We use Msxml2.DOMDocum ent.4.0 object to create a XML object in ASP. The
          Msxml2.DOMDocum ent.4.0 is from the Windows Platform SDK Feb 2003 (the last
          version compatible with VC6). Then we use
          TranslateXSLT(X MLDocument.tran sformNode) passing in a xsl file path. Our
          pages work perfectly fine under IIS5 & IIS6 onsite. However strange things
          happening at our clients IIS6:
          >
          - transformation just displays the xml nodes instead of the html code.
          >
          Probably it's nothing to do with IIS6. Maybe it's Msxml2.DOMDocum ent.4.0
          from Platform SDK Feb 2003?
          >
          Anyone has any ideas?
          >
          >
          >
          >
          >

          Comment

          • David Wang

            #6
            Re: nightmare with ASP, IIS6 &amp; VC6 PSDK

            Do you and your client have the same msxml4.dll binary in %windir%
            \System32 ?

            msxml4.dll is 32bit-only and does not ship as a part of any version of
            Windows, so you both have to install its Redistributable separately...
            and the question is whether you are using the same binary version.

            I suspect you are not using the same msxml4.dll as your client, and
            either you have fix or the customer has a regression in msxml4.dll.
            There have been patches of msxml4.dll.

            In which case this issue has nothing to do with ASP, IIS6, VC6, nor
            ASP.Net, so take back your claims of a nightmare with that
            combination! :-)


            //David
            David Wang on IIS, ISAPI, Virtual Server, and whatever else I fancy...


            //



            On Feb 15, 10:01 am, "Andrew Wan" <andrew_wan1... @hotmail.comwro te:
            Just shooting in the air. Did you specify output type within XSLT file?
            For HTML output it should be this:
            >
            <xsl:output method="html"/>
            >
            Sorry, actually it's outputting html fine. However the logic condition
            <xsl:when test="$var = 'here'"></xsl:whenis not working we believe. All
            other text variables are assigned correctly using <xsl:variablebu t I
            believe the test is failing on our client IIS but works on our IIS.
            >
            Is this a possibility?

            Comment

            • Jon Paal

              #7
              Re: nightmare with ASP, IIS6 &amp; VC6 PSDK

              try here:

              microsoft.publi c.xsl



              "Peter Bromberg [C# MVP]" <pbromberg@yaho o.yabbadabbadoo .comwrote in message
              news:A4F7A161-AD73-4044-BA27-691BC60F82D0@mi crosoft.com...
              Andrew,
              Is this classic ASP? If so, you're posting to the ASP.NET Group. Try the asp
              group.
              Peter
              >
              --
              Site: http://www.eggheadcafe.com
              UnBlog: http://petesbloggerama.blogspot.com
              Short urls & more: http://ittyurl.net
              >
              >
              >
              >
              "Andrew Wan" wrote:
              >
              >I have been having a nightmare with ASP/ASP.NET & IIS6.
              >>
              >We use Msxml2.DOMDocum ent.4.0 object to create a XML object in ASP. The
              >Msxml2.DOMDocu ment.4.0 is from the Windows Platform SDK Feb 2003 (the last
              >version compatible with VC6). Then we use
              >TranslateXSLT( XMLDocument.tra nsformNode) passing in a xsl file path. Our
              >pages work perfectly fine under IIS5 & IIS6 onsite. However strange things
              >happening at our clients IIS6:
              >>
              > - transformation just displays the xml nodes instead of the html code.
              >>
              >Probably it's nothing to do with IIS6. Maybe it's Msxml2.DOMDocum ent.4.0
              >from Platform SDK Feb 2003?
              >>
              >Anyone has any ideas?
              >>
              >>
              >>
              >>
              >>

              Comment

              • Andrew Wan

                #8
                Re: nightmare with ASP, IIS6 &amp; VC6 PSDK

                I am aware there are two XSLT versions (1.0 and 2.0). Also my conditional
                logic is like:

                <xsl:choose>
                <xsl:when test="$var = 'here'"></xsl:when>
                <xsl:otherwis e>
                <xsl:call-template name="Toolbar1"/>
                </xsl:otherwise>
                </xsl:choose>

                When $var does contain 'here', the call-template still gets executed. So am
                wondering whether XSLT 2.0 bypasses a xsl:when clause when it's empty?



                "Alex Blekhman" <xfkt@oohay.moc wrote in message
                news:ed8S6uTUHH A.3996@TK2MSFTN GP04.phx.gbl...
                "Andrew Wan" wrote:
                >>Just shooting in the air. Did you specify output type within XSLT file?
                >>For HTML output it should be this:
                >>>
                >> <xsl:output method="html"/>
                >>>
                >>
                >Sorry, actually it's outputting html fine. However the logic condition
                ><xsl:when test="$var = 'here'"></xsl:whenis not working we believe. All
                >other text variables are assigned correctly using <xsl:variablebu t I
                >believe the test is failing on our client IIS but works on our IIS.
                >>
                >Is this a possibility?
                >
                >
                I have hard time believeing that the same version of XSLT processor
                behaves differently on other machine. Probably `$var' contains something
                different than "here". You can try `ms:string-compare' function if you
                need case insensitive or language dependant comparison.
                >
                Alex

                Comment

                • Anthony Jones

                  #9
                  Re: nightmare with ASP, IIS6 &amp; VC6 PSDK


                  "Andrew Wan" <andrew_wan1980 @hotmail.comwro te in message
                  news:e9lkzPcUHH A.4744@TK2MSFTN GP02.phx.gbl...
                  I am aware there are two XSLT versions (1.0 and 2.0). Also my conditional
                  logic is like:
                  >
                  <xsl:choose>
                  <xsl:when test="$var = 'here'"></xsl:when>
                  <xsl:otherwis e>
                  <xsl:call-template name="Toolbar1"/>
                  </xsl:otherwise>
                  </xsl:choose>
                  >
                  When $var does contain 'here', the call-template still gets executed. So
                  am
                  wondering whether XSLT 2.0 bypasses a xsl:when clause when it's empty?
                  >
                  >
                  I note this Q has not yet appeared in microsoft.publi c.xsl. You really
                  should post it there you will get more focused support there than here.


                  Comment

                  • Alex Blekhman

                    #10
                    Re: nightmare with ASP, IIS6 &amp; VC6 PSDK

                    "Andrew Wan" wrote:
                    I am aware there are two XSLT versions (1.0 and 2.0). Also
                    my conditional logic is like:
                    >
                    <xsl:choose>
                    <xsl:when test="$var = 'here'"></xsl:when>
                    <xsl:otherwis e>
                    <xsl:call-template name="Toolbar1"/>
                    </xsl:otherwise>
                    </xsl:choose>
                    >
                    When $var does contain 'here', the call-template still
                    gets executed. So am wondering whether XSLT 2.0 bypasses a
                    xsl:when clause when it's empty?

                    First of all, MSXML4 supports XSLT v1.0. Moreover, you must
                    specify XSLT version with `version' attribute of
                    `xsl:stylesheet ' element:

                    <xsl:styleshe et
                    version="1.0"
                    xmlns:xsl="http ://www.w3.org/1999/XSL/Transform">
                    ....
                    </xsl:stylesheet>

                    Second, you can spare redundant `xsl:otherwise' element if
                    you use `!=' operator:

                    <xsl:when test="$var != 'here'">
                    ...
                    </xsl:when>

                    Actually, in the code you posted, the whole `xsl:choose' can
                    be replacd with single `xsl:if':

                    <xsl:if test="$var != 'here'">
                    <xsl:call-template name="Toolbar1"/>
                    </xsl:if>

                    Also, if you have an access to Visual Studio 2005 or
                    Altova's XMLSpy, then you will be able to debug XSLT
                    processing step by step and examine variables during
                    transformation.

                    HTH
                    Alex

                    Comment

                    • Alex Krawarik [MSFT]

                      #11
                      Re: nightmare with ASP, IIS6 &amp; VC6 PSDK

                      Some good suggestions going on in this thread; outside of the implementation
                      details, I'd like to reenforce a few things:

                      At this time, Microsoft only supports XSLT 1.0 in *all* of its native and
                      managed XSLT engine implementations . XSLT 2.0 became a recommendation a very
                      short while ago and we are working towards that end, but the XSLT spec
                      version is not your issue here.

                      We have been trying to get the message out: when possible, do not develop
                      against MSXML 4.0. It's nearing its end of life, which means at some point
                      in the future it will stop being supported in the browser, and on future
                      versions of Windows. As others have mentioned, its also an x86-only binary.
                      When possible use MSXML 6.0. MSXML 6.0 supports ia64 and x64 as well as x86,
                      and we are working very hard to increase its installed base. If you are
                      concerned about the currently installed base (re: MSXML 6.0), and are not
                      redisting MSXML yourself, then develop against MSXML 3.0, which is quite
                      up-to-date wrt security and reliability and is found on every supported
                      Windows platform.

                      IF your issue does in fact turn out to be due to a regression in MSXML 4 on
                      one sever vs the other, I'd love to know about it. (Pls send a repro my
                      way.)


                      "David Wang" <w3.4you@gmail. comwrote in message
                      news:1171589749 .946235.196360@ p10g2000cwp.goo glegroups.com.. .
                      Do you and your client have the same msxml4.dll binary in %windir%
                      \System32 ?
                      >
                      msxml4.dll is 32bit-only and does not ship as a part of any version of
                      Windows, so you both have to install its Redistributable separately...
                      and the question is whether you are using the same binary version.
                      >
                      I suspect you are not using the same msxml4.dll as your client, and
                      either you have fix or the customer has a regression in msxml4.dll.
                      There have been patches of msxml4.dll.
                      >
                      In which case this issue has nothing to do with ASP, IIS6, VC6, nor
                      ASP.Net, so take back your claims of a nightmare with that
                      combination! :-)
                      >
                      >
                      //David
                      David Wang on IIS, ISAPI, Virtual Server, and whatever else I fancy...


                      //
                      >
                      >
                      >
                      On Feb 15, 10:01 am, "Andrew Wan" <andrew_wan1... @hotmail.comwro te:
                      Just shooting in the air. Did you specify output type within XSLT file?
                      For HTML output it should be this:
                      >>
                      <xsl:output method="html"/>
                      >>
                      >Sorry, actually it's outputting html fine. However the logic condition
                      ><xsl:when test="$var = 'here'"></xsl:whenis not working we believe. All
                      >other text variables are assigned correctly using <xsl:variablebu t I
                      >believe the test is failing on our client IIS but works on our IIS.
                      >>
                      >Is this a possibility?
                      >

                      Comment

                      Working...