Как вызвать конкретное имя класса CSS в операторе xsl: when test =, чтобы проверка оказалась верной? - PullRequest
1 голос
/ 16 марта 2012

У меня есть компонент ротатора, который действует на домашней странице одним образом, а на каждой другой - другим способом.Я хочу удалить еще один атрибут, когда он находится на домашней странице внутри CSS-класса div "tabimage".

<div class="tabimage">
<xsl:apply-templates select="RotatorComponent[@Name = 'ProfileRotator']"/>

Вот полный код.Первый тест - это то, над чем я работаю, когда и в остальном работает нормально.После публикации этого вопроса я пришел к выводу, что мне нужно не просто выбрать CSS, но как-то отличить его, если он является родительским или нет компонента ротатора, верно?

<xsl:template match="RotatorComponent[@Name='ProfileRotator']/Navigation/Page" mode="Rotator">
        <xsl:param name="visible" />

        <xsl:if test="parent::node/@RotatorComponent = 'tabimage'">     
                <div class="assessimg"><a href="{@URL}" style="margin-left:500px"><img src="images/{@Thumbnail}" alt="{@ProfileName}" width="189" height="213"/></a></div>      
        </xsl:if>                   

        <xsl:choose>        
            <xsl:when test="not(/HomePage)">
                <xsl:if test="@Thumbnail">
                    <a href="{@URL}">
                        <img src="images/{@Thumbnail}" alt="{@Title}"/>
                    </a>
                </xsl:if>
                <p class="quote"><xsl:value-of select="@Quote"/></p>    
            </xsl:when>

            <xsl:otherwise>
                    <div class="module">
                        <div class="assessbox">
                            <div class="studentprofileboxinner">
                                <xsl:variable name="profileVar" select="/*/Page[@Name = 'Profile']"/>   
                                <div class="assessimg"><a href="{@URL}" style="margin-left:-5px"><img src="images/{@Thumbnail}" alt="{@ProfileName}" width="189" height="113"/></a></div            
                                <div class="assesscopy">
                                    <h3><xsl:value-of select="@ProfileType"/> Story</h3>
                                    <p><xsl:value-of select="@Abstract"/></p>
                                    <a href="{@URL}" class="assessimage"></a> <!--assessimage-->
                                    <!--assessimage-->
                                </div>          
                            </div>
                        </div>
                    </div><!-- module -->   
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

1 Ответ

0 голосов
/ 16 марта 2012

Ну, во-первых, это зависит от того, какой узел является текущим, поэтому он зависит от того, какие операторы вызываются перед элементом выбора.Если текущий узел - это div, то тест должен работать;если это не так, то это не сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...