Skip to main content

Hi,

 

I'm working with the transformer JsonTemplater to create a json file. The source is a list of attributes, for example:

_list{0}.Date

_list{1}.Date

_list{0}.Age

_list{1}.Age

 

My Workspace translate with successful with just list of attribute:
{
    
   
    "Attributes" : <
        for $value in fme:get-list-attribute(("_list{}.Date")
            return {"Date" : $value}]
 
}

My question: How can I configure to receive more than list of attribute, in this case _list{}.Age ?

 

 

Thanks

This may not be the most elegant solution, but should work.

 

{
"Attributes":t  for $Age at $pos in fme:get-list-attribute("_list{}.Age")
     let $Date := fme:get-attribute(concat("_list{",$pos - 1,"}.Date"))
     return {"Date":$Date, "Age": $Age}]
}

This may not be the most elegant solution, but should work.

 

{
"Attributes":t  for $Age at $pos in fme:get-list-attribute("_list{}.Age")
     let $Date := fme:get-attribute(concat("_list{",$pos - 1,"}.Date"))
     return {"Date":$Date, "Age": $Age}]
}
Hi @jdh

 

 

 

Is works now, thank you!

 

 

Danilo

 


This may not be the most elegant solution, but should work.

 

{
"Attributes":t  for $Age at $pos in fme:get-list-attribute("_list{}.Age")
     let $Date := fme:get-attribute(concat("_list{",$pos - 1,"}.Date"))
     return {"Date":$Date, "Age": $Age}]
}
This expression is also available.

 

{
    "Attrbutes" : p
        let $dates := fme:get-list-attribute("_list{}.Date")
        for $age at $p in fme:get-list-attribute("_list{}.Age")
        return { "Date" : $dates-$p], "Age" : $age }
    ]
}

This expression is also available.

 

{
    "Attrbutes" : b
        let $dates := fme:get-list-attribute("_list{}.Date")
        for $age at $p in fme:get-list-attribute("_list{}.Age")
        return { "Date" : $dates $p], "Age" : $age }
    ]
}
Excellent @takashi

 

 , thank you!

This may not be the most elegant solution, but should work.

 

{
"Attributes":t  for $Age at $pos in fme:get-list-attribute("_list{}.Age")
     let $Date := fme:get-attribute(concat("_list{",$pos - 1,"}.Date"))
     return {"Date":$Date, "Age": $Age}]
}

@takashi how would I make your expression work with 3 list attributes?  


@takashi how would I make your expression work with 3 list attributes?  

example:

{
    "Attributes" : Â
        let $a := fme:get-list-attribute("_list{}.a")
        let $b := fme:get-list-attribute("_list{}.b")
        for $c at $i in fme:get-list-attribute("_list{}.c")
        return
        {
            "A" : $a $i],
            "B" : $bÂ$i],
            "C" : $c
        }
    ]
}

Reply