guide.xml
'description'\n'actor'
The result is the existing 'description', followed by, on a newline, the actor(s) separated by the standard WG++ element separator |.
The result:
This is the original description.
Michael Douglas|Kim Basinger
You probably don't like the | as separator between the actors, so you specify another separator like this:
'description'\n'actor(, )'
The result:
This is the original description.
Michael Douglas, Kim Basinger
You can make this prettier by adding some text to the actors addition:
'description'\nActors: 'actor(, )'.
The result:
This is the original description.
Actors: Michael Douglas, Kim Basinger.
A small problem: Suppose the source xmltv show doesn't have any actors, then the result would be not so pretty:
This is the original description.
Actors: .
To avoid that, the added text can be linked to the element it must be added to, like this:
'description'{\nActors: 'actor(, )'.}
Result with actors:
This is the original description.
Actors: Michael Douglas, Kim Basinger.
And without actors:
This is the original description.
An example with some more elements:
'description'{\n\tYear of production: 'productiondate'.}{\n\tProducer: 'producer(, )'.}{\n\tActors: 'actor(, )'.}
Result:
This is the original description.
Year of production: 2002.
Producer: Steven Spielberg.
Actors: Michael Douglas, Kim Basinger.
And another one:
{Episode: 'episode'\t}'subtitle'
Result:
Episode: 3.2/12.1 The original subtitle
You can also remove elements (but not the title!) from the xmltv listing by specifying an empty element, like this:
or simply
This will remove all elements
And this:
Will remove the element, including all its child elements like , etc.
Additional options :
** Operations : optionally to do certain operations on the element value to expand e.g:
These operations must be specified within the ' ' characters that specify the elementname, enclosed by [] and separated by a , e.g.
{Summary: 'description[cleanup(style=upper), max_chars=500]'}{\nActors: 'actor(, )'}
supported operations :
- cleanup with style and tags arguments,
- max_chars, max_words and max_sentences to limit the content data of the expanded element.
** Xmltv Attributes in content to expand: If the source xmltv element has an attribute, like lang="en" or role="rolename" (in actor) or system="US",
it is possible to add it to the expanded content by add /a (for attribute value only) or /a+ (for attributename and value) to the element name.
This /a or /a+ addition must be added directly after the element name, like 'actor/a' or combined with a custom separator, 'actor/a(, )'
or combined with an operation 'country/a(/)[cleanup(style=lower)]'
Example (assuming the actors role values are provided in the source xmltv file):
'description'{\n\tYear of production: 'productiondate',}{ Rating: 'rating/a+'.}{\n\tProducer: 'producer(, )'.}{\n\tActors: 'actor/a+(, )'.}
Result:
This is the original description.
Year of production: 2002, Rating TV-14(system=US).
Producer: Steven Spielberg.
Actors: Michael Douglas(role=The carpenter), Kim Basinger(role=Mary).
Summary of Content/Values:
1. Syntax
content
- the content of the xmltv-target elements can be specified by means of a mixture of text and element-values.
- content can be left empty to remove the xmltv element (except the element )
- the element-values must be entered by their (wg++) element-name enclosed by ' '
- optionally, element values can be processed by means of certain operations,
E.g. 'description[cleanup(style=upper), max_sentences=2]'
- optionally, element xmltv attribute values can be added to the content by adding /a (only attribute value) or /a+ (value + attributename) to the 'elementname'
- multiple value elements (like actor) will be converted to single value elements if the xmltv-target element is a single value element, like .
The individual values will be listed with a (standard WG++ internal element separator character) | as separator unless another separator is specified as follows:
'element-name(separator-string)' e.g. 'actor(, )' or with attribute 'actor/a(, )'
- text and element-names can be linked together by enclosing them by {}. This will ensure that, when the element in it is empty, everything between the {} is
ignored. E.g. {\nProduced in : ('productiondate')}
- the text in the xmltv-target elements may contain the following simple formatting :
- \n or \r to force a newline
- \t to add a tab
2. The allowed xmltv-target elements (the ones in the target file specified above) are :
- IMPORTANT! : any of the next listed xmltv-target elements that is specified in this allocation specification, replaces the existing xmltv element and
its content!
2.1 'Full' function , these can be added, changed and removed
(=optional new xmltv element)
2.2 'Remove/Keep' only, cannot be added, changed, only removed or kept as 'is'
3. Supported element-names (from the existing xmltv listing, name definitions as in Appendix E of the documentation) to be used as content to expand:
'title' 'description' 'starrating' 'subtitle' 'productiondate' 'category' 'director' 'actor' 'presenter' 'writer' 'composer' 'producer' 'commentator' 'rating'
'episode' 'showicon' 'review' 'subtitles' 'premiere' 'previously-shown' 'aspect' 'quality' 'country' 'url'
4. Attributes
- for each of the xmltv-elements the following attribute can be specified
(if not specified, the existing one, if present in the xmltv, will be used) :
- lang for and , default : no attribute
- system for , default : no attribute
- type for , default: type="text"
- Existing xmltv attribute values can be added to expanded content. (see above)
]]>
{Episode: 'episode' }'subtitle'
'description[max_words=100]'{\n\t¤ Produced in: 'productiondate'. }{¤ Category: 'category(, )'. }{\n\t¤ Actors: 'actor/a+(, )'}{\n\t¤ Director: 'director(, )'}{\n\t¤ Presenter: 'presenter(, )'}
{Ratings: 'rating(, )'.}