HTML start expression fails when exact same expression works in google doc

Steps to reproduce, FYI for anyone that runs into this:

  1. create an html attachment template on a workflow. Your syntax needs to escape less-than and greater-than signs, e.g. it looks like this:
<<Start: SELECT(table[UniqueID],[STATE] = [_THISROW].[STATE])>>
<<[SomeField]>>: <<[Another Field]>>
<br/>
&lt;&lt;End&gt;&gt;

This fails, appsheet says it cannot find the function “START: SELECT” - if you use actual < and > you get a different error.

  1. This exact same syntax - except for not escaping the < and > - in a google doc works fine:

<<Start: SELECT(table[UniqueID],[STATE] = [_THISROW].[STATE])>>
<<[SomeField]>>: <<[Another Field]>>

<<End>>

Let me know if you have ever seen this, or, put more simply: anyone have a working example of a start expression with an arbitrary select statement, and using the HTML output type?

And that error is…?

eh. can’t find it now… :slight_smile: it’s buried in there. Typical html invalid stuff…

also if you use the email BODY field in the UX and put html in there, as opposed to an email attachment of type html , then all of this works… something is up with attachments of type html when attempting to use start expressions.

This worked for me as both the body template file and attachment template file:

<html>
  <body>
    v1
    <p>before</p>
    <ol>
      <<start: filter("example", true)>>
        <li>within</li>
      <<end>>
    </ol>
    <p>after</p>
  </body>
</html>

Also worked without enclosing HTML and BODY tags.

Also successful:

v4
<p>before</p>
<ol>
  <<start: select(example[id], true)>>
    <li>within</li>
  <<end>>
</ol>
<p>after</p>

Where does this error occur? Screenshot?

I will try again late, thanks so much !!

1 Like

Coming back to this :slight_smile: this time with a repro.

The following app, meant to be copied so that one gets the templates, has two workflows - the html workflow fails and the PDF workflow succeed. Both have the same basic “Start” syntax. the HTML escapes the LT/GT.

https://www.appsheet.com/samples/Built-from-your-app-spec-?appGuidString=0c5446f7-b032-48e4-9936-869688877152

Wondering if anyone else has ever seen this!

1 Like

The error is occurring because in the failing HTML file, the Start/End expression is not inside an HTML <p> or <heading> element. Instead, the Start/End expression is at the bottom of the HTML <body> element. This is causing a parsing problem that is not easy for me to fix. You can circumvent the problem by enclosing that Start/End expression in an HTML <p> element.

The HTML at the bottom of the file currently looks like this:

<p>&lt;&lt;End&gt;&gt;</p>
    <br />
    <br />&lt;&lt;Start: Select(Parent[Key],True)&gt;&gt;[Name]<br />&lt;&lt;End&gt;&gt;</body>
</html>

It needs to look like this:

<p>&lt;&lt;End&gt;&gt;</p>
    <br />
    <br /><p>&lt;&lt;Start: Select(Parent[Key],True)&gt;&gt;[Name]<br />&lt;&lt;End&gt;&gt;</p></body>
</html>
5 Likes

I can confirm that wrapping in

tags fixes this issue. Thanks @Phil !!

1 Like