Categoria Arkistot: XSLT

XSLT- ja jQuery näytettä

Olen tehnyt paljon XSLT, jQuery ja ajattelin jakaa muutamia katkelmia, että muut voivat löytää hyödyllisiä tulevaisuudessa.

Esimerkki 1: Päästää yksinkertainen JavaScript / jQuery XSLT-muodossa:

<XSL:malli ottelu = "jotain" XML:tila = "säilömään">

  <!– Tyhjä kyselyn ystävällinen suodattimet Piilokentän ulos –>
  <komentosarjan tyyppi = "text/javascript">
    $(asiakirja).valmis(funktio(){
      $("#QueryFriendlyFilters").Val("tyhjä");
    });
  </Script>

</XSL:malli>

Että vähän päästää joitakin ohjelman, joka odottaa hotellipoika jotta lopettaa lastaus (koska $(asiakirja).valmis(…)) ja sitten asetetaan piilotetun kentän arvo nimettiin QueryFriendlyFilters "tyhjä" literaaliarvon.

Esimerkki 2: Käyttö <XSL:Jos> Tarkista "suuremmat",  "alle", jne.

<XSL:malli ottelu = "jotain" XML:tila = "säilömään">

  <div id = "fdcAllFilters">
 
    <XSL:Jos test="@Count>0">
      <span class = "fdcFilterLabel">Nykyiset suodattimet:</span>
    </XSL:Jos>

    <!– enemmän tavaraa tapahtuu täällä. –>

</XSL:malli>

Koodinpätkä tarkistaa, jos ominaisuus nimeltä "Count" "jotain" elementti on suurempi kuin nolla.  XML taustalla olisi jotain:”

<jotain Count = "5" />

Esimerkki 3: Käydä läpi kaikki elementit, Lomittaminen jQuery puhelut.

<!– Käydä läpi kaikki suodattimet ja näyttää oikean  linkit. –>
<XSL:kullekin select = "UserFilter">

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

  <span class = "fdcFilterLabel"><XSL:arvo-ja select="@FilterValue"/></span>

  <komentosarjan tyyppi = "text/javascript">

    $(asiakirja).valmis(funktio(){
        <XSL:teksti><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:teksti>\"<XSL:arvo-ja select="@FilterValue"/>\"<XSL:teksti><![CDATA["));]]></XSL:teksti>
    });

  </Script>

</XSL:for-each>

Edellä koodinpätkä on kaikkein monimutkaisin ja voi olla helpompaa tapaa tehdä se.

XML taustalla näyttää suunnilleen tältä:

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

Tämä pätkä läpikäyminen <UserFilter> solmut. 

Tuottamiensa ankkuri tag, että napsautettaessa vetoaa JavaScript-toiminto, joka on jo sivulla, "mySubmitPage" ja välittää määritteen arvo <UserFilter> solmu nimeltä "Tunnus". 

Se säteilee jQuery, joka odottaa sivu latautuu.  Että jQuery päivittää piilotettu kenttä nimeltä "QueryFriendlyFilters" lisäämällä FilterValue-määritteen arvo.  Huomautus Kaikki hullu <XSL:teksti> ja <![CDATA[ … ]]> jutut.

Se on siinä, odottaa se auttaa!

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Loputtomasti sisäkkäisyys <div> Tunnisteet ja jQuery

Tämä näyttää siltä, että tällaiset: oddball-aiheessa, En ole varma, se kannattaa todellakin blogging noin, mutta joka on koskaan pysäytetty ennen, joten tässä meidän mennä Hymy

Jos vetäminen joitakin tietoja haun kautta projektin työskentelen, pakaten se ardor XML-viestin ja että XML muuttuu lopulta HTML kautta XSLT.  On paljon jQuery, yksi vähän joka toteuttaa joitakin tabbing toimintoja.  Kun valitset välilehti (Todella, a <div>), jQuery vetoaa .hide() ja .show() kaupungin eri divs (alkuperäisen sivun latausaika Lataa kaiken sisällön, joten ei ole postbacks tässä tapauksessa).

Joukko toukokuu, Kaistale heilahdus logiikka on alkanut käyttäytyä odottamattomalla tavalla ja se ei Näytä yksi välilehtiäni.  Lopulta jäljittää se siitä, että internet Exploreria (ainakin) Ajattelin, että <div> Sisäkkäiset paljon Tunnisteet, paljon syvemmällä kuin on tarkoitettu.Kehittäjä-työkalurivin osoittaisi:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           …………………………
                   </div>  <-Lopuksi osoittaa se suljettiin aina täällä!

Niin, Jos tein $("#Tab1Content").Piilota(), Haluaisin myös piilottaa Välilehti2 ja voisin koskaan näyttää Välilehti2 jos en näyttänyt Tab1.  Kopioida ja liittää koodin visual studio ja se osoitti kaikki div riviin hienosti, aivan kuten ne oli tarkoitus tehdä, Tällainen:

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

Lyödä päätä seinään taas ja huomasin, että todellinen HTML koodi tuottaa paljon tyhjiä <div> Tunnisteet, kuten:

<kehon>

  <div id = "Tab1Content">

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

  </div>

  <div id = "Tab2Content">

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

  </div>

</kehon>

(Edellä on yksinkertaistettu waaaaaaaaaaaay.  Tyhjä div tags on täysin pätevä. Osa minun <div> Tunnisteet olivat täynnä sisältöä, mutta monet muut eivät.  Tulin ymmärtämään, että minun <XSL:for-each> direktiivien olimme päästöt lyhyen lomakkeen div Tunnisteet Kun xsl:kullekin eivät "löytänyt yhtään tietoja.  HTML-kommentti pakotetaan tuotos, kuten:

image

 

Kun tein, että, Kaikki div rivissä kauniisti ja välilehden vaihtaminen aloitti.

Kuten aina, Toivottavasti tämä auttaa joku hyppysellinen.

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Esimerkki: XSLT luominen HTML-Href

Olen ollut tekemässä XSL tavaraa hieman viime aikoina ja haluan esittää yhdessä otoksen myöhempää käyttöä varten ja jotka voivat olla arvo meidän kaikkien XSLT-ers ansaitsemiseksi oletusverkko.

Harkitse seuraavia XML:

<FdcSearchTabsCollection määrä = "2">
  <SearchTab otsikko = "tuotannonalan" Lajittelujärjestys = "00" otsikko "Industries" SearchConstraints = "contenttype =:Tuotannonalan" TabID = "831b2a74-98c4-4453-8061-86e2fdb22c63" />
  <SearchTab otsikko = "käytännöt" Lajittelujärjestys = "01" otsikko "Käytännöt" SearchConstraints = "contenttype =:PracticeGroups" TabID = "678e206b-6996-421f-9765-b0558fe1a9c0" />
</FdcSearchTabsCollection>

XSL-koodinpätkä tuottaa lajitellun luettelon hrefs välilehdet:

<XSL:mallin vastine = "FdcSearchTabsCollection" XML:tila = "säilömään">
   
    <!– "-Kaikki" välilehti –>
    <href = "javascript:ViewTab("Kaikki")">Näytä kaikki</a>
   
    <!– Kunkin yksittäisen välilehden –>
    <!– Käydä läpi kaikki välilehdet ja näyttää oikean  linkit. –>
    <XSL:for-each Valitse = "SearchTab">
      <XSL:Lajittele select="@SortOrder"/>

      …
      <href = "javascript:ViewTab(‘{@ TabID}’)"><XSL:arvo-ja select="@Label"/></a>
    </XSL:for-each>

    <br /> 
   

   </XSL:malli>

Tässä on, miltä se näyttää SharePoint:

SNAGHTML78aa2cb

 

 

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin