입력 문서 (파일 참조 목록 일뿐입니다)를 여러 출력 문서로 변환하려고합니다.변환 결과 비 XML 문서
이 작동합니다
<p:xslt name="MainTransformation1-b">
<p:input port="source">
<p:pipe step="CI" port="result"/>
</p:input>
<p:input port="stylesheet">
<p:document href="Transform.xsl"/>
</p:input>
<p:with-param name="ProjectName" select="$Name"/>
</p:xslt>
<p:sink/>
<p:for-each>
<p:iteration-source>
<p:pipe step="MainTransformation1-b" port="secondary"/>
</p:iteration-source>
<p:store method="text" media-type="text/text">
<p:with-option name="href" select="p:base-uri()"/>
</p:store>
</p:for-each>
XSL :
<xsl:template match="/">
<xsl:for-each select="//p">
<xsl:result-document href="{'tmp', position(), '.xml'}">
<xsl:apply-templates/>
</xsl:result-document>
</xsl:for-each>
</xsl:template>
문제 : 출력 문서는 루트 요소가 포함되어 있지 않습니다 - I 출력 프레임이 필요하고 나중에 과정에서 프레임 파일 모든 출력 문서가 포함됩니다.
오류 메시지 :
2012년 9월 11일 13시 6분 27초 com.xmlcalabash.util.DefaultXProcMessageListener 오류 SCHWERWIEGEND : 오류 : XD0001 : XD0001 2012년 9월 11일 13시 6분 27초 com.xmlcalabash.drivers. 주 오류 SCHWERWIEGEND : 비 XML 자원이 단계 출력에서 생성되거나 단계 입력에 도달하면 동적 오류입니다.
물론 XML이 아닙니다. @method (method = text)를 대신하여 수정하려고했지만 작동하지 않았습니다.
아이디어가 있으십니까? 적용 가능한 솔루션을 찾았지만 지금은 가능하지 않다고 말하는 항목을 발견했습니다. 희망 사항이 없습니다.
미안하지만 다시 묻기를 바랍니다. 각 루프에 대해 전에 를 추가했지만 여전히 작동하지 않습니다. –
Oliver
@oliver, 물건을 개선해야합니다 귀하의 xslt 안에 래퍼를 추가하십시오. – grtjn
@ grtijn 나는 같은 문제를 만난다. 내 XSLT는 을 사용하여 순수 텍스트를 출력합니다. XProc에서 XSLT를 실행하려면 을 호출하지만 오류가 발생했습니다. "p : xslt가 비 XML 결과를 반환했습니다." 해결 방법이 있습니까? XSLT를 깨끗하게 유지하기 위해 XSLT의 루트 요소를 래퍼에 래핑하고 싶지 않습니다. 순수 텍스트를 출력하는 XSLT가 XSLT의 마지막 단계입니다. –
chansey