Archifau Tagiau: XSLT

XSLT a Samplau jQuery

Rwyf wedi bod yn gwneud llawer o o XSLT a jQuery a meddwl y byddwn i'n rhannu pytiau ychydig y gallai eraill fod yn ddefnyddiol yn y dyfodol.

Enghraifft 1: Allyrru JavaScript syml / jQuery yn XSLT:

<XSL:templed cyfatebol = "rhywbeth" xml:gofod = "cadw">

  <!– Blank allan y maes hidlwyr ymholiad gyfeillgar cudd –>
  <sgript math = "testun/javascript">
    $(dogfen).barod(swyddogaeth(){
      $("#QueryFriendlyFilters").val("gwag");
    });
  </sgript>

</XSL:templed>

Ychydig yn allyrru rhai sy'n aros JavaScript ar gyfer y dudalen i orffen llwytho (oherwydd y $(dogfen).barod(...)) ac yna gosod y gwerth o gae cudd a enwir QueryFriendlyFilters i'r gwerth llythrennol "gwag".

Enghraifft 2: Defnyddio <XSL:os> i wirio "yn fwy na",  "Llai na", ac ati.

<XSL:templed cyfatebol = "rhywbeth" xml:gofod = "cadw">

  <DIV id = "fdcAllFilters">
 
    <XSL:Os test="@Count>0">
      <rhychwantu dosbarth = "fdcFilterLabel">Hidlwyr cyfredol:</span>
    </XSL:os>

    <!– mwy o bethau yn digwydd yma. –>

</XSL:templed>

Mae'r snippet uchod yn gwirio i weld os yw priodoledd o'r enw "Cyfrif" y "rhywbeth" elfen yn fwy na sero.  Byddai'r XML tu ôl i hyn fod yn rhywbeth fel:"

<rhywbeth Cyfrif = "5" />

Enghraifft 3: Ailadrodd trwy'r holl elfennau, thraw galwadau jQuery.

<!– Ailadrodd drwy'r holl hidlwyr ac yn arddangos y cywir  cysylltiadau. –>
<XSL:= dethol ar gyfer-pob un "UserFilter">

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

  <rhychwantu dosbarth = "fdcFilterLabel"><XSL:gwerth o select="@FilterValue"/></span>

  <sgript math = "testun/javascript">

    $(dogfen).barod(swyddogaeth(){
        <XSL:testun><![CDATA[$("#QueryFriendlyFilters").val( ($("#QueryFriendlyFilters").val() + " ]]></XSL:testun>\"<XSL:gwerth o select="@FilterValue"/>\"<XSL:testun><![CDATA["));]]></XSL:testun>
    });

  </sgript>

</XSL:am-bob>

Mae'r snippet uchod yw'r mwyaf cymhleth ac efallai y bydd ffyrdd haws o wneud hynny.

Mae'r XML tu ôl i hyn yn edrych yn fras fel hyn:

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

Mae hyn yn snippet yn ailadrodd trwy <Hidlo Defnyddiwr> nodau. 

Mae'n allyrru tag angor pan glicio ennyn swyddogaeth JavaScript sydd eisoes ar y dudalen gyntaf, "MySubmitPage" ac yn pasio y gwerth priodoledd ar y <Hidlo Defnyddiwr> nod o'r enw "ID". 

Yna mae'n allyrru rhywfaint o jQuery sy'n aros am y dudalen ei lwytho.  Bod diweddariadau jQuery maes cudd o'r enw "QueryFriendlyFilters" drwy ychwanegu gwerth y briodoledd FilterValue.  Nodwch yr holl crazy <XSL:testun> a <![CDATA[ ... ]]> pethau.

Dyna ni, gobeithio y bydd yn helpu i!

</diwedd>

Tanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

Ddiddiwedd nythu <div> Tagiau a jQuery

Mae hyn yn ymddangos fel pwnc mor oddball, Dydw i ddim yn siwr ei fod yn blogio wir werth tua, ond nad ydynt erioed wedi rhoi'r gorau i mi o'r blaen, felly dyma ni Smile

Dw i'n gweithio ar brosiect lle rwy'n tynnu rhywfaint o ddata o chwiliad, becynnu i fyny i mewn neges XML ac yna XML yn cael ei drawsnewid i mewn i HTML yn y pen draw drwy XSLT.  Mae yna lawer o jQuery sy'n ymwneud, un rhan sy'n gweithredu rhai swyddogaethau Tabio.  Pan fyddwch yn clicio ar y tab (mewn gwirionedd, 1 <div>), jQuery ennyn. cuddio() a. yn dangos() ar wahanol divs (y llwyth dudalen gychwynnol lawrlwytho holl gynnwys felly nid oes unrhyw postbacks yn yr achos hwn).

Mae criw o awr yn ôl, dechreuodd y rhesymeg newid tab i ymddwyn erratically ac ni fyddai'n dangos un o fy tabs.  Yr wyf yn y pen draw olrhain i lawr at y ffaith bod rhyngrwyd fforiwr (o leiaf) yn credu bod y <div> tagiau nythu ymhell, Byddai llawer dyfnach na bar offer datblygwr intended.The dangos:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           ..............................
                   </div>  <-Yn olaf yn dangos iddo gael ei gau yr holl ffordd i lawr yma!

Felly, os Fe wnes i $("# Tab1Content").cuddio(), Hoffwn hefyd guddio Tab2 ac ni allwn ddangos Tab2 os nad oeddwn yn hefyd yn dangos Tab1.  I gopïo a gludo y cod i fyny i mewn stiwdio weledol a dangosodd pob un o'r leinin y div i fyny 'n glws, union fel y maent i fod i fod yn ei wneud, edrych fel hyn:

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

Rwy'n curo fy mhen yn erbyn y wal am ychydig a sylwi bod yn y cod HTML wirioneddol yn cynhyrchu llawer o gwag <div> tagiau, fel:

<corff>

  <div id = "Tab1Content">

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

  </div>

  <div id = "Tab2Content">

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

  </div>

</corff>

(Mae'r uchod yn waaaaaaaaaaaay gorsymleiddio.  Mae'r tagiau div gwag yn gwbl ddilys. Mae rhai o fy <div> tagiau yn llawn o gynnwys, ond nid yw llawer mwy yn.  Deuthum i sylweddoli bod fy <XSL:am-bob> cyfarwyddebau yn allyrru y tagiau div ffurf-fer pan fydd y xsl:ar gyfer pob un-nid oedd 'dod o hyd i unrhyw ddata.  I gorfodi yn sylw HTML i mewn i'r allbwn, fel y dangosir:

image

 

Ar ôl i mi wneud hynny, holl div ei leinio i fyny 'n glws a dechreuodd fy newid tab gweithio.

Fel bob amser, Rwy'n gobeithio y mae hyn yn helpu rhywun mewn phinsied.

</diwedd>

Tanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

Enghraifft: XSLT Mae creu HTML href yn

Rydw i wedi bod yn gwneud ychydig o XSL stwff yn ddiweddar a meddwl y byddwn i'n lunio sampl ar gyfer fy y dyfodol a allai fod o werth i bob un ohonom XSLT-wyr gwneud bywoliaeth yn y internets.

Ystyriwch y canlynol XML:

<Cyfrif FdcSearchTabsCollection = "2">
  <SearchTab Label = "y diwydiant" SortOrder = Label "00" = "Diwydiannau" SearchConstraints = "gwahaniaethir rhwng:Diwydiant" TabID = "831b2a74-98c4-4453-8061-86e2fdb22c63" />
  <SearchTab Label = "arferion" SortOrder = Label "01" = "Arferion" SearchConstraints = "gwahaniaethir rhwng:PracticeGroups" TabID = "678e206b-6996-421f-9765-b0558fe1a9c0" />
</FdcSearchTabsCollection>

Bydd beintiwyd XSL canlynol yn cynhyrchu rhestr didoli o'r tabiau hrefs:

<XSL:templed cyfatebol = "FdcSearchTabsCollection" xml:gofod = "cadw">
   
    <!– "Pob" tab –>
    <href = "javascript:ViewTab('Pob')">Gweld y cyfan</1>
   
    <!– Pob tab unigol –>
    <!– Ailadrodd drwy holl tabiau ac arddangos yn gywir  cysylltiadau. –>
    <XSL:ar gyfer pob dewis = "SearchTab">
      <XSL:select="@SortOrder"/ fath>

      …
      <href = "javascript:ViewTab('{@TabID}')"><XSL:gwerth o select="@Label"/></1>
    </XSL:am-bob>

    <br /> 
   

   </XSL:templed>

Yma yw beth y mae'n edrych fel yn SharePoint:

SNAGHTML78aa2cb

 

 

</diwedd>

Tanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin