[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Formatted output

Subject: RE: Formatted output
From: "Satish, L. Gnanendra" <LGnanendra.Satish@xxxxxxxxxx>
Date: Fri, 27 Sep 2002 10:42:30 +0200
xsl format output
Hello Mike,
 >  I have a xml such as this (which is shown simpler):
> 
> <Behaviour>
>  <BehaviourInfo ID="1">
> 	<Trap><Name>Trap1</Name></Trap>
>
<Message><Name>Msg1</Name><MessageLevel>Major</MessageLevel></Message>
>  </BehaviourInfo>
>  <BehaviourInfo ID="2">
> 	<Trap><Name>Trap2</Name></Trap>
>
<Message><Name>Msg1</Name><MessageLevel>Minor</MessageLevel></Message>
>  </BehaviourInfo>
>  <BehaviourInfo ID="3">
> 	<Trap><Name>Trap3</Name></Trap>
>
<Message><Name>Msg2</Name><MessageLevel>Cleared</MessageLevel></Message>
>  </BehaviourInfo>
>  <BehaviourInfo ID="4">
> 	<Trap><Name>Trap4</Name></Trap>
>
<Message><Name>Msg1</Name><MessageLevel>Critical</MessageLevel></Message>
>  </BehaviourInfo>
> </Behaviour>

Also there is a seperate block,
<Message>
<MessageInfo ID="1">
<Name>Msg1</Name>
</MessageInfo>
<MessageInfo ID="2">
<Name>Msg2</Name>
</MessageInfo>
<MessageInfo ID="3">
<Name>Msg3</Name>
</MessageInfo>
<Message>

> 
> I would like an HTML output like:
> "An alarm message is triggered by the traps 'trap1, trap2, 
> trap4' and will be cleared when the trap 'trap3' comes in."

I have just given u an hypothetical example. The trap positions might vary
and also there are no fixed number of traps.
But I have solved it by using two template calls - one for the triggering
alarms and another for the clearing alarms. But there is another hitch, I
cannot give commas to the traps. This is called from the Message template:

<xsl:template name="Call_MsgClearedBySystemFindTriggerTraps">
<xsl:variable name="MsgName" select="Name"/>
<xsl:for-each select="//Behaviour/BehaviourInfo">
<xsl:variable name="BhvrMsgName"
select="BehaviourMessages/BehaviourMessagesInfo/Name"/>
<xsl:if test="$BhvrMsgName=$MsgName">
<xsl:variable name="x"
select="BehaviourMessages/BehaviourMessagesInfo/OIDInfo/Message/MessageInfo/
MsgLevel[TextString='Cleared']"/>
<-- !='Cleared' doesn't work -->
<xsl:choose>
<xsl:when test="$x">
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="Trap/Name">
<B><I><xsl:value-of select="."/></I></B>
<xsl:if test="position()&lt;last()"><xsl:value-of select="$Comma"/></xsl:if>
<-- Doesn't insert commas -->
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:for-each>
</xsl:template>

This doesn't work the way I want.

Thanx,
Gnanendra.

-----Original Message-----
From: Michael Kay [mailto:michael.h.kay@xxxxxxxxxxxx]
Sent: Friday, September 27, 2002 1:49 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE:  Formatted output


You have asked this before. You haven't explained enough about how the
input might vary. If the only thing that can vary is the content of the
four <Name> elements, then it's trivially simple:

<html>
<p>An alarm messge is triggered by the traps 
'<xsl:value-of select="/Behaviour/BehaviourInfo[@ID=1]/Trap/Name"/>, 
<xsl:value-of select="/Behaviour/BehaviourInfo[@ID=2]/Trap/Name"/>, 
<xsl:value-of select="/Behaviour/BehaviourInfo[@ID=4]/Trap/Name"/>' 
and will be cleared when the trap 
'<xsl:value-of select="/Behaviour/BehaviourInfo[@ID=3]/Trap/Name"/>' 
comes in.</p>
</html>

If converting "Trap1" to "trap1" is an important characteristic of the
transformation, you can do this using the substring() and translate()
functions.

- - - - - - - Appended by Scientific-Atlanta, Inc. - - - - - - - 
This e-mail and any attachments may contain information which is
confidential, proprietary, privileged or otherwise protected by law. The
information is solely intended for the named addressee (or a person
responsible for delivering it to the addressee). If you are not the intended
recipient of this message, you are not authorized to read, print, retain,
copy or disseminate this message or any part of it. If you have received
this e-mail in error, please notify the sender immediately by return e-mail
and delete it from your computer.

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.