RE: [xsl] problem with tags

Subject: RE: [xsl] problem with tags
From: "Mikael Petterson \(KI/EAB\)" <mikael.petterson@xxxxxxxxxxxx>
Date: Tue, 28 Feb 2006 13:12:35 +0100
Hi,

It was not problem with the xsl but with the ant build.xml pointing to
the wrong file.
Sorry for taking up your time and thanks to you who took the time read
this post.

cheers,

//mikael

-----Original Message-----
From: Mikael Petterson (KI/EAB) [mailto:mikael.petterson@xxxxxxxxxxxx]
Sent: den 28 februari 2006 12:19
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] problem with tags

Hi,

Current node is dataType.

This is what I do:

 <xsl:when test="boolean">
       ERROR<xsl:value-of select="../@name"/>
     public static final String <xsl:call-template
name="Camel2Underscore">
     <xsl:with-param name="str"
select="../@name"/></xsl:call-template>_ATTR_TYPE = "boolean";
     public static final String <xsl:call-template
name="Camel2Underscore">
     <xsl:with-param name="str" select="../@name"/></xsl:call-template>
= "<xsl:value-of select="../@name"/>";
     public static final boolean    <xsl:call-template
name="Camel2Underscore">
     <xsl:with-param name="str"
select="../@name"/></xsl:call-template>_DEF_VALUE = <xsl:value-of
select="boolean/defaultValue"/>;
     public static final boolean    <xsl:call-template
name="Camel2Underscore">
     <xsl:with-param name="str"
select="../@name"/></xsl:call-template>_MIN_VALUE = false;
     public static final boolean    <xsl:call-template
name="Camel2Underscore">
     <xsl:with-param name="str"
select="../@name"/></xsl:call-template>_MAX_VALUE = true;

     public static final String <xsl:call-template
name="Camel2Underscore">
     <xsl:with-param name="str"
select="../@name"/></xsl:call-template>_MANDATORY = <xsl:choose>
        <!-- Check for <Mandatory> as child for
             <attribute>. If <mandatory> exists attr.
             is mandatory. Otherwise always optional.
             -->
        <xsl:when test="../mandatory">
            <xsl:text>"mandatory";</xsl:text>
          </xsl:when>
          <xsl:otherwise>
            <xsl:text>"optional";</xsl:text>
          </xsl:otherwise>
        </xsl:choose>
     public static final String <xsl:call-template
name="Camel2Underscore">
     <xsl:with-param name="str"
select="../@name"/></xsl:call-template>_READWRITE = <xsl:choose>
        <!-- Check for <readOnly> as child for
             <attribute>. If <readOnly> exists attr.
             is readOnly. Otherwise always <readAndWrite>
             -->
          <xsl:when test="../readOnly">
            <xsl:text>"readOnly";</xsl:text>
          </xsl:when>
          <xsl:otherwise>
            <xsl:text>"readAndWrite";</xsl:text>
          </xsl:otherwise>
        </xsl:choose>
     public static final String <xsl:call-template
name="Camel2Underscore">
     <xsl:with-param name="str"
select="../@name"/></xsl:call-template>_PERSISTENT= <xsl:choose>
     <!-- Check for <nonPersistent> as child for
             <attribute>. If <nonPersistent> exists attr.
             is false. Otherwise always true.
             -->
          <xsl:when test="../nonPersistent">
            <xsl:text>"false";</xsl:text>
          </xsl:when>
          <xsl:otherwise>
            <xsl:text>"true";</xsl:text>
          </xsl:otherwise>
        </xsl:choose>


I still get the same error.

cheers,

//mikael

-----Original Message-----
From: Peter Flynn [mailto:pflynn@xxxxxx]
Sent: den 28 februari 2006 10:29
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] problem with tags

On Tue, 2006-02-28 at 09:19, Mikael Petterson (KI/EAB) wrote:
> Hi,
>
> I am using
>
> <xsl:when test="boolean">
>  <xsl:value-of select="../@name"> <!-- Selects the attribute name in
> xml-->
> <xsl:when>

You don't say what the current node is when this test gets applied, nor
what the other conditions within the xsl:choose are, but assuming that
what you are doing is equivalent to:

  <xsl:template match="dataType">
    <xsl:if test="boolean">
      <xsl:value-of select="../@name"/>
    </xsl:if>
  </xsl:template>

then Saxon correctly returns the attribute value in both cases.

///Peter

>
> I my xml I have the following:
>
> Alt 1
> =====
> <attribute name="averagePow">
>   <description>
>   </description>
>   <noNotification/>
>   <nonPersistent/>
>   <readOnly/>
>   <dataType>
>    <boolean/>
>   </dataType>
> </attribute>
>
> Alt 2
> =====
> <attribute name="cqiAdj">
>   <description>
>   </description>
>   <noNotification/>
>   <nonPersistent/>
>   <readOnly/>
>   <dataType>
>    <boolean>
> 	<defaultValue>false</defaultValue>
>    </boolean>
>   </dataType>
> </attribute>
>
> When I have alt 1 then no attribute name is selected. But it is in alt

> 2.
> Why is this the case? I am using Xalan 2.4.1
>
> cheers,
>
> //mikael

Current Thread