Skip to main content
Solved

If sentence not working


Forum|alt.badge.img

Hallo! My problem is that i try to start a simple template with just an "Root Template". The code is like:

<OpenDRIVE>
    <header>revMajor="1" revMinor="1" name="" version="1.00" 
    date="Fri Jul 27 14:52:00 2018" 
    north="0.0000000000000000e+00" south="0.0000000000000000e+00" 
    east="0.0000000000000000e+00" west="0.0000000000000000e+00"</header>
{
    if (fme:has-attribute("id"))
    then
        <road>
            r="road works"
        </road>
}
</OpenDRIVE>

The console give me that output:

XMLTemplater(XMLTemplaterFactory): The following error occurred near line 7, column 32 of the query:
XMLTemplater(XMLTemplaterFactory): invalid expression: syntax error, unexpected ExprSingle (missing comma "," between expressions?)

XMLTemplater(XMLTemplaterFactory): An error occurred while parsing the ROOT template

XMLTemplater(XMLTemplaterFactory): A fatal error has occurred. Check the logfile above for details

A fatal error has occurred. Check the logfile above for details

I have no idea why my if sentence doesn't work, i do completely the same as in this question described: 

https://knowledge.safe.com/questions/40027/convert-json-to-xml.html

I hope anyone can help me pls.

Best answer by david_r

Try adding an empty else clause:

<OpenDRIVE>
    <header>revMajor="1" revMinor="1" name="" version="1.00" 
    date="Fri Jul 27 14:52:00 2018" 
    north="0.0000000000000000e+00" south="0.0000000000000000e+00" 
    east="0.0000000000000000e+00" west="0.0000000000000000e+00"</header>
{
    if (fme:has-attribute("id"))
    then
        <road>
            r="road works"
        </road>
    else ()
}
</OpenDRIVE>
View original
Did this help you find an answer to your question?

2 replies

david_r
Evangelist
  • Best Answer
  • September 7, 2018

Try adding an empty else clause:

<OpenDRIVE>
    <header>revMajor="1" revMinor="1" name="" version="1.00" 
    date="Fri Jul 27 14:52:00 2018" 
    north="0.0000000000000000e+00" south="0.0000000000000000e+00" 
    east="0.0000000000000000e+00" west="0.0000000000000000e+00"</header>
{
    if (fme:has-attribute("id"))
    then
        <road>
            r="road works"
        </road>
    else ()
}
</OpenDRIVE>

Forum|alt.badge.img
david_r wrote:

Try adding an empty else clause:

<OpenDRIVE>
    <header>revMajor="1" revMinor="1" name="" version="1.00" 
    date="Fri Jul 27 14:52:00 2018" 
    north="0.0000000000000000e+00" south="0.0000000000000000e+00" 
    east="0.0000000000000000e+00" west="0.0000000000000000e+00"</header>
{
    if (fme:has-attribute("id"))
    then
        <road>
            r="road works"
        </road>
    else ()
}
</OpenDRIVE>
Thx it works!

 

 


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings