2010-02-12 3 views
1

DataFormWebPart를 사용하여 SharePoint 사이트 모음의 모든 알림을 표시합니다. 그것은 CrossList로 설정된 DataSourceMode와 함께 SPDataSource를 사용하며 정상적으로 작동합니다. 이 발표문은 XML 속성에서 가져온 것입니다.SharePoint DataFormWebPart의 HTML 특성 값 자름

<xsl:value-of disable-output-escaping="yes" select="@Body" /> 

이제이 텍스트를 250 자로 제한해야합니다. 물론 잘못된 HTML을 생성 할 수 있기 때문에 간단한 문자열로 잘라낼 수 없습니다. 나는 ddwrt : Limit하지만 HTML을 인식 할 필요가 있었다.

아이디어가 있으십니까? 난 당신이 페이지에 250 개 문자를 표시 할 생각

+0

귀하의 요구 사항이 혼란 스럽습니다. HTML 태그가 250 자 안에 포함되어 있습니까? HTML 인식 하위 문자열 함수는 어떤 역할을합니까? 태그 내의 텍스트 만 제한됩니까? 그것은 속성을 제거할까요? –

+0

아니요, 태그는 250 자 수에 포함되지 않으며 일반 텍스트 만 포함됩니다. 텍스트는 일반 HTML 서식 지정 태그 내에서 서로 얽혀 있습니다. @Body 속성이 텍스트 샘플샘플를 포함하고 한계 (일반 텍스트로만 계산) 10 개 문자 인 경우, 결과는 텍스트 SAMPL해야한다. 따라서 HTML 형식의 텍스트를 현명한 방식으로 잘라내어 유효한 HTML을 생성해야합니다. 희망이 내 문제를 명확하게 :-) –

답변

0

, 나는 이것에 대한 매우 간단한 해결책을 발견

<xsl:if test="string-length(@Body) &lt;= 250"> 

    <xsl:value-of select="@Body"/> 
    </xsl:if> 
    <xsl:if test="string-length(@Body) &gt; 250"> 



    <xsl:value-of select="substring(@Body,0,250)"/>.... 

    </xsl:if> 
0

이 스크립트를 사용하십시오,이 대신하려고!

<xsl:value-of select="substring(@Body, 1, 250 + string-length(substring-before(substring(@Body, 250),' ')))" />