xsl-list
[Top] [All Lists]

xpath problem

2003-11-19 08:41:29
Hi all,


   We have the following XML fragment.

<article> som text here <var name="OKC$S_CURRENCY_NAME" type="S" meaning="Currency Name" /> </article>
.........
 <VariablesMetadataVO type="VO" name="VariablesMetadataVO">
<VariablesMetadataVORow> <ArticleVersionId>101130763</ArticleVersionId>
     <VariableCode>OKC$S_CURRENCY_NAME</VariableCode>
     <VariableType>S</VariableType>
     <DocType>QUOTE</DocType>
     <ViewObjectName>HeaderVO</ViewObjectName>
     <AttributeName>CurrencyName</AttributeName>
   </VariablesMetadataVORow>
................
<HeaderVO>
  <HeaderVORow>
     <CurrencyName>Dollars</CurrencyName>
  </HeaderVORow>
</HeaderVO>
..........


And the following XSL tempalte to match the *var*  tags.

   <xsl:template match="var[(_at_)type='S']">
<xsl:variable name="system" select="//VariablesMetadataVO/VariablesMetadataVORow[VariableName=current()/@name]"/> <xsl:value-of select="//descendant::[name(.)=$system/ViewObjectName]/descendant::[name(.)=$system/AttributeName]"/>
     </xsl:template>

the result of applying the template should be some thing like

<article>som text here   Dollars </article>


The var tag in the article text points to metadata which in turn points to the value that has to be substituted in place of the var tag.We are currently using the folowing Xpath .. but the parser fails as the XPath seems to be malformed. What are we missing here?Any suggesiotns for alternative XPaths?any help is highly appreciated.

TIA,
Aananth



--
<?xmlversion="1.0"?>
<Signature>
 <fname>aananth</fname>
 <lname>solaiyappan</lname>
 <position>ApplicationsEngineer</position>
 <contactinfo>
   <mail>aananth(_dot_)solaiyappan(_at_)oracle(_dot_)com</mail>
   <phone>
     <office>+91-80-5108-4014</office>
     <cell>+91-80-3187-1944</cell>
   </phone>
 </contacinfo>
 <slogan>
 Don't tell GOD how big your storm is.
 Tell the storm how big your GOD is!
 </slogan>
</Signature>



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



<Prev in Thread] Current Thread [Next in Thread>