Ask a Question related to ASP.NET General, Design and Development.
-
PJ #1
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
-
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: ... -
#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... -
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... -
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... -
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... -
Kathy Burke #2
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" /> </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>
KathyBurke
*** Sent via Developersdex [url]http://www.developersdex.com[/url] ***
Don't just participate in USENET...get rewarded for it!
Kathy Burke Guest



Reply With Quote

