Címkearchívumok: XSLT

XSLT- és jQuery minták

Van csinálás sok XSLT és jQuery és gondolkodás én akar osztozik néhány mozaik, hogy mások hasznosnak találhatja a jövőben.

Példa 1: Egyszerű JavaScript bocsátanak ki / az XSLT jQuery:

<XSL:sablon egyezés = "valami" XML:szóköz = "megőrzése">

  <!– Ki a lekérdezés barátságos szűrők rejtett mező üres –>
  <a parancsfájl típus = "text/javascript">
    $(dokumentum).kész(függvény(){
      $("#QueryFriendlyFilters").val("üres");
    });
  </parancsfájl>

</XSL:sablon>

Hogy kicsit bocsát ki az egyes JavaScript, hogy megvárja, amíg az oldal befejezni berakodás (miatt a $(dokumentum).kész(…)) és ezután beállítja egy rejtett mező értéke nevű QueryFriendlyFilters a literális érték "üres".

Példa 2: Használata <XSL:Ha> "nagyobb, mint" ellenőrzése,  „kisebb jel ”, stb.

<XSL:sablon egyezés = "valami" XML:szóköz = "megőrzése">

  <Div id = "fdcAllFilters">
 
    <XSL:Ha test="@Count>0">
      <span class = "fdcFilterLabel">Aktuális szűrők:</span>
    </XSL:Ha>

    <!– több dolog történik itt. –>

</XSL:sablon>

A fenti kódrészletben ellenőrzi, hogy ha a "valami" elem "számítanak" nevű attribútum értéke nagyobb nullánál.  Az XML-mögött ez lenne valami ilyesmi:”

<valami Count = "5" />

Példa 3: Iteráció az összes elem, interspersing jQuery hívások.

<!– Minden szűrőn keresztül Bejárjuk és a helyes megjelenítéséhez  hivatkozások. –>
<XSL:for each select = "UserFilter">

  <egy osztály "FilterHref =" href = "javascript:mySubmitPage("RemoveUserFilter",'{@ AZONOSÍTÓ}’)">[X]</egy>

  <span class = "fdcFilterLabel"><XSL:érték a select="@FilterValue"/></span>

  <a parancsfájl típus = "text/javascript">

    $(dokumentum).kész(függvény(){
        <XSL:szöveg><![CDATA[$("#QueryFriendlyFilters").val( ($("#QueryFriendlyFilters").val() + " ]]></XSL:szöveg>\"<XSL:érték a select="@FilterValue"/>\"<XSL:szöveg><![CDATA["));]]></XSL:szöveg>
    });

  </parancsfájl>

</XSL:for each>

A fenti kódrészletben a legbonyolultabb és azt könnyebb módjai lehetnek.

Az XML-mögött ez néz durván:

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

Ez a kódrészlet keresztül van léptetés <UserFilter> csomópontok. 

Először bocsát ki horgony kódelem, hogy mikor csattant már az oldalon JavaScript-függvény meghívja, "mySubmitPage", és átadja az attribútum értéke a <UserFilter> "Azonosító" nevű csomópontra. 

Majd néhány jQuery, hogy megvárja, amíg az oldal betöltése bocsát ki.  Hogy jQuery frissíti az FilterValue attribútum értékének hozzáadásával a "QueryFriendlyFilters" nevű rejtett mező.  Megjegyzés: a őrült <XSL:szöveg> és <![CDATA[ … ]]> megtöm.

Ez, Remél ez segít!

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Végtelenül beágyazása <Div> Címkék és jQuery

Ez úgy tűnik, mint a oddball téma, Nem vagyok biztos benne, tényleg megéri blogging körülbelül, de amit soha nem leállt előtt nekem, so here we go Mosoly

Dolgozom a projekt, ahol vagyok húz a keresésből néhány adat, XML-üzenetet, majd az XML csomagolás végső soron részszabványokat HTML keresztül XSLT.  Van egy csomó jQuery érintett, egy kicsit néhány bejárási funkciót valósítja meg.  Ha rákattint egy lapon (valóban, egy <Div>), jQuery meghívja .hide() és .show() a különböző div-ekre (a kezdeti oldal teher letöltések minden tartalom, így van ebben az esetben nem a visszaküldések).

Egy csomó órával ezelőtt, Váltás a logikai lap kezdett kiszámíthatatlanul viselkednek, és ez nem mutat én a fülek egyikére.  Én végül nyomon azt le arra a tényre, hogy az internet explorer (legalább) azt hitte, hogy a <Div> messze egymásba ágyazott címkék, sokkal mélyebb, mint a tervezett.A fejlesztő eszköztár volna megjelenítése:

-<Div id = "Tab1Content">
  -<Div>
    -<Div>
      -<Div id = "Tab2Content">
        -<Div>
           …………………………
                   </Div>  <— Végül mutatja azt bezárták minden módon itt!

Így, én tett egy $("# Tab1Content").elrejtése(), Azt is elrejtheti az Tab2 és lehetett soha nem mutatni Tab2 ha nem is show Tab1.  Én fénymásoló és tészta a kód-ba visual studio, és megmutatta a div vonalba minden szépen, csak szeret ők voltak feltételezett-hoz csinál, mint ez keres:

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

Üt a fejem ellen a fal egy darabig, és észrevettem, hogy a tényleges HTML kódot generáló volt sok üres <Div> Címkék, mint:

<szerv>

  <Div id = "Tab1Content">

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

  </Div>

  <Div id = "Tab2Content">

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

  </Div>

</szerv>

(A fenti túlegyszerűsített waaaaaaaaaaaay.  Az üres div címkék teljesen érvényesek. Néhány én <Div> Címkék voltak teljes tartalom, de nem volt sok több.  Azért jöttem, hogy a megvalósítás, az én-m <XSL:for each> irányelvek kibocsátó voltak a rövid alakos div címkék, amikor az xsl:for each nem ' minden adat megkereséséhez.  A kimeneti HTML-megjegyzés kénytelen azt, Amint:

image

 

Után tett amit, a div szépen oszlopszélességeket és én fülre-kapcsol kezdett el dolgozni.

Mint mindig, Remélem, ez segít valaki, egy csipet.

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Példa: XSLT létrehozása HTML Href

Már csinált egy kis XSL cucc mostanában, és gondoltam tettem össze a mintát a a jövőben is, és lehet, hogy mindannyiunk számára érték XSLT-esek, hogy egy élő, a internets.

Fontolja meg a következő XML-t:

<FdcSearchTabsCollection szám = "2">
  <SearchTab Label = "ipar" SortOrder = "00" Label = "Ipar" SearchConstraints = "contenttype:Iparág" TabID = "831b2a74-98c4-4453-8061-86e2fdb22c63" />
  <SearchTab Label = "gyakorlatok" SortOrder = "01" Label = "Gyakorlat" SearchConstraints = "contenttype:PracticeGroups" TabID = "678e206b-6996-421f-9765-b0558fe1a9c0" />
</FdcSearchTabsCollection>

A következő XSL-részlet akarat létrehoz egy rendezett listát tabs href Címkék:

<XSL:sablon match = "FdcSearchTabsCollection" XML:szóköz = "megőrzése">
   
    <!– A "minden" Lap –>
    <a href = "javascript:ViewTab("A)">Minden</egy>
   
    <!– Minden egyes lap –>
    <!– Utazgat átmenő minden a Tabs, és megjeleníti a megfelelő  hivatkozások. –>
    <XSL:-minden select = "SearchTab">
      <XSL:Rendezés select="@SortOrder"/>

      …
      <a href = "javascript:ViewTab(‘{@TabID}’)"><XSL:érték-ból select="@Label"/></egy>
    </XSL:for each>

    <br /> 
   

   </XSL:sablon>

Itt van, amit úgy néz ki, mint a SharePoint rendszerben:

SNAGHTML78aa2cb

 

 

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin