У меня есть элемент, который заполняется со значением, которое всегда имеет следующий формат:XSLT удалить начальные символы, подчеркивания и конечные символы
- 6 символов (буквенно-цифровой)
- Underscore
- 8 цифр
- Подчеркивание 6 цифр
- Переменная (иногда в другое время не было другого подчеркивания, а строка длиной от одного до пяти символов .
Некоторые примеры:
<ID>MBAA01_20151014_103605_H3Y</ID>
<ID>34FG01_22251123_341234</ID>
<ID>F6F7G8_30151124_279321_YU</ID>
<ID>123SDT_45891212_345321</ID>
Я пытаюсь написать XSLT, который будет:
- Удалить первые 7 символов (например, 6 и подчеркивание)
- Удалить подчеркивание между набор из 8 цифр и 6 цифр
- Удалите все символы, если они есть, которые соответствуют набору из 6 цифр.
Так вышеприведенные примеры будут выглядеть после того, как трансформируются:
<ID>20151014103605</ID>
<ID>22251123341234</ID>
<ID>30151124279321</ID>
<ID>45891212345321</ID>
Фактический оригинальный источник XML будет выглядеть следующим образом:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<FeedbackAssets>
<ID>MBAA01_20151014_103605_H3Y</ID>
<PlanNumber1>A01</PlanNumber1>
<PlanNumber2>B02</PlanNumber2>
<PlanNumber3>CA03</PlanNumber3>
<PlanNumber4>D04</PlanNumber4>
<PlanNumber5>F5</PlanNumber5>
</FeedbackAssets>
<FeedbackAssets>
<ID>34FG01_20151123_341234</ID>
<PlanNumber1>MM4</PlanNumber1>
<PlanNumber2>11</PlanNumber2>
<PlanNumber3>CA03</PlanNumber3>
<PlanNumber4>D6</PlanNumber4>
<PlanNumber5>Y5</PlanNumber5>
</FeedbackAssets>
<FeedbackAssets>
<ID>F6F7G8_20151124_279321_YU</ID>
<PlanNumber1>ZZ5</PlanNumber1>
<PlanNumber2>B02</PlanNumber2>
<PlanNumber3>CA03</PlanNumber3>
<PlanNumber4>D04</PlanNumber4>
<PlanNumber5>FR5</PlanNumber5>
</FeedbackAssets>
<FeedbackAssets>
<ID>123SDT_20151212_345321</ID>
<PlanNumber1>WE4</PlanNumber1>
<PlanNumber2>G6H</PlanNumber2>
<PlanNumber3>CA03</PlanNumber3>
<PlanNumber4>D04</PlanNumber4>
<PlanNumber5>G5</PlanNumber5>
</FeedbackAssets>
Спасибо
XSLT 1.0 или XSLT 2.0 ? – potame