X++ (the shortcut for saying ECSS++) is the upgrade of Xbasic: the principle stays the same, but you can do more with it. The additions are extensive in quantity, though, and adequate explanations of all of them would not really fit into one essay, so this is going to be general overview of their functions. Separate tutorials will have to be written for the syntax, strategy, etc. of each one.
So, in X++ there are:
- Aliases: a new part of the Tag, which allows you to reference to an attribute from another attribute. That may not sound very exciting at first, but if you actually start using them, and have a little imagination, they can add an entirely new dimension.
- Labels: another new part of the Tag, which allows you to specify exactly how one attribute affects its siblings, instead of having to stick with boring defaults.
- Carets: which allow you to use an unlimited number of relatively unconnected pieces of the various parts of the Tag. Very, very useful.
- Keywords: special uppercase words that have reserved meanings, for use in labels or elements.
- Dashes: which are rather like a short hand for embedding a child element in another element. Particularly nice for color elements.
- Slashes: which allow you to link two metaphors into one element. Distinctly helpful.
- Pipes: which are similar to parentheses in mathematical computations – essential for clarification of ambiguous ordering of slashes and dashes.
- Escape Marks: which escape sections of syntax, just in case you want to use parentheses, or dashes, or even, maybe, quotation marks, with their usual functions instead of their X functions.
- Notes: which allow you to, as it were, converse with the reader of your X normally, bestowing helpful warnings or injunctions or anything else you might want to say into the Xmap without messing it up.
And that is all for now – though – maybe – in the indistinct future – you might start hearing mentions of Xelite. But, that is another story for another time.

