2008 13 สิงหาคม 2008
หากความต้องการของคุณคือการแยกค่าโหนดใน XML, ที่ประกอบด้วยสตริงที่คั่นด้วยค่าลงไปในแต่ละรายการแล้วคุณได้มาถึงสถานที่ที่เหมาะสม ... ลองดูได้ที่ตัวอย่างด้านล่าง หากคุณไม่คุ้นเคยกับนิด ๆ หน่อย ๆ ของ XML และ XSL ... ผมไม่คิดว่าคุณจะต้องการคำอธิบายใด ๆ
นอกจากนี้ตัวอย่างนี้รวมถึงการใช้งานของฟังก์ชั่นเช่น XSL XSL: โทรแม่, xsl: substring ก่อน, xsl: substring หลังถ้านั่นคือสิ่งที่คุณหลังจาก
XML ที่จะเปลี่ยน (food.xml): -
สมมติงานคือการ tokenize สตริงคั่นด้วยเครื่องหมายจุลภาคใน "คำหลัก" แท็ก
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<date>July 2008</date>
<description>All about things we eat everyday</description>
<keywords>Fruits, Vegetables, Pulses, Meat, Cereals </keywords>
</food>
XSL (food.xsl): -
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>XSL 1.0 Delimited String Tokeniser</title>
</head>
<body>
<xsl:value-of select="food/meta"/>
<div >
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="food/keywords" />
<xsl:with-param name="delimitr" select="','" />
</xsl:call-template>
</div>
</body>
</html>
</xsl:template>
<xsl:template name="tokenize">
<xsl:param name="string" />
<xsl:param name="delimitr" />
<xsl:choose>
<xsl:when test="contains($string, $delimitr)">
<div style="border:1px solid red;">
<h3><xsl:value-of select="substring-before($string,$delimitr)" /></h3>
<xsl:variable name="data" select="substring-before($string,$delimitr)"/>
</div>
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="substring-after($string, $delimitr)" /><xsl:with-param name="delimitr" select="$delimitr" /></xsl:call-template>
</xsl:when>
<xsl:otherwise>
<div style="border:1px solid red;">
<h3><xsl:value-of select="$string" /></h3>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
การแสดงผล HTML ผลลัพธ์: -
<div>
<div style="border: 1px solid red;">
<h3>Fruits</h3>
</div>
<div style="border: 1px solid red;">
<h3> Vegetables</h3>
</div>
<div style="border: 1px solid red;">
<h3> Pulses</h3>
</div>
<div style="border: 1px solid red;">
<h3> Meat</h3>
</div>
<div style="border: 1px solid red;">
<h3> Cereals </h3>
</div>
</div>
จำเป็นต้องพูด ... เพียงแค่เปลี่ยนค่าพารามิเตอร์ "delimitr" ถึงตัวคั่นที่คุณเลือก
ยังไม่มีความเห็น | Tags: สอน , XSLT | โพสต์ใน XSL
2008 11 สิงหาคม 2008
หากคุณเป็นหนึ่งในคนเหล่านั้น (อย่างผม), ที่มักจะตรวจสอบ CSS ของหน้า HTML ทำดีเพื่อให้ได้แรงบันดาลใจหรือสิ่งนั้นคุณอาจจะสังเกตว่าเราได้ใช้ตำแหน่ง Faux (ตามที่กล่าวแล้วในบทความก่อนหน้านี้ของฉัน เราเป็น โดยใช้ตำแหน่งแน่นอน Faux: เค้าโครง CCS ลเลียน )
บางงานที่ดีในแม่แบบนี้ไม่เราจึงคิดว่ามันจะดีไปร่วมกัน .... ดาวน์โหลดนี้เวิร์ดเพรส (ดาวน์โหลด 196 ครั้ง)
1 ความคิดเห็น | Tags: ดาวน์โหลด , แม่ WordPress | โพสต์ใน การดาวน์โหลด
2008 7 สิงหาคม 2008
คุณเห็น animoto.com? ดี! นี้ไม่เป็น AD, ผมชอบมัน! และจะจูบ UI ASS แน่นอน
ผมมาในเว็บไซต์นี้ไม่กี่สัปดาห์ที่ผ่านมา เลื่อยหน้าแรกอาศัยรำคาญมาก สำหรับฉันมันเป็นเพียงแค่เว็บไซต์ที่มีเนื้อหาบางส่วนที่อุดมไปด้วยแฟลชอื่นช่วยให้ผู้ใช้อัปโหลดภาพให้เลือกแทร็คที่บางและแปลงเป็นสไลด์โชว์ภาพที่ดี ดาวน์โหลด FLV, และวางไว้บนเว็บไซต์ของคุณเลือกได้ (YouTube, Metacafe, Facebook และชอบ) ... ระยะเวลา
เมื่อวานนี้เมื่อฉันเห็นหน้าการไหลภายในที่เอาผู้ผ่านการสร้างภาพสไลด์นี้ .... ผมไปโอไฮโอ WOW! เมื่อฉันตระหนักว่ามีไม่น้อยที่ใช้ FLASH มันเป็นจริงส่วนติดต่อผู้ใช้รวย ทั้งหมดนักพัฒนา UI ต้องหวังที่จะสร้างหรืออย่างน้อยก็เป็นส่วนหนึ่งของทีมที่มีการทำอินเตอร์เฟซนี้ .... แน่นอนสดใส! และเร้าใจ!
ลองดูได้ ... http://animoto.com/ ... และลงทะเบียนและเล่นกับมัน ... เท่านั้นจากนั้นคุณสามารถชื่นชมอัจฉริยะ
1 ความคิดเห็น | Tags: ที่ User Interface แบบ Rich , เว็บไซต์ออกแบบมาอย่างดี | โพสต์ใน อินเตอร์เฟซผู้ใช้ desgin
2008 4 สิงหาคม 2008
ผมมีปัญหา strage นี้ในขณะที่การสร้าง XSL เมื่อวานนี้ มองหาคำตอบตลอดสุทธิ, แต่ couldnt พบใด ๆ .... ที่จริงฉันเดา! ฉันอาศัยทราบว่าปัญหาของฉันคือเพื่อให้ฉันทำในสิ่งที่มองหา?
ต่อไป! ในกรณีที่คุณมีปัญหานี้เหมือนกันมากเกินไปและอย่างใดโดยอำนาจของแรงที่คุณมีการจัดการที่ดินในหน้านี้ ... คุณจะขอบคุณฉันตัน ... และถ้าคุณมีที่ดิน accidently ในหน้านี้สำหรับชะตากรรมบางอย่างแปลกและคุณเกิดขึ้นเป็น นักพัฒนา XSL, DO จดบันทึกนี้ตอนนี้สำหรับสาเหตุอนาคตถ้าวันหนึ่งคุณต้องเผชิญกับปัญหานี้แล้ว FORCE อาจจะไม่ได้อยู่กับคุณ
งบปัญหา:
ฉันมี XML นี้ซึ่งมีสองโหนดกับหลายรายการในนั้นและรายการระหว่างทั้งสองโหนดจะมี 1-1 จดหมาย ในตัวอย่างด้านล่างรายการในแต่ละโหนด <array name="PLAYURL" /> เกี่ยวข้อง (ตำแหน่งตรงกัน) ไปยังรายการใน <array โหนด name="SITENAME" />
<?xml version="1.0" encoding="utf-8"?>
<myplaylists>
<playlist>
<title>Best of Rest </title>
<array name="SITENAME">
<str>www.musicindiaonline.com</str>
<str>www.dhingana.com</str>
<str>www.raaga.com</str>
<str>www.smashits.com</str>
<str>www.desimusic.com</str>
<str>www.musicplug.in</str>
</array>
<array name="PLAYURL">
<str>http://www.musicindiaonline.com/123/</str>
<str>http://www.dhingana.com/play/123</str>
<str>http://www.raaga.com/123</str>
<str>http://ww.smashits.com/123</str>
<str>http://www.desimusic.com/123</str>
<str>http://www.musicplug.in/123</str>
</array>
</playlist>
</myplaylists>
ตอนนี้ฉันมีห่วงที่ฉันห่วงผ่าน <array name="SITENAME"> และฉันต้องการที่จะได้รับรายการที่เกี่ยวข้องกัน (ในตำแหน่งที่สอดคล้องกัน) ใน <array name="PLAYURL">,
สิ่งที่คุณ normaly จะพยายามทำคือ ...
<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
play from : <a href="{../../array[@name='PLAY']/str[position()]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
Sorry!! นี้ทำงานเคยชิน ... Ah! Surpised ...
ตอนนี้คุณอาจจะต้องการที่จะลองอะไรเช่นนี้ ...
<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos"> <xsl:value-of select="position()"/></xsl:variable>
play from : <a href="{../../array[@name='PLAY']/str[$pos]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
และอีกครั้งนี้ทำงานเคยชิน ... ตอนนี้คุณเกาหัวของคุณพยายามที่จะติดต่อทุกคนที่คุณคิดว่า XSL บางและอาจจะมีการช่วยเหลือใด ๆ ... คุณพยายามทุกตัวเลือกอื่น ๆ ... และก็ยังจะทำงานเคยชิน ... ดี! Thats สิ่งที่เกิดขึ้นกับฉัน ... atleast
Dont สิ้นหวัง! ลองนี้
<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$ <xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$ pos-int ]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
อย่าถามฉันว่าทำไมการทำงาน สาเหตุผมมีเหตุผลที่ถูกต้อง ... ถ้าคุณทำ! กรุณาอย่าวางแสดงความคิดเห็น มันอาจจะมีประโยชน์สวย นอกจากนี้! ถ้าคุณมีชื่อที่ดีกว่าสำหรับการโพสต์นี้ทำวางฉันบรรทัด 
ความเห็นยังไม่มี | แท็ก: XSL , Quirks XSL , XSLT | โพสต์ใน XSL
2008 2 สิงหาคม 2008
สัปดาห์ที่แล้วผมได้สร้างรูปแบบ HTML / CSS progessive สำหรับลูกค้า, การทดสอบใน IE6, IE7 และ FF 3, ประจักษ์สมบูรณ์ดี ... จนกระทั่ง! เค้าโครงไปต่อไปลงวงจร manufacting มันล้มเหลว องค์ประกอบเค้าโครงหน้าเพิ่งไปทั่วทุกสถานที่เมื่อรูปแบบ HTML ได้แปลงเป็น XSL และ XML นำไปใช้กับมัน ... ว้า!!
นอนไม่หลับแล้วมากกว่าวันหยุดสุดสัปดาห์ในความคาดหมายของเช้าวันจันทร์เมื่อฉันจะต้องแก้ไข SH นี้ ** แต่ตอนนี้มี experince เล็กน้อยในการจัดการกับชนิดนี้สถานการณ์ (Quirks เบราว์เซอร์ที่ผมหมายถึง), ฉันรู้มันได้จะทำอย่างไรกับอะไรอย่างอื่น แต่ DOCTYPE .... และมันคือ ...
ปัญหา:
คุณต้องการควบคุมมากกว่า DOCTYPE เนื่องจากการเปลี่ยนแปลงของคุณจะมี DOCTYPE เริ่มต้นอย่างชัดเจนและรูปแบบที่คุณจะออกโยน
โซลูชัน:
XSLT รายละเอียด วิธีการให้ออกไปตั้ง DOCTYPE จาก choise นอกจากนี้สำหรับเรานักพัฒนา UI, หัวข้อที่น่าสนใจจะเป็น วิธีการแสดงผล HTML และ วิธีการส่งออก XML .
ดี! ก่อนที่คุณจะได้รับเบื่อที่นี่คือการแก้ไข
สำหรับเช่นถ้าคุณมี DOCTYPE ต่อไปนี้ในรูปแบบ HTML ของคุณ:. -
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
จากนั้นใน XSL คุณจะต้องมีดังต่อไปนี้: -
<xsl:output method="html" doctype-system="http://www.w3.org/TR/html4/loose.dtd" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" indent="yes" />
และในที่สุด! ไม่แน่ใจว่าเอาท์พุท XSLT ของคุณเชื่อฟัง DOCTYPE คุณได้เลือกไว้
1 ความคิดเห็น | Tags: Quirks เบราว์เซอร์ , Doctype , XML , XSL | โพสต์ใน XSL