More info on XML TRANSFORM problem...works in IE6, just not ASP.net

Ask a Question related to ASP.NET General, Design and Development.

  1. #1

    Default Re: More info on XML TRANSFORM problem...works in IE6, just not ASP.net

    why don't you include the whole xml instances and the xsl...

    "KathyB" <KathyBurke40@attbi.com> wrote in message
    news:75e8d381.0306241141.49562787@posting.google.c om...
    > Sorry, I forgot to add that if I just drop the XML file (with all
    > levels of <step> elements into the browser (ie6), it works fine.
    >
    > So why would asp.net not work as well???
    >
    > Still desparate.
    >
    > Thanks, kathy

    PJ Guest

  2. Similar Questions and Discussions

    1. onMetaData info.duration==null in fms 3, works fine infms2, anyone else?
      Hi all, Anyone else seeing this? With the exact same code, onMetaData( info ) gives duration == null in fms 3, works fine in fms2. FMS 3: ...
    2. #39370 [NEW]: $_GET no longer works under FastCGI but works under CGI.
      From: trustpunk at gmail dot com Operating system: Windows PHP version: 6CVS-2006-11-04 (snap) PHP Bug Type: CGI related Bug...
    3. Transform as Unit problem with .pdfs.
      Hi all. I've come across a problem that I hope someone can help me with. I use Freehand 8.01 - had comp problems so had to reload the app. just...
    4. Problem with Adding info into an array
      In making an array: I have 7 checkboxes, which make up the array information. I currently use implode to make the array, however that array only...
    5. XML TRANSFORM - Serious problem - nested element causes Index error...why oh why???
      Hi, This problem is KILLING my project. I'm transforming an xml doc (step by step instruction documents) in asp.net web form. I've tried using...
  3. #2

    Default Re: More info on XML TRANSFORM problem...works in IE6, just not ASP.net

    Ok, here is the xml and xsl. Again, works fine in IE6 but Index errors
    in asp.net. Any solutions REALLY WELCOME...

    XML****************
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="KB_test.xsl"?>

    <work_instruction revision="B" doc_control_no="10-MS30-1000-037-B"
    dept="10-ME30">
    <title>EKRA E5 Screen Printer WI</title>
    <safety>
    <numbered_list>
    <listitem><para>Static prevention straps and lab coats must be worn at
    all
    times.</para></listitem>
    <listitem><para>Vinyl disposable gloves must be worn when handling
    solder
    paste and cleaning stencil and squeegee blades.</para></listitem>
    <listitem><para>Cotton gloves <emphasis>must be worn</emphasis> when
    handling bare boards to load
    into the Board Loader machine prior to printing.</para></listitem>
    </numbered_list>
    </safety>
    <tools_materials>
    <numbered_list>
    <listitem><para>Solder Paste - See Product Setup Sheet</para></listitem>
    <listitem><para>Squeegee Blades - See Product Setup
    Sheet</para></listitem>
    <listitem><para>Stencil - See Product Setup Sheet</para></listitem>
    <listitem><para>Stencil Wiper Paper</para></listitem>
    <listitem><para>Spatula</para></listitem>
    <listitem><para>Lint-free Paper Wipes</para></listitem>
    </numbered_list>
    </tools_materials>
    <process_steps>
    <step timer="no"><para>Switching ON the E5 Screen Printer.</para>
    <step timer="no"><para>Rotate the Main Switch located on the left side
    of the machine
    to the ON position. (This will supply power to both the machine and
    operator
    PCs.)</para>
    </step>
    <step timer="no"><para>Allow machine computer and operator computer to
    initialize. (The
    Main Menu appears on the screen. The machine program that was last
    active
    is loaded automatically. The front cover is unlocked.)</para>
    </step>
    <step timer="no"><para>Enter <emphasis>test measurement</emphasis>:
    <measure/></para>
    </step>
    <step timer="no"><para>Use the arrow keys to select the CONTROL menu
    item. Press the
    ENTER key. (The control unit is switched on; the status field changes to
    green).</para>
    </step>
    <step timer="no"><para>Use the arrow key to select the REFERENCE-DRIVE
    menu item. Press
    the ENTER key. (The field flashes green during reference-drive process
    and
    remains green after. All the motors, except the transport width motor,
    perform
    a reference drive).</para><para>THIS IS TO TEST THE SUBSEQUENT PARA
    TEMPLATE.</para>
    </step>
    </step>
    <step timer="no"><para>Setup.</para>
    <step timer="no"><para>Use the arrow key to select the FILE menu item.
    Press the ENTER
    key. (Pop-Up window with a list of available programs displays).</para>
    <step timer="no"><para>This is to test the third level
    STEP.</para></step>
    </step>
    <step timer="no"><para>Use the up and down arrow keys to select the file
    for the board
    you want to print, then using left and right arrow keys select the LOAD
    field.
    Press the ENTER key. (Screen: NAME OF PROGRAM: LOAD PROGRAMME? YES /
    NO.)</para>
    </step>
    <step timer="no"><para>Use the arrow key to select the YES. Press the
    ENTER key. (Screen:
    REMOVE ALL BOARDS FROM MACHINE! ADJUST TRANSPORT WIDTH? YES / NO /
    GAUGE.
    <unordered_list><listitem><para>This is to test the unordered list
    format.</para></listitem>
    <listitem><para>This is the second item in the unordered
    list.</para></listitem></unordered_list></para>
    </step>
    <step timer="no"><note>This is a test note.</note><para>Select YES if
    you want to change transport width (required if
    you are switching to another product) Select NO if you are switching
    from
    bottom side to top (the same board width).</para><para>Select GAUGE if
    you are loading the
    program for the first time after turning the machine ON. Press ENTER.
    (After loading
    file FINISHED item field is selected automatically. Press ENTER. The
    screen
    displays the Main Menu with the new program loaded).</para>
    </step>
    <step timer="no"><para>Put the board onto inlet rails (left side of the
    machine). Use
    the arrow key to <emphasis>select the TRANSPORT menu</emphasis> item.
    Press the ENTER key. (The
    board is transported into the machine).</para>
    </step>
    <step timer="no"><para>Use the arrow key to select the TABLE UP/DOWN
    menu item. Press
    the ENTER key. (Table moves up to the printing height).</para>
    </step>
    <step timer="no"><warning>This is a test warning...should appear in ALL
    CAPS.</warning><para>Make sure that SCREEN CLAMPING is off (status field
    is gray).
    Open front cover. Insert stencil and align it to the board manually as
    close
    as possible. Close front cover. Select SCREEN CLAMPING and press ENTER.
    (SCREEN
    CLAMPING Status field turns green).</para>
    </step>
    <step timer="no"><para>Use the arrow key to select the TABLE UP/DOWN
    menu item. Press
    the ENTER key. (Table moves to transport position).</para>
    </step>
    <step timer="no"><caution>This is a test Caution.</caution><para>Use the
    arrow key to select the TRANSPORT menu item. Press the
    ENTER key. (Board is unloaded from machine).</para>
    </step>
    <step timer="no"><para>Open the front cover. Install squeegee blades
    onto squeegee head,
    tight the screws firmly by hand, don't overtighten. Close the
    cover.</para></step>
    <step timer="no"><para>Enter second test measurement: <measure/></para>
    </step>
    </step>
    <step timer="no"><para>Applying Paste.</para>
    <step timer="no"><para>Apply a bead of paste about three-quarters of an
    inch in diameter to the front
    of the stencil, just ahead of the front-most aperture in the stencil.
    (Make
    sure that you do not place paste outside the squeegee blades' range of
    travel.)</para>
    </step>
    <step timer="no"><para>Move the Squeegee Head by hand forward to the
    front of the machine
    up to the stop position.</para>
    </step>
    <step timer="no"><para>Use the arrow key to select the SQUEEGEE UP/DOWN
    menu item. Press
    the ENTER key. (Squeegee Head moves down placing front squeegee in the
    printing
    position).</para>
    </step>
    </step>
    <step timer="no"><para>Print the Board Using Manual Mode.</para>
    <step timer="no"><para>Place the board on the inlet conveyor. Use the
    arrow key to select
    the TRANSPORT menu item. Press the ENTER key. (The board is transported
    into
    the machine and board and stencil fiducials are checked for
    alignment).</para>
    </step>
    <step timer="no"><para>Use the arrow key to select the TABLE UP/DOWN
    menu item. Press
    the ENTER key. (The table moves up to the printing height. At that
    moment
    you can open the front cover and check board-stencil alignment).</para>
    </step>
    <step timer="no"><para>Use the arrow key to select the PRINT menu item.
    Press and hold
    the ENTER key. (The squeegee head prints the board moving to the
    opposite
    starting position and stops there).</para>
    </step>
    <step timer="no"><para> Release the PRINT key. (Table moves down to the
    transport height
    automatically).</para>
    </step>
    <step timer="no"><para>If the Inspection program was taught (the status
    field is green)
    and Learn Paste function completed you can check the solder paste
    printing
    quality using machine vision system. Otherwise skip this step. Use the
    arrow
    key to select the INSPECTION menu item. Press the ENTER key. (Inspection
    starts.
    If failure occurs, you have the choice to continue inspection or reject
    the
    board.)</para>
    </step>
    <step timer="no"><para>Use the arrow key to select the TRANSPORT menu
    item. Press the
    ENTER key. (The board moves out of the machine).</para>
    </step>
    </step>
    <step timer="no"><para>Print the Board Using Automatic Mode.</para>
    <step timer="no"><para>Use the arrow key to select the AUTOMATIC menu
    item. Press the
    ENTER key. (The status field turns green. If the board is present on the
    inlet
    conveyor, process starts immediately. Once the printing process has been
    completed,
    the board is unloaded at the outlet side).</para>
    </step>
    </step>
    <step timer="no"><para>Stop Printing.</para>
    <step timer="no"><para>Automatic mode is quit automatically if a
    negative number has
    been entered in the counter and the board counter has reached zero.
    Also,
    the machine stops if the stack magazine is empty.</para>
    </step>
    <step timer="no"><para>To quit automatic mode during operation, use the
    arrow key to
    move to other function. The machine stops after completing current board
    printing
    cycle.</para>
    </step>
    </step>
    <step timer="no"><para>Solder Paste Height
    Inspection/Measurement.</para>
    <step timer="no"><para>At the beginning of each shift, change over, and
    new product run,
    a minimum of first TWO boards should be run through the measurement at
    SVS
    system to ensure that the printing is producing the acceptable results.
    During
    the subsequent run time a minimum of TWO up to a maximum of FOUR boards
    should
    be measured EVERY HOUR. Refer to <link url="\\bospubv02\doc
    control\Quality\10-QC30-1000-008-B">10-QC30-1000-008</link> for
    paste height measurement instructions.</para>
    </step>
    <step timer="no"><para>Using a lighted magnifying lens, visually inspect
    every 3rd or
    4th board for print quality. If the print is unsatisfactory, manually
    activate
    the stencil wiper and make sure that there is a sufficient amount of
    paste
    on the stencil. If this does not correct the problem, clean the stencil.
    If
    the print quality is still unsatisfactory, call a Machine Technician or
    your
    Group Leader or Line Manager for assistance.</para>
    </step>
    </step>
    <step timer="no"><para>Clean Mis-printed Boards.</para>
    </step>
    </process_steps>
    </work_instruction>

    XSL***********************
    <?xml version="1.0" ?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html"/>

    <!-- ================================================== ======= -->
    <!-- Standard On-Line Work Instruction Stylesheet 6/12/03 -->
    <!-- ================================================== ======= -->
    <xsl:template match="/">
    <html>
    <head>
    <style type="text/css">
    bgcolor="#FFFFFF"
    h1 {font-family: Verdana;color: blue;font-size:20pt
    font-weight:bold;margin-top:0;margin-bottom:0}
    h2 {font-family: Verdana;color: red;font-size:18pt
    font-weight:bold;margin-top:0;margin-bottom:0}
    h3 {font-family: Verdana;color:
    white;font-size:14pt;font-weight:bold;margin-top:0;margin-bottom:0}
    body {font-family: Verdana;color: black;font-size:12pt}
    p {font-family: Verdana;color: black;font-size:12pt}
    h4 {font-family: Verdana;color:
    white;font-size:12pt;font-weight:bold;text-transform:
    uppercase;margin-top:0;margin-bottom:0}
    h5 {font-family: Verdana;color:
    white;font-size:12pt;font-weight:bold;margin-top:0;margin-bottom:0}
    h6 {font-family: Verdana;color:
    black;font-size:12pt;font-weight:bold;margin-top:0;margin-bottom:0}
    </style>
    <title>Example of XSLT</title>
    </head>
    <body>
    <h1><xsl:value-of select="/work_instruction/title"/></h1>
    <form method="POST">
    <xsl:apply-templates/>
    </form>
    </body>
    </html>
    </xsl:template>

    <xsl:template match="safety">
    <table border="1" width="100%" cellpadding="4">
    <tr bgcolor="red" valign="middle">
    <th colspan="2" align="left">
    <h3>SAFETY</h3>
    </th></tr>
    <xsl:apply-templates select="numbered_list/listitem" mode="safety"
    />
    </table>
    <br />
    </xsl:template>
    <xsl:template match="listitem" mode="safety">
    <tr><td>
    <table border="0">
    <tr>
    <td valign="top"><xsl:number level="multiple" format="1. "
    count="listitem" />&#160;</td>
    <td valign="top"><xsl:apply-templates/></td>
    </tr>
    </table>
    </td></tr>
    </xsl:template>

    <xsl:template match="tools_materials">
    <table border="1" width="100%" cellpadding="4">
    <tr bgcolor="orange" valign="middle">
    <th colspan="3" align="left">
    <h3>TOOLS AND MATERIALS</h3>
    </th></tr>
    <tr><td><b>Tool/Material</b></td><td align="center"><b>Jabil Part
    No.</b></td>
    </tr>
    <xsl:apply-templates select="numbered_list/listitem"
    mode="tools_materials" />
    </table>
    <br />
    </xsl:template>
    <xsl:template match="listitem" mode="tools_materials">
    <tr><td>
    <table border="0">
    <tr>
    <td valign="top"><xsl:number level="multiple" format="1. "
    count="listitem" />&#160;</td>
    <td valign="top"><xsl:apply-templates/></td>
    </tr>
    </table>
    <td valign="top">&#160;</td>
    </td></tr>
    </xsl:template>

    <xsl:template match="process_steps">
    <table border="1" width="100%" cellpadding="4">
    <tr bgcolor="blue" valign="middle">
    <th align="left" colspan="4">
    <h3>PROCESS STEPS</h3>
    </th>
    <tr bgcolor="green" valign="middle">
    <td align="center" valign="top">
    <input type="button" name="Start" value="START"></input></td>
    <td align="left"><font color="white"><b>Click the START button to
    begin the work instruction.</b></font></td></tr>

    <xsl:apply-templates/>
    </tr>
    <tr bgcolor="red" valign="middle">
    <td align="center" valign="top">
    <input type="button" name="Finish" value="FINISH"></input></td>
    <td align="left"><font color="white"><b>Click the FINISH button when
    work instruction is complete.</b></font></td></tr>
    </table>
    </xsl:template>
    <xsl:template match="step">
    <xsl:variable name="space" select="(count(ancestor::step) * 12 + 1) *
    7"/>
    <tr onMouseOver="this.bgColor = '#00FFFF'" onMouseOut ="this.bgColor =
    '#FFFFFF'" >
    <td align="center" valign="top">
    <!-- xsl:apply-templates select="@timer[.='yes']"/ -->
    <xsl:attribute name="Anomaly"></xsl:attribute>
    <input type="button" value="Anomaly"></input>
    </td>
    <td valign="top">
    <table width="100%" border="0" cellpadding="0">
    <tr>
    <td valign="top" width="{$space}">
    <table border="0" cellpadding="0">
    <tr>
    <td valign="top" width="{$space}">&#160;&#160;</td>
    <td valign="top">
    <xsl:number level="multiple" count="step" format="1.1"/>
    <xsl:if test="not(ancestor::step)">
    <xsl:text>.</xsl:text>
    </xsl:if>
    <xsl:text>&#160;&#160;</xsl:text>
    </td>
    </tr>
    </table>
    </td>
    <td>
    <xsl:apply-templates select="*[not(self::step)]"/>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    <xsl:apply-templates select="step"/>
    </xsl:template>

    <xsl:template match="@timer">
    <xsl:if test=".='yes'">
    <xsl:attribute name="Start"></xsl:attribute>
    <input type="button" value="Start"></input>
    <xsl:attribute name="Finish"></xsl:attribute>
    <td align="center" valign="top">
    <input type="button" value="Finish"></input></td>
    </xsl:if>
    <td align="center" valign="top">
    <xsl:attribute name="Anomaly"></xsl:attribute>
    <input type="button" value="Anomaly"></input></td>
    </xsl:template>


    <xsl:template match="para">
    <p><xsl:apply-templates/></p>
    </xsl:template>

    <xsl:template match="measure">
    <input type="text" name="@name" value="{.}"/>&#160;&#160;
    <input type="button" value="Verify"/>
    </xsl:template>

    <xsl:template match="unordered_list">
    <table align="left"><br />
    <xsl:apply-templates select="listitem" mode="ul"/></table>
    </xsl:template>
    <xsl:template match="listitem" mode="ul">
    <tr><td valign="top">•</td>
    <td valign="top"><xsl:apply-templates select="."/></td></tr>
    </xsl:template>

    <!-- format and set html tags for subelements -->

    <xsl:template match="warning">
    <table>
    <tr bgcolor="red" valign="middle">
    <td>
    <h4>WARNING: <xsl:value-of select="."/></h4>
    </td><xsl:apply-templates select="warning"/>
    </tr>
    </table>
    </xsl:template>

    <xsl:template match="caution">
    <table>
    <tr bgcolor="blue" valign="middle">
    <td>
    <h5>CAUTION: <xsl:value-of select="."/></h5>
    </td><xsl:apply-templates select="caution"/>
    </tr>
    </table>
    </xsl:template>

    <xsl:template match="note">
    <table>
    <tr bgcolor="yellow" align="middle">
    <td>
    <h6>Note: <xsl:value-of select="."/></h6>
    </td><xsl:apply-templates select="note"/>
    </tr>
    </table>
    </xsl:template>

    <xsl:template match="emphasis">
    <b><xsl:apply-templates/></b>
    </xsl:template>

    <xsl:template match="link">
    <a target="_blank" href="{@url}"><xsl:apply-templates/></a>
    </xsl:template>


    <!-- Remove the Title element from content -->

    <xsl:template match="title"/>

    </xsl:stylesheet>

    KathyBurke

    *** Sent via Developersdex [url]http://www.developersdex.com[/url] ***
    Don't just participate in USENET...get rewarded for it!
    Kathy Burke Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139