2011-11-17 3 views
1

에서 자바 스크립트를 렌더링 나는 그와 관련된 다음과 같은 자바 스크립트를 가지고 사업부가 필요 : 현재 노드에 대한는 XSL

내 XSL에서

onclick="resize('Value1', 'Value2', 'Value3', 'Value4')"

, var1, var2, var3, var4 보류 문자열 Value1, Value2, Value3, Value4을. 따라서 xsl:attribute name='onclick'을 사용하여 JS를 div에 연결하고 싶습니다. 내가 직면하고있는 문제는 출력 페이지에서 렌더링하기 위해 XSL에서 작은 따옴표를 이스케이프 처리하기 때문입니다 (이것이 내가 생각하는 것입니다).

어떻게 할 생각인가요?

편집 : 자바 스크립트의 onclick 함수 호출 문자열을 얻을 내 XSL 코드는 다음과 같습니다

<xsl:value-of select="concat('resize(', '&apos;', $var1, '&apos;', ',', '&apos;', $var2, '&apos;', ',', '&apos;', $var3, '&apos;', ',', '&apos;', $var4, '&apos;', ')'"/> 

그리고 IE6 [예는 IE6, 내 컴퓨터는 IE6 :(와 XP를 가지고] 보여줍니다 오류 :

Expression expected. concat('resize(', ''', $var1, ''', ',', ''', $var2, ''', ',', ''', $var3... 
+0

XSLT 파일의 관련 부분과 현재 출력중인 내용을 게시 할 수 있습니까? 이렇게하면 문제를 해결하는 데 큰 도움이됩니다. –

+0

@ JanThomä 동일하게 추가되었습니다 ... – c0da

답변

2

재미는 충분히 속성 값 내부에 작은 따옴표를위한 진짜 좋은 이스케이프 시퀀스 없을 것 같다 당신은 함께 갈 수 있어야합니다.

<xsl:attribute name="onClick">resize('<xsl:value-of select="$var1"/>','<xsl:value-of select="$var2"/>','<xsl:value-of select="$var3"/>', '<xsl:value-of select="$var4"/>')</xsl:attribute> 

적어도 IntelliJ는 이것을 좋아합니다. 조금 오래되었지만 IE6과 같은 구형 XSLT 프로세서를 사용해도 안전해야합니다. 나는 그것을 확인하기 위해 IE6이 없다. Btw. IE6는 다소 구형의 기술이므로 실제로 제거해야합니다.

+0

그것은 효과가있었습니다. :) 그리고 IE에 관해서는,이 기계는 IE6을 가지고 있습니다. 최신 Firefox를 사용합니다. IE6에서 테스트했습니다. 고마워. – c0da

+1

다행입니다! –