2010-11-19 24 views
0

Bir istemci için birlikte çalıştığım biraz XSLT koduyla ilgili bir sorun yaşıyorum. Şemayı değiştiremiyorum çünkü bir flash uygulaması ona bağlı ve herhangi bir değişiklik yapmak ActionScript'i kırıyor. Talihsiz.Çıktı ilk dizesi, tüm çocuk dizeleri değil

Bu XSLT'de içine benim ilk baskını ve onunla kuşkusuz incompetant değilim, bu yüzden bana yardımcı olabilir topluluk umut oldu.

Bu

(XML dosyası) şeması yer almaktadır:

<statement title="Click on your Answer" answer="true"> 
    True or False: The question asked is here. 
     <feedback> 
     <answerTrue sound=""> 
      The response if the user answered true is here. 
     </answerTrue> 
     <answerFalse sound=""> 
      The response if the user answered false is here 
     </answerFalse> 
     </feedback> 
</statement> 

Bu (XSLT) gibi "deyimi" erişmeye çalıştığınızda:

<div id="statement"> 
<xsl:value-of select="statement" /> 
</div> 

O "answerTrue" ve "görüntüler onunla birlikte answerFalse "düğümleri. sadece "True or False: ques ..." metnini görüntülemek istiyorum. Eğer bir etiket bilen varsa, çocuk elemanlarını göstermeden ifadeyi görüntülemek için kullanabilirim, sonsuza dek minnettar olurum! Teşekkürler!

+0

. Gönderdiğiniz XSL parçaları farklı ve ikincisi yapmak istediğiniz şey gibi görünüyor. Sorun nedir yine? Hangi etiket hakkında konuşuyorsunuz - HTML veya XSL? Tam olarak ne yapması gerekiyor? – Oded

+0

Ah, özür dilerim. Nasıl kafa karıştırıcı olduğunu görebiliyorum. Soruyu güncelleyeceğim. –

cevap

2

Kullanım:

Kinda burada karıştı
normalize-space(/statement/text()[1]) 
+0

Ne için [1] var? –

+0

'[1]', '[position() = 1]' için bir kısaltmadır. '/ statement/text() [1]' anlamına gelir: belgenin en üst öğesi olan 'statement' öğesinin ilk text-node çocuğunu seçin. –

İlgili konular