Hi,
The output from xsltc transformation is abnormal
when the input xml contains ". Using xsltc i
have compiled the style sheets inot a jar file
which i am using for transformation.
This is the input xml passed to the xsltc compiler:-
<DIOQSRESP>
<TITLE>"ALL PENDING PROVISIONING ORDERS BY FRAME DUE
DATE",</TITLE>
<RECORD>
<TEXT>LOC(7,5) IS"_____";</TEXT>
<MASK>"_____"</MASK>
</RECORD>
<ECAGR>
<ECMSG>Operation successful</ECMSG>
<ECSERVER>ebizz1</ECSERVER>
<ECHARMPID>32260</ECHARMPID>
</ECAGR>
</DIOQSRESP>
The output that i am expecting in HTML is LOC(7,5) IS"_____".
i.e th text in <TEXT>LOC(7,5) IS"_____";</TEXT> tag
should be converted to LOC(7,5) IS"_____";
But right now i am getting it as LOC(7,5) IS.
I am attaching the xsl which acts on the <DIOQSRESP> element (OQS.xsl)
Any ideas?
Thanks in Advance
Balaji
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:ifas="ifas.uri"
exclude-result-prefixes="ifas"
>
<xsl:template match="/" mode="OQS">
<xsl:apply-templates mode="OQS"/>
</xsl:template>
<xsl:template match="ROOT" mode="OQS">
<xsl:choose>
<xsl:when test="string-length(OQS_INPUT/QUERY)">
<table class="maxwidth">
<tr>
<th class="center" width="33%">OQS Query</th>
<th class="center" width="33%">OQS Database</th>
<th class="center" width="33%">OQS User</th>
</tr>
<tr>
<td class="center"><b><xsl:value-of select="OQS_INPUT/QUERY"/></b></td>
<td class="center"><b><xsl:value-of select="OQS_INPUT/DB"/></b></td>
<td class="center"><b><xsl:value-of select="OQS_INPUT/USER"/></b></td>
</tr>
</table>
<xsl:choose>
<xsl:when test="OQS_INPUT/ENVHDR/CM/ERR/ERRN > 0">
<table class="maxwidth">
<tr><td class="message">OQS was unable to process your request</td></tr>
<tr><td class="error"><xsl:value-of select='OQS_INPUT/ENVHDR/CM/ERR/ERRMSG'/></td></tr>
<xsl:apply-templates select="OQS_INPUT/ENVHDR/HOSTRESP" mode="HOST_RESP"/>
</table>
<xsl:call-template name="addOQSEntryForm"/>
</xsl:when>
<xsl:otherwise>
<br/>
<form name="MAINFORM" method="POST" style="display:none">
<input type="hidden" name="OQS_COMMAND" FORCE-VALUE="REPORT"/>
<input type="hidden" name="QUERY" FORCE-VALUE="{OQS_INPUT/QUERY}"/>
<input type="hidden" name="DB" FORCE-VALUE="{OQS_INPUT/DB}"/>
<input type="hidden" name="USER" FORCE-VALUE="{OQS_INPUT/USER}"/>
<input type="hidden" name="TITLE" FORCE-VALUE="{OQS_INPUT/DIOQSRESP/TITLE}"/>
<input type="hidden" name="NUM_INPUTS" FORCE-VALUE="{count(OQS_INPUT/DIOQSRESP/RECORD)}"/>
<table class="maxwidth">
<tr><th colspan="2" class="center"><xsl:value-of select="OQS_INPUT/DIOQSRESP/TITLE"/></th></tr>
<xsl:for-each select="OQS_INPUT/DIOQSRESP/RECORD">
<xsl:variable name="POS" select="position()"/>
<xsl:variable name="LEN" select="string-length(MASK)"/>
<xsl:variable name="SIZE" select="$LEN + 7"/>
<tr>
<td class="left" width="50%"><b><xsl:value-of select="TEXT"/></b></td>
<td class="left">
<input type="HIDDEN" name="TEXT_{$POS}" FORCE-VALUE="{TEXT}"/>
<xsl:choose>
<xsl:when test="MASK='"____","____","____","____","____"'">
<input type="HIDDEN" name="TYPE_{$POS}" FORCE-VALUE="FIVE_BY_FOUR"/>
<input type="TEXT" name="VAL_{$POS}" size="5" INPUT-TYPE="IDENTIFIER" CHECK-MINLENGTH="1" CHECK-MAXLENGTH="4" REQUIRED-WHEN="Y"/> 
<input type="TEXT" name="VAL_{$POS}_MORE_1" size="5" INPUT-TYPE="IDENTIFIER" CHECK-MINLENGTH="1" CHECK-MAXLENGTH="4" ERR-FIELD="VAL_{$POS}_ERR"/> 
<input type="TEXT" name="VAL_{$POS}_MORE_2" SHOW-WHEN="SELF:VAL_{$POS}_MORE_1=*" size="5" INPUT-TYPE="IDENTIFIER" CHECK-MINLENGTH="1" CHECK-MAXLENGTH="4" ERR-FIELD="VAL_{$POS}_ERR"/> 
<input type="TEXT" name="VAL_{$POS}_MORE_3" SHOW-WHEN="SELF:VAL_{$POS}_MORE_2=*" size="5" INPUT-TYPE="IDENTIFIER" CHECK-MINLENGTH="1" CHECK-MAXLENGTH="4" ERR-FIELD="VAL_{$POS}_ERR"/> 
<input type="TEXT" name="VAL_{$POS}_MORE_4" SHOW-WHEN="SELF:VAL_{$POS}_MORE_3=*" size="5" INPUT-TYPE="IDENTIFIER" CHECK-MINLENGTH="1" CHECK-MAXLENGTH="4" ERR-FIELD="VAL_{$POS}_ERR"/>
</xsl:when>
<xsl:when test='substring(MASK,1,1)="'" and substring(MASK,$LEN,1)="'" and substring(MASK,2,$LEN - 2)=substring("________________________________________",1,$LEN - 2)'>
<input type="HIDDEN" name="TYPE_{$POS}" FORCE-VALUE="IDENTIFIER_SINGLE"/>
<input type="TEXT" name="VAL_{$POS}" size="{$SIZE}" INPUT-TYPE="IDENTIFIER" CHECK-MINLENGTH="1" CHECK-MAXLENGTH="{$LEN - 2}" REQUIRED-WHEN="Y"/>
</xsl:when>
<xsl:when test="substring(MASK,1,1)='"' and substring(MASK,$LEN,1)='"' and substring(MASK,2,$LEN - 2)=substring('________________________________________',1,$LEN - 2)">
<input type="HIDDEN" name="TYPE_{$POS}" FORCE-VALUE="IDENTIFIER"/>
<input type="TEXT" name="VAL_{$POS}" size="{$SIZE}" INPUT-TYPE="IDENTIFIER" CHECK-MINLENGTH="1" CHECK-MAXLENGTH="{$LEN - 2}" REQUIRED-WHEN="Y"/>
</xsl:when>
<xsl:when test="MASK='__/__/__'">
<input type="HIDDEN" name="TYPE_{$POS}" FORCE-VALUE="DATE"/>
<input type="TEXT" name="VAL_{$POS}" size="10" REQUIRED-WHEN="Y" INPUT-TYPE="DATE:NOW"/>
</xsl:when>
<xsl:when test="MASK='__/__/__ TO __/__/__'">
<input type="HIDDEN" name="TYPE_{$POS}" FORCE-VALUE="DATE_RANGE"/>
<input type="TEXT" name="START_VAL_{$POS}" size="10" REQUIRED-WHEN="Y" INPUT-TYPE="DATE:NOW" ERR-FIELD="VAL_{$POS}_ERR"/>
 <b>TO</b> 
<input type="TEXT" name="END_VAL_{$POS}" size="10" REQUIRED-WHEN="Y" INPUT-TYPE="DATE:NOW" ERR-FIELD="VAL_{$POS}_ERR"/>
</xsl:when>
<xsl:otherwise>
<input type="HIDDEN" name="TYPE_{$POS}" FORCE-VALUE="OTHER"/>
<input type="TEXT" name="VAL_{$POS}" size="{$SIZE}" CHECK-MAXLENGTH="{$LEN}" REQUIRED-WHEN="Y" DEFAULT-VALUE="{MASK}"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<tr>
<td/>
<td class="fieldError" id="VAL_{$POS}_ERR"/>
</tr>
</xsl:for-each>
<tr><td><br/></td></tr>
<tr><th colspan="2">Report Options</th></tr>
<tr><td class="left" colspan="2"><input name="LAST_PAGE_ONLY" type="CHECKBOX"/> Return Last Page of Report Only</td></tr>
</table>
</form>
<table class="maxwidth">
<xsl:call-template name="AddSubmit"/>
</table>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="string-length(SEARCH/HEADING)">
<form name="SEARCHSAVEFORM" method="POST" style="display:none">
<input type="hidden" name="SAVE_SEARCH"/>
<input type="hidden" name="FILE_EXT" value="{/ROOT/SAVED_FILE/FILE_EXT}"/>
<input type="hidden" name="OQS_COMMAND" value="SAVED"/>
<input type="hidden" name="REPLACE_EXT" value="{/ROOT/SAVED_FILE/REPLACE_EXT}"/>
</form>
<form name="MAINFORM" method="POST" style="display:none">
<table class="maxwidth">
<xsl:if test="string-length(/ROOT/SAVED_FILE/FILE_EXT)">
<tr><td class="warning">The information below is from <xsl:call-template name="DisplayDateTime"><xsl:with-param name="DATE" select="/ROOT/SAVED_FILE/DATE"/><xsl:with-param name="TIME" select="/ROOT/SAVED_FILE/TIME"/></xsl:call-template></td></tr>
</xsl:if>
<tr><th class="center"><xsl:value-of select="SEARCH/TITLE"/></th></tr>
</table>
<xsl:choose>
<xsl:when test="SEARCH/ENVHDR/CM/ERR/ERRN > 0">
<table class="maxwidth">
<tr><td class="message">OQS was unable to process your request</td></tr>
<tr><td class="error"><xsl:value-of select='SEARCH/ENVHDR/CM/ERR/ERRMSG'/></td></tr>
<xsl:apply-templates select="SEARCH/ENVHDR/HOSTRESP" mode="HOST_RESP"/>
</table>
<xsl:call-template name="addOQSEntryForm"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="SEARCH/DIOQSRESP/WIDE_MODE='Y'">
<table class="maxhide">
<xsl:call-template name="ShowOptions"><xsl:with-param name="NAME" select="'OQS_WIDE'"/></xsl:call-template>
</table>
<table class="maxwidth" SHOW-WHEN="OQS_WIDE=LEFT">
<tr><th class="center">Left 80 Column Display Mode</th></tr>
<tr><td><pre class="normal"><xsl:apply-templates select="SEARCH/DIOQSRESP/HEADER" mode="RAW_LEFT"/></pre></td></tr>
<tr><td><hr/></td></tr>
<tr><td><pre class="normal"><xsl:apply-templates select="SEARCH/DIOQSRESP/LINE" mode="RAW_LEFT"/></pre></td></tr>
</table>
<table class="maxwidth" SHOW-WHEN="OQS_WIDE=RIGHT">
<tr><th class="center">Right Side Display Mode</th></tr>
<tr><td><pre class="normal"><xsl:apply-templates select="SEARCH/DIOQSRESP/HEADER" mode="RAW_RIGHT"/></pre></td></tr>
<tr><td><hr/></td></tr>
<tr><td><pre class="normal"><xsl:apply-templates select="SEARCH/DIOQSRESP/LINE" mode="RAW_RIGHT"/></pre></td></tr>
</table>
<table class="maxwidth" SHOW-WHEN="OQS_WIDE=ALL">
<tr><th class="center">Full Width Display Mode</th></tr>
<tr><td><pre class="extra-small"><xsl:apply-templates select="SEARCH/DIOQSRESP/HEADER" mode="RAW_LINES"/></pre></td></tr>
<tr><td><hr/></td></tr>
<tr><td><pre class="extra-small"><xsl:apply-templates select="SEARCH/DIOQSRESP/LINE" mode="RAW_LINES"/></pre></td></tr>
</table>
</xsl:when>
<xsl:otherwise>
<table class="maxwidth">
<tr><td><pre class="normal"><xsl:apply-templates select="SEARCH/DIOQSRESP/HEADER" mode="RAW_LINES"/></pre></td></tr>
<tr><td><hr/></td></tr>
<tr><td><pre class="normal"><xsl:apply-templates select="SEARCH/DIOQSRESP/LINE" mode="RAW_LINES"/></pre></td></tr>
</table>
</xsl:otherwise>
</xsl:choose>
<table class="maxwidth">
<xsl:if test="SEARCH/DIOQSRESP/MORE='Y'">
<tr><td class="warning">There were additional lines returned that cannot be displayed</td></tr>
</xsl:if>
<xsl:call-template name="AddSearchSave"/>
</table>
</xsl:otherwise>
</xsl:choose>
</form>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="addOQSEntryForm"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="addOQSEntryForm">
<form name="MAINFORM" method="POST" style="display:none">
<table class="maxwidth">
<tr>
<td width="30%" valign="top">
<table class="inner">
<xsl:call-template name="ShowOptions"><xsl:with-param name="NAME" select="'OQS'"/></xsl:call-template>
</table>
</td>
<td valign="top">
<table class="inner" SHOW-WHEN="OQS_COMMAND=RUN">
<tr><th colspan="2">OQS Query</th></tr>
<tr><td colspan="2" class="left"><xsl:call-template name="AddUserListField"><xsl:with-param name="FIELD" select="'QUERY'"/><xsl:with-param name="LIST" select="'OQS_QUERY'"/><xsl:with-param name="REQ" select="'Y'"/></xsl:call-template></td></tr>
<tr><td colspan="2" class="fieldError" id="QUERY_ERR"/></tr>
<tr><th colspan="2">OQS Database</th></tr>
<tr><td colspan="2" class="left"><xsl:call-template name="AddUserListField"><xsl:with-param name="FIELD" select="'DB'"/><xsl:with-param name="LIST" select="'OQS_DB'"/><xsl:with-param name="REQ" select="'Y'"/></xsl:call-template></td></tr>
<tr><td colspan="2" class="fieldError" id="DB_ERR"/></tr>
<tr><th colspan="2">OQS User</th></tr>
<tr><td colspan="2" class="left"><xsl:call-template name="AddUserListField"><xsl:with-param name="FIELD" select="'USER'"/><xsl:with-param name="LIST" select="'OQS_USER'"/><xsl:with-param name="REQ" select="'Y'"/></xsl:call-template></td></tr>
<tr><td colspan="2" class="fieldError" id="USER_ERR"/></tr>
</table>
</td>
</tr>
</table>
<table class="maxwidth" SHOW-WHEN="OQS_COMMAND=SAVED RECALL">
<xsl:call-template name="ShowSavedDocs"><xsl:with-param name="SYSTEM" select="'DIOQS'"/></xsl:call-template>
</table>
<table class="maxwidth" SHOW-WHEN="OQS_COMMAND=RECALL">
<tr><td><br/></td></tr>
<tr><td class="message">Input dates will be automatically adjusted based on the current date</td></tr>
</table>
<table class="maxwidth">
<xsl:call-template name="AddSubmit"/>
</table>
</form>
</xsl:template>
</xsl:stylesheet>