Tag Archives: XSLT

XSLT และ jQuery Samples

ฉันได้รับทำมาก XSLT jQuery และความคิดที่ฉันจะแบ่งปันส่วนย่อยของโค้ดบางอย่างที่ผู้อื่นอาจพบว่ามีประโยชน์ในอนาคต.

ตัวอย่าง 1: คายวิ JavaScript / jQuery ใน XSLT:

<xsl:แม่แบบตรง = "สิ่ง" xml:เนื้อที่ = "รักษา">

  <!– ว่างออกจากแบบสอบถามเป็นมิตรกรองเขตข้อมูลที่ซ่อนอยู่ –>
  <สคริปต์ชนิด = "ข้อ ความ/javascript">
    $(เอกสาร).พร้อม(ฟังก์ชัน(){
      $("#QueryFriendlyFilters").val("ว่างเปล่า");
    });
  </สคริปต์>

</xsl:แม่แบบ>

บิตที่ emits JavaScript บางที่รอหน้าเพื่อเสร็จสิ้นการโหลด (เนื่องจากการ $(เอกสาร).พร้อม(…)) แล้ว ชุดค่าของเขตข้อมูลที่ซ่อนอยู่ชื่อว่า QueryFriendlyFilters ค่าสัญพจน์ "ว่างเปล่า".

ตัวอย่าง 2: ใช้ <xsl:ถ้า> การตรวจสอบ "มากกว่า",  "น้อยกว่า", ฯลฯ.

<xsl:แม่แบบตรง = "สิ่ง" xml:เนื้อที่ = "รักษา">

  <div id = "fdcAllFilters">
 
    <xsl:ถ้า test="@Count>0">
      <ขยายคลาส = "fdcFilterLabel">ตัวกรองปัจจุบัน:</ขยาย>
    </xsl:ถ้า>

    <!– สิ่งที่เพิ่มเติมเกิดขึ้นที่นี่. –>

</xsl:แม่แบบ>

คำสั่งย่อยด้านบนตรวจสอบเพื่อดูว่าแอตทริบิวต์ที่มีชื่อว่า "นับ" ขององค์ประกอบ "สิ่ง" มากกว่าศูนย์  XML เบื้องหลังนี้จะเป็นสิ่งที่ต้องการ:”

<สิ่ง Count = "5" />

ตัวอย่าง 3: ทำซ้ำผ่านองค์ประกอบทั้งหมด, interspersing jQuery สาย.

<!– ทำซ้ำผ่านตัวกรองทั้งหมด และแสดงถูกต้อง  การเชื่อมโยง. –>
<xsl:แต่สำหรับละเลือก = "UserFilter">

  <คลาสที่ = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</การ>

  <ขยายคลาส = "fdcFilterLabel"><xsl:ค่าของ select="@FilterValue"/></ขยาย>

  <สคริปต์ชนิด = "ข้อ ความ/javascript">

    $(เอกสาร).พร้อม(ฟังก์ชัน(){
        <xsl:ข้อความ><![CDATA[$("#QueryFriendlyFilters").val( ($("#QueryFriendlyFilters").val() + " ]]></xsl:ข้อความ>\"<xsl:ค่าของ select="@FilterValue"/>\"<xsl:ข้อความ><![CDATA["));]]></xsl:ข้อความ>
    });

  </สคริปต์>

</xsl:แต่สำหรับละ>

ส่วนย่อยด้านบนสุดซับซ้อน และอาจมีวิธีทำได้ง่ายขึ้น.

XML เบื้องหลังนี้มีลักษณะประมาณดังนี้:

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

คำสั่งย่อยนี้จะวนผ่าน <UserFilter> โหนด 

Emits จุดยึดก่อนแท็กที่เมื่อคลิกแล้ว JavaScript ฟังก์ชันที่มีอยู่แล้วในหน้าการเรียกใช้เมธ, "mySubmitPage" และการส่งผ่านค่าของแอตทริบิวต์ในการ <UserFilter> โหนดที่ชื่อว่า "ID" 

มัน emits jQuery บางที่รอหน้าเพื่อโหลดแล้ว  JQuery ที่ปรับปรุงเขตข้อมูลที่ซ่อนชื่อ "QueryFriendlyFilters" โดยการเพิ่มค่าของแอตทริบิวต์ FilterValue  หมายเหตุเมาทั้งหมด <xsl:ข้อความ> และ <![CDATA[ … ]]> สิ่งที่.

แค่นี้, หวังว่า จะช่วย!

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

ซ้อนกันไม่รู้จบ <div> แท็กและ jQuery

นี้ดูเหมือนว่าหัวข้อ oddball การดังกล่าว, ผมไม่แน่ใจว่าเป็นจริงคุ้มค่าบล็อกเกี่ยวกับ, แต่ที่ไม่เคยหยุดฉันก่อน, ดังนั้นที่นี่เราไป ยิ้ม

ฉันกำลังหาโครงการที่ผมกำลังดึงข้อมูลบางอย่างจากการค้นหา, ในที่สุดเปลี่ยนการบรรจุค่าเป็นข้อความ XML และ XML ที่เป็น HTML ผ่าน XSLT  มีจำนวนมากของ jQuery ที่เกี่ยวข้อง, หนึ่งบิตที่ใช้งาน tabbing  เมื่อคุณคลิกบนแท็บ (จริง ๆ, การ <div>), .hide เรียกใช้ jQuery() และ.show() บนว่า divs ต่าง ๆ (โหลดหน้าแรกดาวน์โหลดเนื้อหาทั้งหมดดังนั้นในกรณีนี้มี postbacks ไม่).

พวงของชั่วโมงที่ผ่านมา, แท็บสลับตรรกะเริ่มประพฤติผิด และมันจะไม่แสดงหนึ่งแท็บของฉัน  ในที่สุดติดตามมันลงจริงที่เทอร์ (น้อย) ความคิดที่จะ <div> แท็กซ้อนไกล, ไกลลึกกว่า intendedต้องแสดงแถบเครื่องมือนักพัฒนา:

-<รหัส div = "Tab1Content">
  -<div>
    -<div>
      -<รหัส div = "Tab2Content">
        -<div>
           …………………………
                   </div>  <ตัวสุดท้าย แสดงปิดทางลงที่นี่!

ดังนั้น, ถ้าฉันไม่มี $("#Tab1Content").ซ่อน(), ฉันจะซ่อน Tab2 และฉันอาจไม่เคยแสดง Tab2 ถ้าฉันไม่แสดง Tab1  ผมคัดลอก และวางรหัสค่าสตูดิโอภาพและเห็นซับของ div ค่าทั้งหมดอย่างดี, เหมือนพวกเขาควรจะทำ, มองเช่นนี้:

-<รหัส div = "Tab1Content">
  +<div>
  +<div>
-<รหัส div = "Tab2Content">
  +<div>
  +<div>

ฉันตีศีรษะกำแพงในขณะ และสังเกตเห็นว่า ใน HTML จริง รหัสถูกสร้างมากเปล่า <div> แท็ก, เช่น:

<เนื้อความ>

  <รหัส div = "Tab1Content">

    <รหัส div = "row1" />
    <รหัส div = "row2" />

  </div>

  <รหัส div = "Tab2Content">

    <รหัส div = "row1" />
    <รหัส div = "row2" />

  </div>

</เนื้อความ>

(ด้านบนมี oversimplified waaaaaaaaaaaay  แท็ก div เปล่าถูกทั้งหมด. บางอย่างของฉัน <div> แท็กเต็มไปด้วยเนื้อหา, แต่ไม่มาก  ผมมารับรู้ที่ที่ของฉัน <xsl:แต่สำหรับละ> คำสั่งถูกเปล่งแบบสั้น div แท็กเมื่อ xsl:ไม่ได้แต่สำหรับละ ' การค้นหาข้อมูลใด ๆ  ฉันบังคับคิดเป็น HTML ในการแสดงผล, ดังที่แสดง:

image

 

หลังจากไม่ได้ที่, ทั้งหมดของ div ตั้งเรียงรายอย่างสวยงาม และสลับแท็บของฉันเริ่มทำงาน.

เป็นเสมอ, ฉันหวังว่า นี้ช่วยให้คนในเหน็บแนม.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

ตัวอย่าง: XSLT สร้าง HTML Href ของ

ฉันได้ถูกทำบิตของ XSL สิ่งเมื่อเร็ว ๆ นี้ และคิดว่า ฉันจะใส่กันตัวอย่างสำหรับอ้างอิงในอนาคตของฉัน และที่อาจมีมูลค่าทั้งหมดของเราทำมาหากินใน internets สกู๊ป XSLT.

พิจารณา XML ต่อไปนี้:

<จำนวน FdcSearchTabsCollection = "2">
  <ป้าย SearchTab = "อุตสาหกรรม" SortOrder = "00" ป้ายชื่อ "อุตสาหกรรม" SearchConstraints = = "contenttype:อุตสาหกรรม" TabID = "831b2a74-98c4-4453-8061-86e2fdb22c63" />
  <ป้าย SearchTab = "ปฏิบัติ" SortOrder = "01" ป้าย = SearchConstraints "ปฏิบัติ" = "contenttype:PracticeGroups" TabID = "678e206b-6996-421f-9765-b0558fe1a9c0" />
</FdcSearchTabsCollection>

ส่วนย่อยของ XSL ต่อไปนี้จะสร้างรายการเรียงลำดับของแท็บ hrefs:

<xsl:จับแม่ = "FdcSearchTabsCollection" xml:เนื้อที่ = "รักษา">
   
    <!– "หมด" แท็บ –>
    <การ href = "javascript:ViewTab('ทั้งหมด')">ดูทั้งหมด</การ>
   
    <!– แต่ละแท็บแต่ละ –>
    <!– ทำซ้ำในการแท็บทั้งหมด และแสดงถูกต้อง  การเชื่อมโยง. –>
    <xsl:สำหรับแต่เลือก = "SearchTab">
      <xsl:เรียง select="@SortOrder"/>

      …
      <การ href = "javascript:ViewTab(‘{@TabID}’)"><xsl:ค่าของ select="@Label"/></การ>
    </xsl:แต่สำหรับละ>

    <br /> 
   

   </xsl:แม่แบบ>

นี่คืออะไรมันเหมือนใน SharePoint:

SNAGHTML78aa2cb

 

 

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin