Jump to content

Alex Zanutto

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by Alex Zanutto

  1. Hi, I am not a developer, but I have to deal with xslt to format xml and generate pdfs occasionally for work. below you can see the XML and the XSL I am trying to format it with. It all worked fine until I tried to insert the second template. Obviously I am doing something wrong. I am trying to use template and for-each to add a row in the table for each <order_line_item> nested under <order_line_items> and in each of the four cells there should be the four values nested under <order_line_item> Could you help? Thanks! I was told that you cannot nest templates, so obviously that needs correction. Could someone provide a worked out solution please? XML <hash> <order_line_items type="array"> <order_line_item> <document_currency_unit_price_after_discount_value amount="300.0" code="GBP">£300.00</document_currency_unit_price_after_discount_value> <document_currency_net_after_main_discount amount="300.0" code="GBP">£300.00</document_currency_net_after_main_discount> <description>Subscription</description> <unit_quantity type="decimal">1.0</unit_quantity> </order_line_item> <order_line_item> <document_currency_unit_price_after_discount_value amount="300.0" code="GBP">£200.00</document_currency_unit_price_after_discount_value> <document_currency_net_after_main_discount amount="300.0" code="GBP">£200.00</document_currency_net_after_main_discount> <description>Additional Services</description> <unit_quantity type="decimal">1.0</unit_quantity> </order_line_item> <order_line_item> <document_currency_unit_price_after_discount_value amount="300.0" code="GBP">£-50.00</document_currency_unit_price_after_discount_value> <document_currency_net_after_main_discount amount="300.0" code="GBP">£-50.00</document_currency_net_after_main_discount> <description>Discount</description> <unit_quantity type="decimal">1.0</unit_quantity> </order_line_item> </order_line_items> </hash> XSL <fo:table margin-bottom="5mm"> <fo:table-column column-width="25%"/> <fo:table-column column-width="25%"/> <fo:table-column column-width="25%"/> <fo:table-column column-width="25%"/> <fo:table-body> <fo:table-row> <fo:table-cell> <fo:block> Product </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> Quantity </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> Unit Price </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> Net Amount </fo:block> </fo:table-cell> </fo:table-row> <xsl:template match="hash/order_line_items"> <xsl:for-each select="order_line_item"> <fo:table-row> <fo:table-cell> <fo:block> <xsl:value-of select="description"> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> <xsl:value-of select="document_currency_unit_price_after_discount_value"> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> <xsl:value-of select="document_currency_net_after_main_discount"> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> <xsl:value-of select="unit_quantity"> </fo:block> </fo:table-cell> </fo:table-row> </xsl:for-each> </xsl:template> </fo:table-body> </fo:table> </fo:flow> </fo:page-sequence> </fo:root> </xsl:template> </xslt:stylesheet>
×
×
  • Create New...