У меня есть преобразование, где я пытаюсь записать набор сплющенных данных транзакции, а в конце файла - суммирование сумм, сгруппированных по типу и типу регистра.
Запись набора индивидуальных данных транзакции - это легкая часть, и у меня есть эта работа, но я борюсь с итоговой частью.xslt 1.0 группировка с составными клавишами (на разных уровнях)
Проблема заключается в том, что я не буду знать, что и как много разных номеров регистров есть, или сколько или сколько типов тендеров есть (так что явно перечисление резюме в xslt со статическими фильтрами - это не-go), поэтому какая-то группировка, кажется, в порядке.
еще один ключ - я застрял с помощью XSLT 1.0 ...
Я пытался возиться с muenchian группировки, но и между требованием составного ключа (с регистром живущего на другом уровне, чем метод оплаты) и мой ограниченный понимание того, как работают мауанский метод и ключи, в первую очередь я не мог заставить его работать, но я думаю, что это все еще может быть трюком, необходимым ...
Любые предложения о том, как я могу, Работа?
вот пример исходного документа:
<s0:SalesCollection xmlns:s0="http://mySourceSchema">
<s0:Sale transactionnumber="1" register="1">
<s0:Tender amount="1.11" paymentmethod="visa" />
<s0:Tender amount="2.22" paymentmethod="mastercard" />
</s0:Sale>
<s0:Sale transactionnumber="2" register="1">
<s0:Tender amount="5.55" paymentmethod="discover" />
<s0:Tender amount="4.44" paymentmethod="visa" />
</s0:Sale>
<s0:Sale transactionnumber="1" register="2">
<s0:Tender amount="9.99" paymentmethod="amex" />
<s0:Tender amount="8.88" paymentmethod="visa" />
</s0:Sale>
</s0:SalesCollection>
вот что я иду (опять же, у меня есть запись [@ типа = 'подробно'] записи уже работает):
<ns0:root xmlns:ns0="http://myDestinationSchema">
<ns0:record type="detail" transactionnumber="1" register="1" amount="1.11" paymentmethod="visa" />
<ns0:record type="detail" transactionnumber="1" register="1" amount="2.22" paymentmethod="mastercard" />
<ns0:record type="detail" transactionnumber="2" register="1" amount="5.55" paymentmethod="discover" />
<ns0:record type="detail" transactionnumber="2" register="1" amount="4.44" paymentmethod="visa" />
<ns0:record type="detail" transactionnumber="1" register="2" amount="9.99" paymentmethod="amex" />
<ns0:record type="detail" transactionnumber="1" register="2" amount="8.88" paymentmethod="visa" />
<ns0:record type="summary" register="1" amount="5.55" paymentmethod="visa" />
<ns0:record type="summary" register="1" amount="2.22" paymentmethod="mastercard" />
<ns0:record type="summary" register="1" amount="5.55" paymentmethod="discover" />
<ns0:record type="summary" register="2" amount="9.99" paymentmethod="amex" />
<ns0:record type="summary" register="2" amount="8.88" paymentmethod="visa" />
</ns0:root>
Итак, как мне начать создавать сводные записи, сгруппированные по регистру и способу оплаты с помощью xslt 1.0?
Использование сложного группового ключа очень полезно! –
@ J.Polfer, добро пожаловать. –