xsl-list
[Top] [All Lists]

[xsl] How to multiply 2 sequences ?

2007-11-07 03:19:56
Hello XSLT users,

I am developing an XML, XSLT 2.0 based food database.
I am trying to extract and process the XML data but until now with limited 
success.

The database has the following xml schema:

some of the single food ingredients ( extracted via attribute id )
 
  <xs:element name="NAME" type="xs:normalizedString">
    <xs:annotation xml:lang="de">
      <xs:documentation>Bezeichnung des Lebensmittels</xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="GCAL" type="xs:nonNegativeInteger">
    <xs:annotation xml:lang="de">
      <xs:documentation>Energie, kcal/100g</xs:documentation>
    </xs:annotation>
  </xs:element>

all single food ingredients collected in food element "ing" having attribute id

The following issues need to be solved :

1. extraction of single food ingredients

<xsl:template match="/">

  <xsl:variable name="input_bls" as="item()*">
    <xsl:sequence select="('B100000', 'B105100', 'B106311')"/>
  </xsl:variable>

  <xsl:variable name="input_amt" as="item()*">
    <xsl:sequence select="(100, 50, 10)"/>
  </xsl:variable>

  <xsl:apply-templates select="in:ingredient/in:ing[(_at_)in:id=$input_bls]"/>
</xsl:template>

this works 

2. multiplication with weight factor variable $input_amt

<xsl:template match="in:ingredient/in:ing">
  <xsl:param name="input_amt">0</xsl:param>
  <xsl:variable name="GCAL" select="in:GCAL * $input_amt"/>
</xsl:template>

this works with the same weight factor for every food element,
but the weight factors are different for every food element 

3. sum of single food ingredients per food element

this is also unclear because step 2 is still unclear.

Can You assist me with this ?

How can I multiply a node sequence with different factors ?


best regards 


Peter Teichert


This e-mail is intended only for the above addressee. It may contain privileged 
information.
If you are not the addressee you must not copy, distribute, disclose or use any 
of the information in it. 
If you have received it in error please delete it and immediately notify the 
sender.
Security Notice: all e-mail, sent to or from this address, may be accessed by 
someone other than the recipient, for system management and security reasons. 
This access is controlled under Regulation of security reasons.
This access is controlled under Regulation of Investigatory Powers Act 2000, 
Lawful Business Practises.



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

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