SORU
18 Aralık 2010, CUMARTESİ


'çağrı şablon arasındaki farkı' ve '-şablonları uygulamak' xsl nedir?

Küçük iki etiketleri, hakkında biraz kafam karıştı XSLT yeni duyuyorum

<xsl:apply-templates name="nodes">

ve

<xsl:call-template select="nodes"> 

Yani aralarındaki fark listesi yapabilir misin?

CEVAP
18 Aralık 2010, CUMARTESİ


<xsl:call-template> yakın geleneksel bir programlama dilinde fonksiyon çağırma eşdeğerdir.

Bir dize verir, bu basit gibi XSLT işlevleri tanımlayabilirsiniz.

<xsl:template name="dosomething">
  <xsl:text>A function that does something</xsl:text>
</xsl:template>

Bu fonksiyon <xsl:call-template name="dosomething">) çağrılabilir.

<xsl:apply-templates> XSLT gerçek gücü bu biraz farklı, ve: XML düğümleri herhangi bir sayı select tanımlama öznitelik (ne olursa olsun), onları dolaşır alır (bu çok önemli: geçerli şablon gibi bir döngü çalışıyor!ve onlar için eşleşen şablonları bulur:

<!-- sample XML snippet -->
<xml>
  <foo /><bar /><baz />
</xml>

<!-- sample XSLT snippet -->
<xsl:template match="xml">
  <xsl:apply-templates select="*" /> <!-- three nodes selected here -->
</xsl:template>

<xsl:template match="foo"> <!-- will be called once -->
  <xsl:text>foo element encountered</xsl:text>
</xsl:template>

<xsl:template match="*"> <!-- will be called twice -->
  <xsl:text>other element countered</xsl:text>
</xsl:template>

Bu şekilde XSLT işlemci - program akışı nereye gideceğine karar vermek için küçük bir kontrol verir, ama işlemci şu anda işliyor düğüm için en uygun maç bularak yapar.

Eğer birden çok şablon bir düğüm maçı, daha özel bir ifade kazanır maçı. Eğer aynı özellikte birden fazla eşleşen şablon varsa, son bir galibiyet ilan etti.

Daha fazla gelişmekte olan şablonlar konsantre ve yapmak için daha az zamana ihtiyacınız olabilir "". sıhhi tesisat Programlarınızı daha güçlü ve daha fazla iç içe ve daha hızlı XSLT şablonu eşleşen işlemciler için optimize edilmiş olarak tasarlanmıştı olacak.

XSLT ile anlamak için bir kavram bu "düğüm". mevcut <xsl:apply-templates> akım düğümü <xsl:call-template> geçerli düğüm değiştirmez ise her yineleme ile geçer. I. e. adlı bir şablon içinde . arama şablonu . aynı düğüm anlamına gelir. Bu Uygula-şablonları ile durum böyle değil.

Bu temel farktır. Davranışlarını etkileyen şablonları diğer bazı yönleri vardır: ** 16 priority şablonlar name match Her ikisi de olabilir aslında. Bu şablonu (<xsl:import>) ithal edilmiş olup olmadığını da etkisi vardır. Bu gelişmiş kullanır ve oraya gittiğinde onlarla başa çıkabilirim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • joshsnice

    joshsnice

    28 Kasım 2006
  • MW Technology

    MW Technolog

    28 EKİM 2009
  • MofoHifi Records

    MofoHifi Rec

    15 HAZİRAN 2006