Content automation lets you merge data, logic and formatted text using intuitive screens (no programming knowledge required)
Data is critical for content generation. Without data, there is not much need for logic.
The Scribe app in Tag lets you organize data into sections and define detailed rules for validation. It displays data setup files (*.rng) as a tree where child branches represent fields which can store one or more data values. Parent branches are used to group sections of controls within forms.
Datatypes are used to control validation. Standard datatypes include decimals (numbers with decimals), integers (numbers without decimals), strings of any characters, booleans (true/false) and dates. Value lists can populate pick lists in forms and predefined fields let you share definitions between multiple fields.
Mixing logic and content
The Scribe lets you mix static word processing content (e.g. text, images, tables) with dynamic logic (e.g. the value of data fields, if-statements, choose/when, or merging of other templates). In the word processing space, logic is represented by clickable green bubbles which flow like words in a paragraph.
To help visualize logic, a document map is displayed above the content. It shows branches of logic as a tree which you can use to jump to different chunks of content.
The Scribe creates template files (*.xsl). A templates file contains one or more templates of reusable content that can be combined together however the user desires. The document map displays one template at a time, which is selected using a drop-down list above the map.
Data files (*.nsdata) reference a specific report which in turn links to one or more data setup files. In Forms mode each data setup file gets its own form and a tab along the top for quick access. The border around each form tab will be gray dashes (form is incomplete), red (required field is missing), or green (form is ready to generate).
Convenient form controls are chosen based on data setup options (e.g. checkbox, drop-down list, date picker). If a change is made to the data setup file, it will be picked up automatically the next time the form is opened. If outdated data is detected (e.g. for a deleted or changed field) the Scribe will prompt you to auto-repair the data, which will keep as much data as possible while upgrading to current field definitions.
When all forms are ready to generate, the magic wand tab becomes available which allows you to preview generated content or create a Word document.
Reusable content is stored as templates which can be called by name from anywhere within content. Some templates accept pass-in values (parameters) which can greatly increase their reusability.
Collections of related templates are stored in files. Template files can import other template files, which makes it easy to package commonly used logic like his-her in a way that can be shared by any report that uses the same data definitions.
Templates can insert individual characters, words, objects, sentences, paragraphs or sections. They can generate content within any text object including table cells and list items. They can even be used to generate data-driven vector graphics using the Scalable Vector Graphics (SVG) language.
Expressions are a key technology based on the XPath 3 open standard. Because this is an open standard, many other software programs can understand the expressions created by Tag. Similarly, the if, choose/when and other logic instructions used by Tag are defined by the XSLT 3 open standard.
To reflect the importance of expressions, Tag offers four different ways to create them:
Quick values (shown above) to insert data values
Basic to create true/false values using =, >, >=, < and <= comparisons
Advanced (shown next) which supports functions, math, brackets and more
Raw which accepts plain XPath code
In some cases it is convenient to generate content based on a collection of input data files, or CSV / database table rows. For example, create an email or invoice for each customer record in a CSV file.
Multi-file tasks often require more complex expressions which are supported using the Advanced expression editor (shown above).
Tasks are defined as a sequence (pipeline) of steps as specified by the XProc open standard. Each step can operate on an input file or repeating item detected in a data file. The results can be saved to files of different formats including Word, HTML or plain text.