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

Testing for parent node

Subject: Testing for parent node
From: Vincenzo Menanno <enzo13@xxxxxxx>
Date: Fri, 30 Dec 2011 03:59:07 -0800
 Testing for parent node
Hi everyone,

I am on this list but I rarely post.

               <Field id="1" dataType="Text" fieldType="Normal" name="name">
                  <Comment/>
                  <AutoEnter allowEditing="True" constant="False" furigana="False" lookup="False" calculation="False">
                     <ConstantData/>
                  </AutoEnter>
                  <Validation message="False" maxLength="False" valuelist="False" calculation="False" alwaysValidateCalculation="False" type="OnlyDuringDataEntry">
                     <NotEmpty value="False"/>
                     <Unique value="False"/>
                     <Existing value="False"/>
                     <StrictValidation value="False"/>
                  </Validation>
                  <Storage autoIndex="True" index="None" indexLanguage="English" global="False" maxRepetition="1"/>
               </Field>
               <Field id="2" dataType="Number" fieldType="Calculated" name="sfksjfhd">
                  <Calculation table="Test"><![CDATA[Left ( name; 3 ) & "sdkfhskdfhsdf" & sdafsadf & Asin ( ZARK::boart ) & sdafsadf Copy2]]></Calculation>
                  <DisplayCalculation>
                     <Chunk type="FunctionRef">Left</Chunk>
                     <Chunk type="NoRef"> ( </Chunk>
                     <Chunk type="FieldRef">
                        <Field table="Test" id="1" name="name"/>
                     </Chunk>
                     <Chunk type="NoRef">; 3 ) &amp; &quot;sdkfhskdfhsdf&quot; &amp; </Chunk>
                     <Chunk type="CustomFunctionRef">sdafsadf</Chunk>
                     <Chunk type="NoRef"> &amp; </Chunk>
                     <Chunk type="FunctionRef">Asin</Chunk>
                     <Chunk type="NoRef"> ( </Chunk>
                     <Chunk type="FieldRef">
                        <Field table="ZARK" id="1" name="boart"/>
                     </Chunk>
                     <Chunk type="NoRef"> ) &amp; </Chunk>
                     <Chunk type="CustomFunctionRef">sdafsadf Copy2</Chunk>
                  </DisplayCalculation>
                  <Comment/>
                  <AutoEnter alwaysEvaluate="False"/>
                  <Storage storeCalculationResults="False" indexLanguage="English" global="False" maxRepetition="1"/>
               </Field>

--------------------

               <Field id="3" dataType="Text" fieldType="Normal" name="sfkjsdfklj">
                  <Comment/>
                  <AutoEnter allowEditing="True" overwriteExistingValue="False" alwaysEvaluate="False" constant="False" furigana="False" lookup="False" calculation="True">
                     <ConstantData/>
                     <Calculation table="Test"><![CDATA[Asin ( sfksjfhd )]]></Calculation>
                     <DisplayCalculation>
                        <Chunk type="FunctionRef">Asin</Chunk>
                        <Chunk type="NoRef"> ( </Chunk>
                        <Chunk type="FieldRef">
                           <Field table="Test" id="2" name="sfksjfhd"/>
                        </Chunk>
                        <Chunk type="NoRef"> )</Chunk>
                     </DisplayCalculation>
                  </AutoEnter>
                  <Validation message="False" maxLength="False" valuelist="False" calculation="False" alwaysValidateCalculation="False" type="OnlyDuringDataEntry">
                     <NotEmpty value="False"/>
                     <Unique value="False"/>
                     <Existing value="False"/>
                     <StrictValidation value="False"/>
                  </Validation>
                  <Storage autoIndex="True" index="None" indexLanguage="English" global="False" maxRepetition="1"/>
               </Field>

My XPATH is fixed to all Calculations within the BaseTableCatalog - like this.

/FMPReport/File[1]/BaseTableCatalog[1]//Calculation

In some cases the parent of the calculation will be "Field" (see example) in other cases it will be "AutoEnter" (see example) or "Validation"

I have tried a number of different things but I can't get any of them to work and bring me reliable results.

This returns nothing for the"$from" variable

      <xsl:variable name="from">
         <xsl:choose>
            <xsl:when test="../parent='Field'">53</xsl:when>
            <xsl:when test="../parent='AutoEnter'">54</xsl:when>
            <xsl:when test="../parent='Validation'">55</xsl:when>
         </xsl:choose>
      </xsl:variable>

This returns nothing when the calculation is a child of Field but it returns always the 53 when the calculation is "AutoEnter" or "Validation"

      <xsl:variable name="from">
         <xsl:choose>
            <xsl:when test="local-name(../parent::*)='Field'">53</xsl:when>
            <xsl:when test="local-name(../parent::*)='AutoEnter'">54</xsl:when>
            <xsl:when test="local-name(../parent::*)='Validation'">55</xsl:when>
         </xsl:choose>
      </xsl:variable>

I know the answer is obvious and I am just missing it.

Thanks for any suggestions or help on this.

Vince

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.