Привет, я немного новичок в XSL и у меня возник вопрос относительно шаблонов вызовов и параметров.
Предположим, у меня есть следующий xml:
<rec>
<a>1</a>
<b>2</b>
<c>3</c>
(etc.)
</rec>
<rec>
<a>4</a>
<b>9</b>
<c>2</c>
(etc.)
</rec>
и т. Д.
Я пишу шаблон вызова, который будет отображать строку () в многорядной HTML-таблице.В каждой строке необходимо записать имя, среднее, минимальное, максимальное и т. Д. Каждого поля всего набора записей.
, поэтому я хотел бы позвонить <xsl:call-template name="DisplayRow"> <xsl:with-param name="fieldname" select="??"/>
Шаблон вызова будетнужно перебрать все записи, чтобы найти avg, min, max и т. д., поэтому я не уверен, что передать в качестве параметра вызова.Я надеялся, что смогу передать имя поля (a, b, c и т. Д.) И заставить его работать таким образом, но не могу заставить мой код компилироваться, когда я это делаю.
Например, чтобынайти максимальное значение поля 'a', я бы сделал что-то вроде:
<xsl:for-each select="/Rec[a!='NaN']">
<xsl:sort data-type="number" select="a" order="ascending"/>
<xsl:if test="position()=1">
и т. д.
Для Avg я бы сделал (пропуская NaN):
<xsl:value-of select="sum(/rec/a[number(.)=number(.)])
div count(/rec/a[number(.)=number(.)])"/>
и т.д.
Мне также нужно распечатать буквальное имя (например, 'a') в строке.
TIA