2009-11-10 7 views

답변

4

? 그렇다면 속성 값을 인용해야합니다.

<xsl:param name="delimiters" select="';#'" /> 

값이 작은 따옴표로 묶여 있습니다. 이로 인해 속성 값이 문자열을 반환하는 XPath 표현식으로 해석됩니다.

+1

이것은 또한 ; #'의 가능한 대안입니다. 이것은 때로는 따옴표와 아포스트로피를 함께 쓰는 일부 편집자들에게 더 분명합니다. –

+1

이 경우 변수의 값은 실제로는 문자열이 아닌 단일 텍스트 노드를 포함하는 결과 트리 조각입니다. 물론 이것은 대부분의 경우에서 전혀 차이가 없지만 주목할 가치가 있습니다. http://www.w3.org/TR/1999/REC-xslt-19991116#section-Result-Tree-Fragments – NickFitz

+0

@NickFitz : 고마워, 나는 그걸 몰랐다. 이제 당신이 말했듯이, 그것은 절대적으로 논리적입니다. :) – Tomalak

1

는 다음 엔티티를 시도

&#59; 
4

는 당신이 봤어 ... (세미콜론은 ASCII 문자 59 인)?

<xsl:param name="delimiters" select="';#'"/> 
당신은 아마도 그것은 그 유효한 XPath 식 아니라고 주어진 값의로 PARAM delimiters;# 문자열을 갖고 싶어
+0

+1 일반적인 실수이며이 오류보다 더 자주 발견하기가 어렵습니다. – Ishmael

0

wallenborn이 옳습니다. XSL의 select 특성은 항상 XPath식이 필요하기 때문입니다. 거기에 문자열 리터럴을 넣으려면 그것을 인용해야합니다.

관련 문제