2008 20 Tháng 9 2008

TextArea Collapse vấn đề trong XSL / XSLT


VẤN ĐỀ TUYÊN BỐ:
Tôi chạy vào vấn đề này liên quan đến textareas trong XSLs một. Nói một cách đơn giản, vấn đề phát sinh khi bạn có một thẻ <textarea> trống, sau đó nó sẽ sụp đổ <textarea />.
nghĩa là nếu bạn có một cái gì đó như sau trong XSL và dữ liệu XML cho giá trị vùng văn bản, trả về không có gì ...

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

Do trình duyệt không nhận ra điều này, nó sẽ gây ra các phần còn lại của hình thức HTML để chạy vào khu vực văn bản.

CÓ THỂ GIẢI PHÁP:

Trong XSL, không phá vỡ không gian () sau khi xsl: tag.BEWARE giá trị, để chăm sóc thêm không gian này bạn đã thêm vào, trong quá trình xác nhận phía khách hàng của lĩnh vực này.

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

Hoặc
<xsl:value-of select="concat (DESCRIPTION,'')"/>

Hoặc
Chèn <xsl:value-of select="@unknown" /> tag trỏ đến một thuộc tính không rõ. Điều này sẽ buộc PHP XSLT phân tích cú pháp để tạo ra một thẻ mở và đóng cửa khu vực văn bản, thậm chí nếu nó không có gì ở giữa.

Hoặc
Chèn một lĩnh vực <xsl:text> có chứa một không gian để buộc một thẻ đóng.

Tuy nhiên, mặc dù các giải pháp đã đề cập ở trên có thể dường như để sửa chữa vấn đề, tôi vẫn không tin rằng họ đúng và cách tốt nhất để sửa chữa nó. Nếu có bất kỳ cách nào khác tốt hơn của việc sửa này đứa, Xin làm cho chúng tôi biết.


2008 4 tháng 8 năm 2008

Một vấn đề với vị trí () trong XSL ... hoặc là nó?

Tôi có vấn đề này strage trong khi tạo ra một XSL ngày hôm nay. Xem xét cho câu trả lời trên net, nhưng couldnt tìm thấy bất kỳ .... Thật sự tôi đoán! Tôi dint biết vấn đề của tôi là gì, vì vậy tôi làm những gì bạn tìm?

Dù sao! Chỉ trong trường hợp bạn có vấn đề này rất giống nhau và bằng cách nào đó bởi quyền năng của FORCE bạn quản lý để hạ cánh trên trang này ... bạn sẽ cảm ơn tôi tấn ... Và nếu bạn đã vô tình hạ cánh trên trang này cho một số phận kỳ lạ và bạn xảy ra được một nhà phát triển XSL, DO LÀM Chú ý NÀY NOW, TƯƠNG LAI CHO nguyên nhân, Nếu một ngày nào đó, bạn phải đối mặt với vấn đề này, sau đó FORCE có thể không được với bạn.

Đặt vấn đề:
Tôi có XML này, có hai nút với nhiều mục trong đó các mục giữa hai nút này có một sự tương ứng 1-1. Trong ví dụ dưới đây, mỗi mục trong <array nút name="PLAYURL" /> liên quan (tương ứng với vị trí) đến một mục trong <array nút 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>

Bây giờ, tôi có một vòng lặp, i vòng lặp thông qua <array name="SITENAME">, và tôi muốn để có được những mặt hàng liên quan (tại vị trí tương ứng) <array name="PLAYURL">,

Những gì bạn normaly sẽ cố gắng làm là ...

<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! NÀY wont làm việc ... Ah! Surpised ...

Bây giờ bạn có thể muốn thử một cái gì đó như thế này ...

<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>

Một lần nữa điều này wont làm việc ... Bây giờ bạn gãi đầu, cố gắng để liên lạc với tất cả mọi người những người bạn biết một số XSL và có thể là bất kỳ sự giúp đỡ ... bạn cố gắng tất cả các tùy chọn khác ... và vẫn còn nó sẽ không làm việc ... Vâng! Thats những gì đã xảy ra với tôi ít nhất ...

Không nên tuyệt vọng! Hãy thử này

<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>

Hỏi tôi tại sao nó hoạt. Nguyên nhân tôi không có một lý do phải ... nếu bạn làm! Xin vui lòng thả một bình luận. Nó có thể là khá hữu ích. Ngoài ra! nếu bạn có có TITLE tốt hơn cho bài viết này, thả cho tôi một dòng :)


NDK nhà | Bày tỏ IT | Diễn đạt Palate | Diễn đạt Penmenship | Bày tỏ nỗi sợ hãi | Diễn đạt Myself