xslt xml html:如何区分有或没有子元素的相同元素?

KAI*_*KAI 3 html xml xslt

问题是我想区分不同情况下的相同元素名称.例如:

<element>Hello StackOverFlow</element>
<element>
  <group>
     <ge>hello g1</ge>
     <ge>hello g2</ge>
  </group>
  <group>
     <ge>hello g3</ge>
     <ge>hello g4</ge>
  </group>
</element>
Run Code Online (Sandbox Code Playgroud)

我希望将带有文本的元素转换为

<div class="text_element">Hello StackOverFlow</div>
Run Code Online (Sandbox Code Playgroud)

对于具有子节点的元素:

<div class="element">
  <ul class="group">
     <li>hello g1</li>
     <li>hello g2</li>
  </ul>
  <ul class="group">
     <li>hello g3</li>
     <li>hello g4</li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

那么,问题是如何在编写模板时区分这两种元素?

C. *_*een 7

一个简单的办法:写一个模板match="element[normalize-space(text())]"和一个带match="element[*].第一个匹配element元素与文本节点子元素不仅仅是空格; 第二个匹配element元素子元素.