jamii Archives: XSLT

XSLT na Sampuli jQuery

Nimekuwa kufanya mengi ya ya XSLT na jQuery na mawazo ningependa kushiriki snippets wachache wengine wanaweza kupata manufaa katika siku zijazo.

Mfano 1: Emit JavaScript rahisi / jQuery katika XSLT:

<xsl:template match="something" xml:space="preserve">

  <!– Tupu nje ya swala filters kirafiki siri shamba –>
  <script type="text/javascript">
    $(hati).tayari(kazi(){
      $("#QueryFriendlyFilters").val("empty");
    });
  </script>

</xsl:template>

Kwamba kidogo hutoa baadhi JavaScript kwamba tusubiri kwa ukurasa kumaliza upakiaji (kwa sababu ya $(hati).tayari(...)) na kisha unaweka thamani ya shamba siri aitwaye QueryFriendlyFilters kwa thamani halisi "tupu".

Mfano 2: Kutumia <xsl:kama> kuangalia "kubwa kuliko",  "Chini ya", nk.

<xsl:template match="something" xml:space="preserve">

  <div id="fdcAllFilters">
 
    <xsl:if test="@Count>0">
      <span class="fdcFilterLabel">Sasa filters:</span>
    </xsl:kama>

    <!– zaidi stuff kinachotokea hapa. –>

</xsl:template>

snippet juu ya hundi ya kuona kama sifa aitwaye "Count" ya kipengele "kitu" ni kubwa kuliko sufuri.  XML nyuma ya hii itakuwa kitu kama:"

<kitu Count = "5" />

Mfano 3: Iterate kupitia mambo yote, interspersing wito jQuery.

<!– Iterate kupitia filters wote na kuonyesha sahihi  viungo. –>
<xsl:for-each select="UserFilter">

  <a class="FilterHref" href="javascript:mySubmitPage(‘RemoveUserFilter’,'{@ ID}')">[X]</a>

  <span class="fdcFilterLabel"><xsl:value-of select="@FilterValue"/></span>

  <script type="text/javascript">

    $(hati).tayari(kazi(){
        <xsl:Nakala><![CDATA[$("#QueryFriendlyFilters").val( ($("#QueryFriendlyFilters").val() + " ]]></xsl:Nakala>\"<xsl:value-of select="@FilterValue"/>\"<xsl:Nakala><![CDATA["));]]></xsl:Nakala>
    });

  </script>

</xsl:kwa-kila>

snippet juu ni ngumu zaidi na kunaweza kuwa rahisi njia ya kufanya hivyo.

XML nyuma ya hii inaonekana takribani kama hii:

<UserFilter ID = "123" FilterValue = "xyzzy" />

Snippet hii ni iterating kupitia <Mtumiaji Filter> nodes. 

Ni kwanza hutoa tag nanga kwamba wakati clicked waomba kazi JavaScript kwamba tayari ni juu ya ukurasa, "MySubmitPage" na hupita thamani ya sifa juu ya <Mtumiaji Filter> nodi aitwaye "ID". 

Ni kisha hutoa baadhi jQuery kwamba tusubiri kwa ukurasa kupakia.  Kwamba jQuery updates shamba siri aitwaye "QueryFriendlyFilters" kwa kuongeza thamani ya sifa FilterValue.  Kumbuka mambo yote <xsl:Nakala> na <![CDATA[ ... ]]> mambo.

Hiyo ni, matumaini inasaidia!

</mwisho>

Kujiunga na blog yangu.

Kufuata yangu juu ya Twitter kwa http://www.twitter.com/pagalvin

Ukomo nesting <div> Tags na jQuery

Hii inaonekana kama vile mada oddball, Sina uhakika ni kweli thamani ya mabalozi kuhusu, lakini hiyo ni kamwe kusimamishwa mimi kabla, hivyo hapa sisi kwenda Smile

Nafanya kazi katika mradi ambapo nina kuunganisha baadhi ya data kutoka tafuta, ufungaji ni juu katika ujumbe XML na kisha kuwa XML ni hatimaye kubadilishwa katika HTML kupitia XSLT.  Kuna mengi ya jQuery kushiriki, moja kidogo ya ambayo kutekeleza baadhi ya utendaji tabbing.  Wakati bonyeza tab (kweli, a <div>), jQuery waomba kujificha.() na show.() juu ya divs mbalimbali (awali ukurasa mzigo downloads maudhui yote hivyo kuna postbacks hakuna katika kesi hii).

rundo la masaa iliyopita, tab byte mantiki kuanza kuishi erratically na itakuwa si kuonyesha moja ya tabo yangu.  Mimi hatimaye kupatikana kwa chini na ukweli kwamba mtandao Explorer (angalau) walidhani kwamba <div> vitambulisho Furushi mbali, mbali zaidi kuliko toolbar intended.The developer bila kuonyesha:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           ..............................
                   </div>  <-Hatimaye kuonyesha ilikuwa imefungwa njia yote chini hapa!

Hivyo, kama mimi $("# Tab1Content").kujificha(), Ningependa pia kujificha Tab2 na mimi kamwe kuonyesha Tab2 kama sikuwa pia kuonyesha Tab1.  Mimi kunakiliwa na pasted kanuni juu katika studio ya Visual na ilionyesha wote wa bitana div ya up nicely, tu kama wao walikuwa walidhani kuwa kufanya, kuangalia kama hii:

-<div id = "Tab1Content">
  +<div>
  +<div>
-<div id = "Tab2Content">
  +<div>
  +<div>

Mimi kuwapiga kichwa yangu dhidi ya ukuta kwa wakati na niliona kwamba katika kanuni halisi HTML ilikuwa kuzalisha mengi ya tupu <div> tags, kama:

<mwili>

  <div id = "Tab1Content">

    <div id = "row1" />
    <div id = "row2" />

  </div>

  <div id = "Tab2Content">

    <div id = "row1" />
    <div id = "row2" />

  </div>

</mwili>

(hapo juu ni waaaaaaaaaaaay oversimplified.  tupu div vitambulisho ni halali kabisa. Baadhi ya yangu <div> vitambulisho walikuwa kamili ya maudhui, lakini wengi zaidi walikuwa si.  Nimekuja kutambua kuwa yangu <xsl:kwa-kila> maelekezo walikuwa kutotoa moshi vitambulisho div short-fomu wakati XSL:kwa-kila hakuwa 'kupata data yoyote.  Mimi kulazimishwa maoni HTML katika pato, kama inavyoonekana:

image

 

Baada ya mimi kwamba, div wote ni lined up nicely na tab yangu byte kuanza kufanya kazi.

Kama kawaida, Natumaini hii husaidia mtu katika Bana.

</mwisho>

Kujiunga na blog yangu.

Kufuata yangu juu ya Twitter kwa http://www.twitter.com/pagalvin

Mfano: XSLT kujenga HTML href ya

Nimekuwa kufanya kidogo ya mambo XSL hivi karibuni na mawazo ningependa kuweka pamoja sampuli kwa ajili ya kumbukumbu yangu ya baadaye na kwamba inaweza kuwa na thamani ya sisi wote XSLT-ER kufanya hai katika internets.

Fikiria XML zifuatazo:

<FdcSearchTabsCollection Count="2">
  <SearchTab Label="Industry" SortOrder=”00” Label=”Industries” SearchConstraints="contenttype:Viwanda" TabID="831b2a74-98c4-4453-8061-86e2fdb22c63"/>
  <SearchTab Label="Practices" SortOrder=”01” Label=”Practices” SearchConstraints="contenttype:PracticeGroups" TabID="678e206b-6996-421f-9765-b0558fe1a9c0"/>
</FdcSearchTabsCollection>

zifuatazo XSL snippet kuzalisha orodha Iliyopangwa ya tabo hrefs:

<xsl:template match="FdcSearchTabsCollection" xml:space="preserve">
   
    <!– The "all" tab –>
    <a href="javascript:ViewTab(‘All’)">View all</a>
   
    <!– Kila mtu binafsi tab –>
    <!– Iterate kupitia Tabo zote na kuonyesha sahihi  viungo. –>
    <xsl:for-each select="SearchTab">
      <xsl:sort select="@SortOrder"/>

      …
      <a href="javascript:ViewTab('{@TabID}')"><xsl:value-of select="@Label"/></a>
    </xsl:kwa-kila>

    <br /> 
   

   </xsl:template>

Hapa ni nini inaonekana kama katika SharePoint:

SNAGHTML78aa2cb

 

 

</mwisho>

Kujiunga na blog yangu.

Kufuata yangu juu ya Twitter kwa http://www.twitter.com/pagalvin