0
xsl (1.0)에서 매개 변수를 전달할 수 없습니다. 'select'의 내용을 동적으로 수정할 수없는 것 같습니다. 사전에xslt apply-template
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output cdata-section-elements="" encoding="UTF-8" indent="yes" method="xml" omit-xml-declaration="yes"/>
<xsl:param name="entity">CreditController[]</xsl:param>
<xsl:template match="/">
<xsl:element name="variable">
<xsl:attribute name="type">NameValuePair[]</xsl:attribute>
<xsl:apply-templates select="variable/*[@type='$entity']/item"/>
</xsl:element>
</xsl:template>
<xsl:template match="item">
<xsl:element name="item">
<xsl:attribute name="type">NameValuePair</xsl:attribute>
<xsl:element name="value">
<xsl:attribute name="type">String</xsl:attribute>
<xsl:value-of select="Code"/>
</xsl:element>
<xsl:element name="name">
<xsl:attribute name="type">String</xsl:attribute>
<xsl:value-of select="Code"/>-<xsl:value-of select="Value"/>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
감사 : 다음 오류가 발생하지만 $ 엔티티 매개 변수를 인식하는 데 실패하지 않는 시도이다. 다른 게시물은 요소의 'Mode'속성을 사용하고 설정하는 것이 좋습니다. 나는이 중 하나를 가지고 승리하지 못했습니다.
엔터티 변수를 'CreditController []'문자열 리터럴로 바꾸는 것이 예상대로 작동합니다.
당신이 당신의 입력 XML의 샘플을 게시 할 수 :
는 따옴표를 제거? –그냥'@ type = $ entity'이어야하지 않습니까? '$ entity'를 따옴표로 묶는 것은'$ entity' 문자열입니다. –
아빌라의 대답은 정확하다고 생각합니다. 답으로 받아 들일 수 있도록 입력해야합니다. –