2016-12-10 2 views
0

Я новичок в XSL и прочитал несколько руководств о том, как это работает. Я уже читал это: Is there an "elegant" way to test that an attribute value starts with a letter?, который в основном я хотел, но он не работает, когда я его пытаюсь. цель этого есть, если значение @ extention.name имеет первые 2 буквы как «ММ», я хочу, чтобы он отображал @ extention.name. Если нет, я хочу показать @ extention.length. Я уверен, что это что-то простое, но в любом случае это то, что у меня есть.XSL - есть ли способ проверить первые 3 буквы значения и если это правда, сделайте это?

  </td> 
      <xsl:if test="@extension.name not contains('MM', substring(@value,1,1))" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
       <xsl:value-of select="@extension.name" /> 
      </xsl:if> 
      <td style="text-align:center;"> 
      <xsl:value-of select="@extension.length" /> 
      </td> 
+1

Пожалуйста, покажите нам ** воспроизводимый пример **, включая ввод и полную (если минимальную) таблицу стилей. Фрагменты кода, взятые из контекста, не помогают - см .: [mcve]. –

ответ

1

цель это, если значение @ extention.name имеет первые 2 буквы как «ММ», я хочу, чтобы отобразить @ extention.name. Если нет, я хочу, чтобы отображал @ extention.length.

Для этого вы должны использовать:

<xsl:choose> 
    <xsl:when test="starts-with(@extension.name, 'MM')"> 
     <xsl:value-of select="@extension.name" /> 
    </xsl:when> 
    <xsl:otherwise> 
     <xsl:value-of select="@extension.length" /> 
    </xsl:otherwise> 
</xsl:choose> 

Для этого, чтобы работать, вы должны быть в контексте родительского элемента ссылочных атрибутов.


Заметим также, что extention это не то же самое, как extension.

+0

так как я могу это сделать. Эти атрибуты заранее определены программой, насколько я знаю, я не могу их изменить. Я помещаю это в стол. Вы хотите, чтобы я поставил это в начале стола? –

+1

@AlexW Я боюсь, что не могу помочь вам, не увидев [mcve]. –

+0

хорошо спасибо за помощь. Ошибка связана с расширением/расширением. –

Смежные вопросы