Kategorija Arhiva: XSLT

XSLT i Jquery Uzorci

Imam bio događaj puno XSLT i jQuery i pomislio bih podijeliti nekoliko isječaka da drugi mogu biti korisne u budućnosti.

Primjer 1: Šalji jednostavan JavaScript / jQuery u XSLT:

<XSL:Predložak utakmica = "nešto" xml:prostor = "sačuvati">

  <!– Blank iz upita prijateljski filteri skrivene polje –>
  <skripta type = "text / javascript">
    $(dokument).spreman(funkcija(){
      $("# QueryFriendlyFilters").Val("Prazan");
    });
  </skripta>

</XSL:predložak>

To malo emitira neke JavaScript da čeka na stranici završi učitavanje (zbog $(dokument).spreman(...)) a zatim postavlja vrijednost skrivenog polja pod nazivom QueryFriendlyFilters u doslovnom vrijednosti "prazan".

Primjer 2: Koristiti <XSL:ako> provjerite "veći od",  "Manje od", itd..

<XSL:Predložak utakmica = "nešto" xml:prostor = "sačuvati">

  <div id = "fdcAllFilters">
 
    <XSL:ako se test = "@ Točka>0">
      <span class = "fdcFilterLabel">Trenutni uvjeti:</raspon>
    </XSL:ako>

    <!– više stvari događa ovdje. –>

</XSL:predložak>

Gore isječak provjerava da li atribut pod nazivom "Grof" u "nešto" element je veći od nule.  XML iza toga će biti nešto poput:"

<nešto Count = "5" />

Primjer 3: Iteraciju kroz sve elemente, interspersing jQuery poziva.

<!– Iteraciju kroz sve filtere i prikazati točno  linkovi. –>
<XSL:za-svaki odaberite UserFilter = "">

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

  <span class = "fdcFilterLabel"><XSL:vrijednost od select = "@ FilterValue" /></raspon>

  <skripta type = "text / javascript">

    $(dokument).spreman(funkcija(){
        <XSL:tekst><![CDATA[$("# QueryFriendlyFilters").Val( ($("# QueryFriendlyFilters").Val() + " ]]></XSL:tekst>\"<XSL:vrijednost od select = "@ FilterValue" />\"<XSL:tekst><![CDATA["));]]></XSL:tekst>
    });

  </skripta>

</XSL:za-svakog>

Iznad isječak je najsloženiji i postoji svibanj biti lakši načini kako to učiniti.

XML iza to izgleda otprilike ovako:

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

Ovaj isječak Ponavljanje kroz <Upute za filter> čvorova. 

To je prvi emitira sidro oznaku da kada se pritisne poziva JavaScript funkciju koja je već na stranici, "MySubmitPage" i prelazi vrijednost atributa na <Upute za filter> čvor pod nazivom "ID". 

On je tada emitira neki jQuery koja čeka za stranicu za učitavanje.  To Jquery ažuriranja skrivene polje pod nazivom "QueryFriendlyFilters" dodavanjem vrijednosti FilterValue atribut.  Imajte na umu sve ludo <XSL:tekst> i <![CDATA[ ... ]]> stvari.

To je to, nadam se da pomaže!

</kraj>

Pretplatite se na moj blog.

Slijedite me na Twitter-u http://www.twitter.com/pagalvin

Beskrajno Gniježđenje <div> Oznake i Jquery

Ovo se čini kao takvog otkačen temu, Nisam siguran da je stvarno vrijedno bloganje o, ali to nikada me zaustavio prije, pa ovdje mi ići Osmijeh

Radim na projektu gdje sam povlačenjem neke podatke iz pretraživanja, to pakiranje se u XML poruke, a zatim da je XML konačnici se pretvara u HTML-u preko XSLT.  Postoji puno jQuery uključeni, jedan malo koji implementira neke tabbing funkcionalnost.  Kad kliknete na kartici (stvarno, a <div>), jQuery zaziva. skrivanje() a. serija() na raznim divs (početna stranica učitavanje preuzima sav sadržaj tako da ne postoje postbacks u ovom slučaju).

Gomila sati prije, Kartica prebacivanje logika počeo ponašati neizvjesno, a to ne bi pokazati jedan od mojih karticama.  I u konačnici to trag na činjenicu da Internet Explorer (barem) Mislio da je <div> tags uklopljeni sada, daleko dublje od intended.The developer alatnoj traci će se prikazati:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           ..............................
                   </div>  <-Napokon pokazuje da je zatvorena skroz ovdje dolje!

Tako, ako jesam $("# Tab1Content").sakriti(), Također bih sakriti Tab2 a ja nikad ne bi mogla pokazati Tab2 ako nisam također pokazuju TAB1.  Ja kopirati i zalijepiti kôd se u Visual Studio, a to su pokazali sve DIV-a sluznice se lijepo, baš kao što su trebali raditi, izgleda ovako:

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

Pobijedio sam glavom o zid za vrijeme i primijetio da je u aktualnom HTML koda je generiranje puno prazna <div> tags, kao:

<tijelo>

  <div id = "Tab1Content">

    <div id = "ROW1" />
    <div id = "ROW2" />

  </div>

  <div id = "Tab2Content">

    <div id = "ROW1" />
    <div id = "ROW2" />

  </div>

</tijelo>

(Gore je waaaaaaaaaaaay pojednostavni.  Prazne div oznake su totalno vrijede. Neki od mojih <div> tags bili puni sadržaj, , ali mnogo više nije bilo.  Došao sam do spoznaje da je moja <XSL:za-svakog> Smjernice su emitiranjem na kratki upitnik div oznake kada XSL:za-jedni nije 'naći nikakve podatke.  Sam prisiljen HTML komentar na izlazu, kao što je prikazano:

image

 

Nakon što sam to učinio, Svi div je postrojilo se lijepo i moja kartica prebacivanje počeo raditi.

Kao i uvijek, Nadam se da ovo pomaže netko u slučaju krajnje nužde.

</kraj>

Pretplatite se na moj blog.

Slijedite me na Twitter-u http://www.twitter.com/pagalvin

Primjer: XSLT Stvaranje HTML href-a

Ive 'bio događaj malo XSL stvari u zadnje vrijeme i mislio sam staviti zajedno uzorak za moje buduće potrebe i koji bi mogli biti od vrijednosti za sve nas XSLT-katore zaraditi za život u internets.

Razmislite o sljedećem XML:

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

Sljedeći isječak XSL će generirati popis sortiran hrefs karticama:

<XSL:Predložak utakmica = "FdcSearchTabsCollection" xml:prostor = "sačuvati">
   
    <!– "Sve" kartica –>
    <href = "javascript:PrikazTabulator(‘All’)">Vidi sve</a>
   
    <!– Svaki pojedinac kartica –>
    <!– Iteraciju kroz sve kartice i prikazati točno  linkovi. –>
    <XSL:za-svaki odaberite SearchTab = "">
      <XSL:vrsta select = "@ SortOrder" />

      …
      <href = "javascript:PrikazTabulator('{@ TabID}')"><XSL:vrijednost od = odaberite "@ znaka" /></a>
    </XSL:za-svakog>

    <br /> 
   

   </XSL:predložak>

Evo kako to izgleda u sustavu SharePoint:

SNAGHTML78aa2cb

 

 

</kraj>

Pretplatite se na moj blog.

Slijedite me na Twitter-u http://www.twitter.com/pagalvin