Choose and translate value of tag



I'm trying to choose which transform will be applied based on its value. if test is High Definition, igh efinition will be removed leaving only HD but if test is Standard onlySD will be the set value.


Source xml



<?xml version="1.0" encoding="UTF-8"?>
<file_information>
<asset_data>
<upn>FF074172</upn>
<title>test</title>
<version>High Definition</version>
<duration>00:30</duration>
<tc_in>23:00:00:00</tc_in>
<tc_out>23:00:30:00</tc_out>
<aspect_ratio>16X9</aspect_ratio>
<segment>
<sequence>1</sequence>
<tc_in>23:00:00:00</tc_in>
<tc_out>23:00:30:00</tc_out>
<comment></comment>

</segment>
</asset_data>
</file_information>


Transform



<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://ift.tt/tCZ8VR" version="1.0">
<xsl:template match="/">
<file_information>
<asset_data>
<upn>
<xsl:value-of select="//upn"/>
</upn>
<title>
<xsl:value-of select="//title"/>
</title>
<xsl:choose>
<xsl:when test="High Definition">
<version>
<xsl:value-of select="translate(//version,'igh efinition','')"/>
</version>
</xsl:when>
<xsl:otherwise>
<version>
<xsl:value-of select="translate(//version,'tandard','D',)"/>
</version>
</xsl:otherwise>
</xsl:choose>
<duration>
<xsl:value-of select="//duration"/>
</duration>
<tc_in>
<xsl:value-of select="//tc_in"/>
</tc_in>
<tc_out>
<xsl:value-of select="//tc_out"/>
</tc_out>
<aspect_ratio>
<xsl:value-of select="translate(//aspect_ratio,'X',':')"/>
</aspect_ratio>
</asset_data>
</file_information>


Expected Output



<?xml version="1.0" encoding="UTF-8"?>
<file_information>
<asset_data>
<upn>FF074172</upn>
<title>test</title>
<version>HD</version>
<duration>00:30</duration>
<tc_in>23:00:00:00</tc_in>
<tc_out>23:00:30:00</tc_out>
<aspect_ratio>16:9</aspect_ratio>
<segment>
<sequence>1</sequence>
<tc_in>23:00:00:00</tc_in>
<tc_out>23:00:30:00</tc_out>
<comment></comment>
</segment>
</asset_data>
</file_information>


or



<?xml version="1.0" encoding="UTF-8"?>
<file_information>
<asset_data>
<upn>FF074172</upn>
<title>test</title>
<version>SD</version>
<duration>00:30</duration>
<tc_in>23:00:00:00</tc_in>
<tc_out>23:00:30:00</tc_out>
<aspect_ratio>16:9</aspect_ratio>
<segment>
<sequence>1</sequence>
<tc_in>23:00:00:00</tc_in>
<tc_out>23:00:30:00</tc_out>
<comment></comment>
</segment>
</asset_data>
</file_information>


Do you know what is going wrong? Thanks


No comments:

Post a Comment