Kategorija Arhīvs: XSLT

XSLT un jQuery paraugi

Man ir darot daudz XSLT un jQuery un vēlētos dalīties dažas daļiņas, kas citiem var noderēt nākotnē doma.

Piemērs 1: Izstarot vienkāršu JavaScript / jQuery XSLT:

<XSL:veidne atbilst = "kaut kas" XML:vieta = "saglabāt">

  <!– Tukšu, vaicājums draudzīgi filtri slēptu lauku –>
  <skripta tips = "text/javascript">
    $(dokumentu).gatavs(funkcija(){
      $("#QueryFriendlyFilters").Val("tukšās");
    });
  </skriptu>

</XSL:Veidne:>

Ka mazliet izdala dažas JavaScript, kas gaida uz lapu lejuplādēšanas pabeigšanai (tāpēc, ka $(dokumentu).gatavs(…)) un tad kopas slēptā lauka vērtība nosaukta QueryFriendlyFilters "tukšās" literāļa vērtību.

Piemērs 2: Lietošanas <XSL:Ja> lai pārbaudītu "lielāks nekā",  "mazāks par", uc.

<XSL:veidne atbilst = "kaut kas" XML:vieta = "saglabāt">

  <div id = "fdcAllFilters">
 
    <XSL:Ja test="@Count>0">
      <span class = "fdcFilterLabel">Pašreizējos filtrus:</laiduma>
    </XSL:Ja>

    <!– vairāk stuff notiek šeit. –>

</XSL:Veidne:>

Virs fragments pārbauda, vai ar nosaukumu "Skaits", "kaut kas" elementa atribūts ir lielāks par nulli.  XML aiz šī varētu būt kaut kas līdzīgs:”

<kaut kas Count = "5" />

Piemērs 3: Atkārtot ar visiem elementiem, Interspersing jQuery zvanus.

<!– Atkārtot ar filtriem un apskatīt pareizos  saites. –>
<XSL:par katru atlases = "UserFilter">

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

  <span class = "fdcFilterLabel"><XSL:vērtību, select="@FilterValue"/></laiduma>

  <skripta tips = "text/javascript">

    $(dokumentu).gatavs(funkcija(){
        <XSL:teksts><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:teksts>\"<XSL:vērtību, select="@FilterValue"/>\"<XSL:teksts><![CDATA["));]]></XSL:teksts>
    });

  </skriptu>

</XSL:par katru>

Virs fragments ir vissarežģītākās un var būt vieglāk, kā to izdarīt.

XML aiz tas apmēram izskatās šādi:

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

Šis fragments ir atkārtojot caur <UserFilter> mezgliem. 

Vispirms tas izstaro enkurs tagu, kas noklikšķinājis uz JavaScript funkcija, kas jau ir lapas, kas atsaucas uz, "mySubmitPage" un nodod atribūta vērtība <UserFilter> mezglu ar nosaukumu "ID". 

Tad tas izstaro daži jQuery, kas gaida, lai ielādētu lapu.  Ka jQuery atjaunina slēpts lauks ar nosaukumu "QueryFriendlyFilters", pievienojot FilterValue atribūta vērtību.  Piezīme visas crazy <XSL:teksts> un <![CDATA[ … ]]> sīkumi.

That's it, ceru, ka tas palīdz!

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Bezgalīgi ligzdošanas <DIV> Tagus un jQuery

Tas šķiet tik oddball temats, Es neesmu pārliecināts, ka tas ir tiešām vērts blogošana par, bet tas nekad nav pārstājusi mani, pirms, tāpēc šeit mēs iet smaids

Es esmu strādā pie projekta, kur es esmu vilkšana daži dati no meklēšanas, iepakojuma to XML ziņojumu un pēc tam šīs XML galu galā pārveidots HTML, izmantojot XSLT.  Pastāv daudz jQuery, viens bits, kuru ievieš dažus tabulēšanas funkcionalitāti.  Kad noklikšķināt uz cilnes (tiešām, a <DIV>), jQuery izsauc .hide() un .show() par dažādiem divs (sākuma lapas ielādes lejupielādē visu saturu, tādēļ šajā gadījumā nav postbacks).

Ķekars minutes ago, tab pārslēgšanas loģika sāka izturēties erratically, un tas nevarētu rādīt manas zīmnes.  Es galu galā izsekot to uz leju, lai tas, ka programma Internet explorer (vismaz) šķita, ka <DIV> tagus, kas ir daudz ligzdotu, daudz dziļāk, nekā paredzēts.Attīstītājs rīkjoslā parādītu:

-<div id = "Tab1Content">
  -<DIV>
    -<DIV>
      -<div id = "Tab2Content">
        -<DIV>
           …………………………
                   </DIV>  <— beidzot rāda tika slēgts līdz galam lejā!

Tik, Ja es tā $("# Tab1Content").paslēpt(), Es arī slēpt Tab2 un varētu nekad nerādīt Tab2 ja nav arī parādīt Tab1.  Es kopēt un ielīmēt kodu uz augšu visual studio un tā parādīja, ka visi div odere līdz labi, tāpat, kā tie bija vajadzēja darīt, meklējat, piemēram, tas:

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

Pārspēt manu galvu pret sienu, uz brīdi, un ievēroju, ka faktisko HTML kodu bija radīt daudz tukšu <DIV> Tags, piemēram:

<organizācija>

  <div id = "Tab1Content">

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

  </DIV>

  <div id = "Tab2Content">

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

  </DIV>

</organizācija>

(Iepriekš ir waaaaaaaaaaaay, pārspīlēti.  Tukšu div tagiem ir pilnīgi derīgs. Daži no maniem <DIV> Tags bija pilna ar saturu, bet daudz vairāk nebija.  Es nonācu pie secinājuma, ka manas <XSL:par katru> direktīvās bija izstaro formas īss div tagiem, ja xsl:par katru nav "atrast visus datus.  Izvade ir spiesti HTML komentāru, kā parādīts:

image

 

Pēc tam, kad man bija, ka, labi ierindots visi div un mana tab pārslēgšanas sāka strādāt.

Kā vienmēr, Es ceru, ka tas palīdz kāds šķipsnu.

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Piemērs: XSLT izveidot HTML Href ir

Esmu bijis dara mazliet XSL stuff pēdējā laikā un domāju, ka es liktu kopā izlasi manu turpmākai izmantošanai un kas var būt noderīga mums visiem XSLT ers iztikas pelnīšanu, internets.

Apsveriet šādas XML:

<FdcSearchTabsCollection Count = "2">
  <SearchTab Label = "Industry" SortOrder = "00" Label = "Nozaru" SearchConstraints = "contenttype:Rūpniecība" TabID = "831b2a74-98c4-4453-8061-86e2fdb22c63" />
  <SearchTab Label = "prakse" SortOrder = "01" Label = "Prakse" SearchConstraints = "contenttype:PracticeGroups" TabID = "678e206b-6996-421f-9765-b0558fe1a9c0" />
</FdcSearchTabsCollection>

Šādu XSL fragmentu radīs kārtotajā sarakstā hrefs ciļņu:

<XSL:veidne atbilst "FdcSearchTabsCollection =" XML:vieta = "saglabāt">
   
    <!– "Visu" cilne –>
    <href = "javascript:ViewTab("Visiem")">Skatīt visas</a>
   
    <!– Katru atsevišķu cilni –>
    <!– Atkārtot ar visām cilnēm un apskatīt pareizos  saites. –>
    <XSL:par katru atlases = "SearchTab">
      <XSL:kārtot select="@SortOrder"/>

      …
      <href = "javascript:ViewTab(‘{@TabID}’)"><XSL:vērtību, select="@Label"/></a>
    </XSL:par katru>

    <br /> 
   

   </XSL:Veidne:>

Lūk, kā tas izskatās, ka SharePoint:

SNAGHTML78aa2cb

 

 

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin