В Отряде присутствует количество заказов. Для каждого заказа есть ряд элементов позиции заказа. Элементы позиции заказа содержат элемент. Для каждой итерации мы поддерживаем уровни иерархии. В разделе OrderLine Items, если предыдущий элемент равен текущему элементу, нет необходимости увеличивать иерархию.Как мы можем выполнить Условный приращение в xslt
точки:
- Там только одна отгрузки
- Количество заказов присутствуют в отгрузке.
- номер заказаLineItems за каждый заказ.
для каждой итерации заказов и orderlineItems мы должны поддерживать уровни иерархии (значение приращения), но когда приходит в orderLineItems, одно условие есть, если предыдущий элемент равен текущему элементу, нет необходимости увеличивать уровень иерархии. мы должны увеличивать уровни иерархии, такие как необходимый нам результат.
Ниже приведен вход.
Вход:
<shipment>
<order><!-- unbounded -->
<value>value 4</value>
<other>item1</other>
<OrderLineItems><!-- unbounded -->(conditions comes under this section only not in Order section)
<Lineitem>3</LineItem>
</OrderLineItems>
<OrderLineItems>
<Lineitem>3</LineItem>
</OrderLineItems>
<OrderLineItems>
<Lineitem>2</LineItem>
</OrderLineItems>
</order>
<order>
<value>value 98</value>
<other>item2</other>
<OrderLineItems>
<Lineitem>8</LineItem>
</OrderLineItems>
<OrderLineItems>
<Lineitem>3</LineItem>
</OrderLineItems>
<OrderLineItems>
<Lineitem>4</LineItem>
</OrderLineItems>
</order>
<order>
<value>value 98</value>
<other>item2</other>
<OrderLineItems>
<Lineitem>8</LineItem>
</OrderLineItems>
<OrderLineItems>
<Lineitem>3</LineItem>
</OrderLineItems>
<OrderLineItems>
<Lineitem>4</LineItem>
</OrderLineItems>
</order>
</shipment>
ниже выходной нам нужно.
Выход:
<ns1:Shipment>
<ns1:Shipment1>1</ns1:Shipment1>
<ns1:ShipmentValue>S</ns1:ShipmentValue>
<ns1:Order>
<ns1:Orderlevel1>2</ns1:Orderlevel1>
<ns1:Orderlevel2>1</ns1:Orderlevel2>
<ns1:Orderlevel3>O</ns1:Orderlevel3>
<ns1:OrderLineItems>
<ns1:Level1>3</ns1:Level1>
<ns1:Level2>2</ns1:Level2>
<ns1:Level3>I</ns1:Level3>
<ns1:Item>Item59</ns1:Item>
</ns1:OrderLineItems>
<ns1:OrderLineItems>
<ns1:Item>Item59</ns1:Item>
</ns1:OrderLineItems>
<ns1:OrderLineItems>
<ns1:Level1>4</ns1:Level1>
<ns1:Level2>2</ns1:Level2>
<ns1:Level3>I</ns1:Level3>
<ns1:Item>Item63</ns1:Item>
</ns1:OrderLineItems>
</ns1:Order>
<ns1:Order>
<ns1:Orderlevel1>5</ns1:Orderlevel1>
<ns1:Orderlevel2>1</ns1:Orderlevel2>
<ns1:Orderlevel3>O</ns1:Orderlevel3>
<ns1:OrderLineItems>
<ns1:Level1>6</ns1:Level1>
<ns1:Level2>5</ns1:Level2>
<ns1:Level3>I</ns1:Level3>
<Item>Item74</Item>
</ns1:OrderLineItems>
<ns1:OrderLineItems>
<ns1:Level1>7</ns1:Level1>
<ns1:Level2>5</ns1:Level2>
<ns1:Level3>I</ns1:Level3>
<Item>Item78</Item>
</ns1:OrderLineItems>
<ns1:OrderLineItems>
<ns1:Item>Item78</ns1:Item>
</ns1:OrderLineItems>
</ns1:Order>
</ns1:Shipment>
Не могли бы вы cla уточните свой вопрос и используйте более мелкие примеры. Может быть, даже создать минимальный пример того, чего вы хотите достичь? – chris
Из ввода мы получаем данные о доставке. Количество заказов на каждый заказ. Каждый заказ имеет несколько orderLineItems.The Order и OrderLineitems должны итерации. Для каждой итерации мы должны поддерживать уровни иерархии, но здесь одно условие есть, если предыдущее значение элемента равно текущему значению элемента, не нужно увеличивать значение уровня иерархии. В противном случае нам нужно увеличивать иерархию порядка и orderlineItems зависит от того, сколько раз оно повторяется. – sum
Почему элементы «Level3» установлены как «O» или «I»? –