Применяем шаблон для обращения к order_items
1 2 3 4 |
<Товары> <xsl:apply-templates select="properties/group/property[@name='order_items']/value/item" mode="order-item"/> </Товары> |
Для обработки по шаблону используем следующий код, обращаемся к элементам
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<xsl:template match="object" mode="order-item"> <xsl:param name="good-id" select="properties/group/property[@name='item_link']/value/page/@id" /> <xsl:param name="good" select="document(concat('upage://', $good-id))/udata/page" /> <xsl:param name="item_price" select="properties/group/property[@name='item_price']/value" /> <xsl:param name="item_amount" select="properties/group/property[@name='item_amount']/value" /> <xsl:param name="item_total_price" select="properties/group/property[@name='item_total_price']/value" /> <Товар> <xsl:choose> <xsl:when test="not($good)"> <Ид><xsl:value-of select="@id" /></Ид> </xsl:when> <xsl:when test="$good//property[@name = '1c_product_id']/value"> <Ид><xsl:value-of select="$good//property[@name = '1c_product_id']/value" /></Ид> </xsl:when> <xsl:otherwise> <Ид><xsl:value-of select="$good-id" /></Ид> </xsl:otherwise> </xsl:choose> <xsl:if test="$good//property[@name = '1c_catalog_id']/value"> <ИдКаталога><xsl:value-of select="$good//property[@name = '1c_catalog_id']/value" /></ИдКаталога> </xsl:if> <Наименование><xsl:value-of select="$good/name | @name" /></Наименование> <БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница> <ЦенаЗаЕдиницу><xsl:value-of select="$item_price" /></ЦенаЗаЕдиницу> <Сумма><xsl:value-of select="$item_total_price" /></Сумма> <Количество><xsl:value-of select="$item_amount" /></Количество> <Единица>шт</Единица> <Коэффициент>1</Коэффициент> <Артикул1С><xsl:value-of select="$good//property[@name = 'vendor_code']/value" /></Артикул1С> <Штрихкод><xsl:value-of select="$good//property[@name = 'barcode']/value" /></Штрихкод> <Вес><xsl:value-of select="$good//property[@name = 'weight']/value" /></Вес> </Товар> </xsl:template> |