确定xslt中的父父模板

时间:2014-10-13 08:26:43

标签: xml xslt

我有一个问题,我需要根据父母模板进行一些模板更改。在此示例中,如果父模板为PhysicalPerson,则模板Debtor为“是”,如果Claimant,则为{0}。并且所有不同之处在于,Name在一个中是必需的,而在另一个中是必需的,以及链接  <a class="UserDataButton" style="float:right; padding:2px 2px 0 0;">Insert my data</a>我首先需要但不要排在第二位。

甚至可以确定标签是否属于特定的父母模板吗?或者我需要不同的方法?

<xsl:template match="t:Debtor">
    <div class="tab-pane" id="tab-Debtor" data-tab-name="Debtor">
      <xsl:apply-templates select="t:PhysicalPerson" />
      <xsl:apply-templates select="t:LegalPerson" />
      <xsl:apply-templates select="t:AddressList" />
      <xsl:apply-templates select="t:PhoneList" />
      <xsl:apply-templates select="t:EmailList" />
    </div>
</xsl:template>

<xsl:template match="t:Claimant">
    <div class="tab-pane" id="tab-Claimant" data-tab-name="Claimant">
        <xsl:apply-templates select="t:PhysicalPerson" />
        <xsl:apply-templates select="t:LegalPerson" />
        <xsl:apply-templates select="t:AddressList" />
        <xsl:apply-templates select="t:PhoneList" />
        <xsl:apply-templates select="t:EmailList" />
    </div>
</xsl:template>


<xsl:template match="t:PhysicalPerson">
    <div>
      <div class="fiz_persona">
        <div style="float:left; padding:2px 0 0 2px;">
          Physical Person
        </div>
        <a class="UserDataButton" style="float:right; padding:2px 2px 0 0;">
          Insert my data
        </a>
        <br />
        <label class="floatleft required"><span class="star">*</span>
          Name
        </label>
        ...................

1 个答案:

答案 0 :(得分:0)

如果您使用<xsl:template match="t:Debtor/t:PhysicalPerson">,则该模板仅适用于具有t:PhysicalPerson父元素的t:Debtor元素。然后,您可以编写另一个模板<xsl:template match="t:Claimant/t:PhysicalPerson">...</xsl:template>