Re: MVP? Index error on nested element using System.xml but NOT using msxml???

Discussion in 'ASP .Net' started by William F. Robertson, Jr., Jun 25, 2003.

  1. I would love to help you, but without seeing some code, I can't do anything.

    <frown>

    bill

    "KathyB" <> wrote in message
    news:...
    > Hi, no one has answered my posts regarding this problem...PLEASE HELP
    > ME.
    >
    > I'm getting an index exception running an xml/xsl transform in .net
    > (using System.xml both code AND an asp:xml control), but it WORKS
    > using IE5.5 and 6 using both msxml 3 and 4, WHY? It hangs when more
    > than 2 levels of nested elements are used <step> as in an outline of
    > steps (1., 1.1, 1.1.1)
    >
    > Is there any way I can get around this? This is KILLING my project and
    > I'm the one who's been pushing the whole xml usage in .net
    > framework!!!
    >
    > TIA, Kathy (desparately crazy, Kathy!)
    William F. Robertson, Jr., Jun 25, 2003
    #1
    1. Advertising

  2. William F. Robertson, Jr.

    Kathy Burke Guest

    I've posted it...but here it is again...THANKS! I, of course, comment
    out line 2 xml-stylesheet when running in .net.

    KathyBurke

    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 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>
    </step>
    </process_steps>
    </work_instruction>

    XSL****************(sorry, kind of long...but pretty!)
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:eek:utput 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" /> </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" /> </td>
    <td valign="top"><xsl:apply-templates/></td>
    </tr>
    </table>
    <td valign="top"> </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}">  </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>  </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="{.}"/>  
    <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>

    *** Sent via Developersdex http://www.developersdex.com ***
    Don't just participate in USENET...get rewarded for it!
    Kathy Burke, Jun 25, 2003
    #2
    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:
    961
    KathyB
    Jun 24, 2003
  2. KathyB
    Replies:
    0
    Views:
    1,004
    KathyB
    Jun 25, 2003
  3. Kathy Burke
    Replies:
    3
    Views:
    363
    Kathy Burke
    Jul 18, 2003
  4. Steven Burn

    Warning: MVP.org is not a Microsoft MVP site

    Steven Burn, Jan 10, 2004, in forum: ASP General
    Replies:
    7
    Views:
    161
    Jeff Cochran
    Jan 12, 2004
  5. Tomasz Chmielewski

    sorting index-15, index-9, index-110 "the human way"?

    Tomasz Chmielewski, Mar 4, 2008, in forum: Perl Misc
    Replies:
    4
    Views:
    270
    Tomasz Chmielewski
    Mar 4, 2008
Loading...

Share This Page