Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > Как получить значение?


Автор: Сергей Т. 16.6.2006, 14:05
Получаю ID (20-ти значное). Пытаюсь передать его в функцию, а значение усекается и вместо 11111111111111111111 я получаю 11111111111111110000. Если я не могу его получить как число, как получить его как строку? Подскажите пожалуйста, как его правильно закавычить? 

<?xml version="1.0" encoding="windows-1251"?> 
<?xml-stylesheet type="text/xsl" href="test.xsl"?> 
<X_ROOT> 
<ID>11111111111111111111</ID> 
</X_ROOT> 


<?xml version="1.0" encoding="windows-1251"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="html" encoding="windows-1251"/> 
<xsl:template match="/X_ROOT"> 
<HTML> 
<TITLE></TITLE> 
<HEAD> 
<script LANGUAGE="JavaScript"> 
function Show_view(work_ni) 
{ 
alert(work_ni); 

//функция обработки 

} 
</SCRIPT> 
</HEAD> 

<BODY> 
<A HREF="javascript:void(0)" onClick="Show_view({ID});">test</A> 
</BODY> 
</HTML> 
</xsl:template> 
</xsl:stylesheet>  

Автор: Beard 16.6.2006, 14:24
Пользовать приведение:
Код

string(/X_ROOT/ID)
 

Автор: Beard 16.6.2006, 14:53
Кстати - тут ошибка в другом - только сейча понял smile
Усекается значение не трансформатором, а JavaScript, так как на выходе получается
Код

onClick="Show_view(11111111111111111111);">

что интерпретируется как число.
Соответсвенно надо сделать:
Код

onClick="Show_view('11111111111111111111');">


способ:
Код

...
<BODY> 
  <xsl:variable name = "quot">'</xsl:variable>
  <A HREF="javascript:void(0)" onClick="Show_view({concat($quot, ID, $quot)});">test</A> 
</BODY>

...
 

Автор: Сергей Т. 16.6.2006, 15:48
To Beard  все заработало. Спасибо. Сам не додумался применить переменную для кавычки, все бился как это сделать через сущности. Еще раз большое спасибо.

 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)