XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Eddie KoehnSubject: WYSIWYG view to XSLT Source view Bug - xsl:element end tag position is changed
Author: Eddie Koehn
Date: 30 Nov 2004 09:02 PM
I am attempting to place a xsl:if tag inside an xsl:element tag.
It works as long as I stay in the "XSLT source" view.
But each time I go to the "WYSIWYG" view and then return to the
"XSLT Source" view the xsl:element end tag is repositioned.

Attached is the XML source file.

Below is the BEFORE and AFTER XSLT file. Also included is the xml source.

Is this a bug or am I missing something?

Thanks in advance for your help.

Eddie


BEFORE
------

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>

<xsl:template match="/">
<html>
<head>
</head>
<body>
<form id="Form1" name="bomForm" method="post">
<xsl:for-each select="DATA/RECORD">
<xsl:variable name="opt" select="OPTION"/>
<xsl:element name="INPUT">
<xsl:attribute name="id">option</xsl:attribute>
<xsl:attribute name="name">bomalt_group</xsl:attribute>
<xsl:attribute name="type">radio</xsl:attribute>
<xsl:attribute name="value">
<xsl:value-of select="$opt"/>
</xsl:attribute>
<xsl:if test="position() = 1">
<xsl:attribute name="checked"/>
</xsl:if>
</xsl:element>Selection <xsl:value-of select="$opt"/>
<br/>
</xsl:for-each>
</form>
</body>
</html>
</xsl:template>
<xsl:template name="NewTemplate0"/>
</xsl:stylesheet>


AFTER
-----

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>

<xsl:template match="/">
<html>
<head>
</head>
<body>
<form id="Form1" name="bomForm" method="post">
<xsl:for-each select="DATA/RECORD">
<xsl:variable name="opt" select="OPTION"/>
<xsl:element name="INPUT">
<xsl:attribute name="id">option</xsl:attribute>
<xsl:attribute name="name">bomalt_group</xsl:attribute>
<xsl:attribute name="type">radio</xsl:attribute>
<xsl:attribute name="value">
<xsl:value-of select="$opt"/>
</xsl:attribute>
</xsl:element>
<xsl:if test="position() = 1">
<xsl:attribute name="checked"/>
</xsl:if>Selection
<xsl:value-of select="$opt"/>
<br/>
</xsl:for-each>
</form>
</body>
</html>
</xsl:template>
<xsl:template name="NewTemplate0"/>
</xsl:stylesheet>



XML SOURCE
----------
<?xml version="1.0"?>
<DATA>
<RECORD>
<OPTION>1</OPTION>
</RECORD>
<RECORD>
<OPTION>2</OPTION>
</RECORD>
</DATA>

Posttop
Ivan PedruzziSubject: WYSIWYG view to XSLT Source view Bug - xsl:element end tag position is changed
Author: Ivan Pedruzzi
Date: 01 Dec 2004 01:50 AM
Hi Eddie

The problem resides in the HTML ugliness.
The "input" tag is defined in the HTML DTD with an emty body so
anything inside his body gets stripped away by the HTML parser (IE).
The attribute "checked" presence is enought to set the "ON" state
no matter what is the value so we can't use the attribute value
template ({}) to build it.

The following code is a bit verbose but should work and be
preserved by WYSIWYG.

Hope this helps
Ivan

<xsl:for-each select="DATA/RECORD"><xsl:variable name="opt" select="OPTION"/>
<xsl:choose>
<xsl:when test="position() = 1">
<input id="option" type="radio" checked="1" value="{$opt}" name="bomalt_group"/>
</xsl:when>
<xsl:otherwise>
<input id="option" type="radio" value="{$opt}" name="bomalt_group"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>Selection </xsl:text>
<xsl:value-of select="$opt"/>
<br/>
</xsl:for-each>

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.