2008 20 กันยายน 2008

ปัญหาที่เกิดขึ้นยุบ TEXTAREA ใน XSL / XSLT


งบที่มีปัญหา:
ฉันวิ่งเข้าไปในปัญหานี้เกี่ยวกับ textareas ใน XSLs ในคำง่ายปัญหาเกิดขึ้นเมื่อคุณมีแท็ก <textarea> ที่ว่างเปล่าแล้วมันจะยุบไป <textarea />
เช่นหากคุณมีสิ่งที่ต้องการต่อไปนี้ใน XSL และของคุณสำหรับข้อมูล XML ค่า TEXTAREA, ไม่มีอะไรตอบแทน ...

<textarea name='description'> <xsl:value-of select="DESCRIPTION"/> </ textarea>

ในฐานะที่เป็นเบราว์เซอร์ที่ไม่รู้จักนี้จะทำให้ส่วนที่เหลือของ HTM​​L รูปแบบที่จะวิ่งเข้ามาในพื้นที่ข้อความ

แนวทางแก้ปัญหา:

ใน XSL เพิ่มไม่ใช่ทำลายพื้นที่ () หลังจาก xsl: tag.BEWARE ค่าที่จะดูแลพื้นที่พิเศษนี้คุณได้เพิ่มในระหว่างการตรวจสอบด้านลูกค้าของข้อมูลนี้

<textarea name='description'> <xsl:value-of select="DESCRIPTION"/> </ textarea>

หรือ
<xsl:value-of select="concat (DESCRIPTION,'')"/>

หรือ
แทรก <xsl:value-of select="@unknown" tag /> ชี้ไปที่คุณลักษณะที่ไม่รู้จัก นี้จะบังคับให้ parser PHP XSLT เพื่อสร้างเปิดและปิดแท็กพื้นที่ข้อความถึงแม้ว่ามันจะมีอะไรที่อยู่ในระหว่าง

หรือ
แทรกเขตข้อมูล <xsl:text> ที่มีพื้นที่ที่จะบังคับให้แท็กปิด

อย่างไรก็ตามแม้ว่าการแก้ปัญหาดังกล่าวข้างต้นอาจดูเหมือนการแก้ไขปัญหาที่เกิดขึ้นผมยังไม่มั่นใจว่าพวกเขาจะถูกต้องและวิธีที่ดีที่สุดที่จะแก้ไขได้ หากมีวิธีใดที่ดีอื่น ๆ ของการแก้ไขมุมแหลมนี้กรุณาแจ้งให้เราทราบ


2008 4 สิงหาคม 2008

ปัญหาที่เกิดขึ้นกับตำแหน่ง () ใน XSL ... หรือมันคือ?

ผมมีปัญหา 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>

อย่าถามฉันว่าทำไมการทำงาน สาเหตุผมมีเหตุผลที่ถูกต้อง ... ถ้าคุณทำ! กรุณาอย่าวางแสดงความคิดเห็น มันอาจจะมีประโยชน์สวย นอกจากนี้! ถ้าคุณมีชื่อที่ดีกว่าสำหรับการโพสต์นี้ทำวางฉันบรรทัด :)


NDK บ้าน | การแสดงไอที ​​| เพดานการแสดง | Penmenship การแสดง | Awe การแสดง | การแสดงตัวเอง