하나의 XSLTService 활동을 사용하여 XML을 변환하는 프로세스로 작업하고 있습니다. 일반 XML 소스뿐만 아니라 String 및 XML 유형의 프로세스 변수를 모두 소비해야합니다. 내 문제는 XML 형식의 프로세스 변수를 XSLT 소스 템플릿에 삽입하는 방법을 알 수 없다는 것입니다. 문자열 유형의 변수를 삽입하는 데 문제가 없습니다. 내가 변수 요소의 시작 -와 종료 태그 사이에 데이터를 삽입하는 것을 시도했다, 그러나 그것은 도움이되지 않았다Adobe AEM Forms : XSLT 소스 템플릿에 XML 변수 삽입
<xsl:variable name="stringvariable" select="'{$/process_data/@stringVariable$}'"/>
<xsl:variable name="externalNodes" select="'{$/process_data/inputNodeNames$}'"/>
:
이
내 스타일 시트의 삽입 부분입니다. 문자열 변수가 삽입되고 나중에 확인을 위해 성공적으로 인쇄됩니다. 템플릿 모두 XML-변수 (노드 집합() exsl)<xsl:variable name="internalNodes">
<root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<block>$.Formularmetadata</block>
<block>$.Sorteringsdata</block>
<block>$.Metadata</block>
<block>$.Verksamhetsdata</block>
</root>
</xsl:variable>
그때 카운트 호출 :
는 또한 참조 (외부 동일 내용)와 로컬 변수를 작성한 하지만 로컬에만 0 이상의 값이 있습니다.
어떻게 작동합니까?
/BS
ps. 나는 그것이 솔기 데이터를 전송하기 위해 문자열 변수를 사용하는 경우 작동하는 것을 발견
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:variable name="stringvariable" select="'{$/process_data/@stringVariable$}'"/>
<xsl:variable name="externalNodes" select="'{$/process_data/inputNodeNames$}'"/>
<xsl:variable name="internalNodes">
<root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<block>$.Formularmetadata</block>
<block>$.Sorteringsdata</block>
<block>$.Metadata</block>
<block>$.Verksamhetsdata</block>
</root>
</xsl:variable>
<!-- Identity rule.-->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<!-- Rewrite attribute ref to work with new XML.-->
<xsl:template match="*[local-name()='bind']/@ref">
<xsl:value-of select="$stringvariable "/>
<xsl:value-of select="' Internal'"/><xsl:value-of select="count(exsl:node-set($internalNodes)/root/block)"/>
<xsl:value-of select="' External'"/><xsl:value-of select="count(exsl:node-set($externalNodes)/root/block)"/>
</xsl:template>
</xsl:stylesheet>