длина строки, чтобы найти длину повторяющегося узла - PullRequest
0 голосов
/ 22 октября 2010

Мой xml выглядит как

<details>
  <addr>
      <streetAddressLine>90822 abc lane</streetAddressLine>
      <streetAddressLine>apt b</streetAddressLine>
      <!-- streetAddressLine element is repeatable -->
      <state>xyz</state>
  </addr>
</details>

Я ищу выражение xpath, которое может дать мне длину строки-строки (streetAddressLine [0]) + string-length (streetAddressLine [1]) +..... + длина строки (streetAddressLine [n])

Ответы [ 2 ]

1 голос
/ 22 октября 2010

Теперь, когда мы знаем, что вам нужно решение XPath 2.0, это выражение:

sum(/details/addr/streetAddressLine/string-length())

Результат:

19

Для решения XSLT 1.0 эта таблица стилей:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="/">
  <xsl:variable name="vStreetAddressLines">
   <xsl:copy-of select="/details/addr/streetAddressLine"/>
  </xsl:variable>
  <xsl:value-of select="string-length($vStreetAddressLines)"/>
 </xsl:template>
</xsl:stylesheet>

Выход:

19
1 голос
/ 22 октября 2010
string-length(string-join(/details/addr/streetAddressLine/text(),""))
...