需要帮助使用 xslt 列出数组中的值。目前,它们显示为一行一行,需要值才能在数组中显示它们。
附件是源 xml 和 xslt 尝试过但不知道如何使用 xslt。
我需要 PSQ1 的类似输出(注意“响应”是所有元素的静态值。
[{"Response":"可靠和诚实"},{"Response":"结果和经验"},{"Response":"知识和自信"}]
还帮助我获得随机顺序值,例如: [{"Response":"结果和经验"},{"Response":"结果和经验"},{"Response":"可靠和诚实"}]
即使我们有 10 个数据值,也应该以上述格式在数组中显示。
提前致谢。
输入xsml:
<wd:Report_Data
xmlns:wd="urn:com.workday/bsvc">
<wd:Report_Entry>
<wd:empid>123</wd:empid>
<wd:tempno>2</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>1</wd:questionno>
<wd:response>
<p>Dependable and Honest</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>123</wd:empid>
<wd:tempno>2</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>2</wd:questionno>
<wd:response>
<p>Results</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>123</wd:empid>
<wd:tempno>2</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>3</wd:questionno>
<wd:response>8</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>123</wd:empid>
<wd:tempno>2</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>4</wd:questionno>
<wd:response>9</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>1</wd:questionno>
<wd:response>
<p>Flexibility and Open-Minded</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>2</wd:questionno>
<wd:response>
<p>Transparency</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>3</wd:questionno>
<wd:response>9</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>4</wd:questionno>
<wd:response>10</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>123</wd:empid>
<wd:tempno>2</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>1</wd:questionno>
<wd:response>
<p>Results and Experience</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>123</wd:empid>
<wd:tempno>2</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>2</wd:questionno>
<wd:response>
<p>Efficient</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>123</wd:empid>
<wd:tempno>2</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>3</wd:questionno>
<wd:response>6</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>123</wd:empid>
<wd:tempno>2</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>4</wd:questionno>
<wd:response>4</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Direct Report</wd:category>
<wd:questionno>1</wd:questionno>
<wd:response>
<p>intentional and open</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Direct Report</wd:category>
<wd:questionno>2</wd:questionno>
<wd:response>
<p>Change</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Direct Report</wd:category>
<wd:questionno>3</wd:questionno>
<wd:response>5</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Direct Report</wd:category>
<wd:questionno>4</wd:questionno>
<wd:response>6</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>1</wd:questionno>
<wd:response>
<p>Team Leader and Flexibility</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>2</wd:questionno>
<wd:response>
<p>Collaborator</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>3</wd:questionno>
<wd:response>10</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>4</wd:questionno>
<wd:response>10</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>123</wd:empid>
<wd:tempno>2</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>1</wd:questionno>
<wd:response>
<p>knowledge and confident</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>123</wd:empid>
<wd:tempno>2</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>2</wd:questionno>
<wd:response>
<p>stretch</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>123</wd:empid>
<wd:tempno>2</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>3</wd:questionno>
<wd:response>8</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>123</wd:empid>
<wd:tempno>2</wd:tempno>
<wd:category>Peer/Stakeholder</wd:category>
<wd:questionno>4</wd:questionno>
<wd:response>6</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Direct Report</wd:category>
<wd:questionno>1</wd:questionno>
<wd:response>
<p>Agility and Transparency</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Direct Report</wd:category>
<wd:questionno>2</wd:questionno>
<wd:response>
<p>Change Management and Exposure</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Direct Report</wd:category>
<wd:questionno>3</wd:questionno>
<wd:response>4</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Direct Report</wd:category>
<wd:questionno>4</wd:questionno>
<wd:response>5</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Direct Report</wd:category>
<wd:questionno>1</wd:questionno>
<wd:response>
<p>Fearless and Collaborator</p>
</wd:response>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:empid>456</wd:empid>
<wd:tempno>1</wd:tempno>
<wd:category>Direct Report</wd:category>
<wd:questionno>2</wd:questionno>
<wd:response>
<p>Strategy and Transparency</p>
</wd:response>
</wd:Report_Entry>
</wd:Report_Data>
我尝试使用下面的 xslt 但无法实现。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:is="java:com.workday.esb.intsys.xpath.ParsedIntegrationSystemFunctions"
xmlns:xdiff="urn:com.workday/esb/xdiff"
xmlns:wd="urn:com.workday/bsvc">
<xsl:output method="xml" indent="yes" omit-xml-declaration="no"/>
<xsl:template match="/">
<Report_Data>
<xsl:apply-templates select="wd:Report_Data"/>
</Report_Data>
</xsl:template>
<xsl:template match="wd:Report_Data">
<xsl:for-each-group select="wd:Report_Entry" group-by="wd:empid">
<Report_Entry>
<empid>
<xsl:value-of select="wd:empid"/>
</empid>
<tempno>
<xsl:value-of select="wd:tempno"/>
</tempno>
<PSQ1>
<xsl:for-each
select="current-group()[wd:category = 'Peer/Stakeholder' and wd:questionno = '1']">
<xsl:value-of select="wd:response"/>
</xsl:for-each>
</PSQ1>
</Report_Entry>
</xsl:for-each-group>
</xsl:template>
</xsl:stylesheet>