В XSL 1.0 я пытаюсь различить следующие 2 сценария, которые оба происходят во входном XML, который мне нужно обработать, и каждый должен обрабатываться по-разному.
Сценарий 1
<tag1><tag2/> some text</tag1>
Сценарий 2
<tag1>some text <tag2/></tag1>
У меня есть шаблон, который соответствует уровню <tag2/>
, в этом сценарии 1 я хочу игнорировать <tag2/>
, в сценарии 2 я хочу вставить <br/>
вместо <tag2/>
.
Я искал здесь и в Google, но, похоже, не могу понять, как различать, основываясь на позиции <tag2/>
в <tag1>
.
Я изучил предшествующий брат и generate-id и попытался использовать что-то вроде: -
not(
generate-id(
preceding-sibling::node()[1]
)
= generate-id(
preceding-sibling::text()[1]
)
)
и
position()
из <tag2/>
, похоже, здесь тоже не помогает, так как оба работают на уровне узла ??
Любые идеи приветствуются?
Спасибо
Roger