[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: ditaval file syntax
Hi Folks
I was reviewing DITAVAL syntax and semantics and found I had to dig a bit to find the syntax.
I think I missed the 2.0 review on this section
The current spec does explain semantics well but the syntax was a bit more vague.
As a result I came up with a quick Backus Naur for the syntax. This is a quick draft and the naming and accuracy may offend but the general idea is there.
Do we see any value in this kind of presentation in the spec. Also reference to supporting resources such as XML Schema or RelaxNg for the ditaval file would help, however that would not serve documentation needs.
Syntax
Here is a specification of the syntax of the ditaval file in a roughly extended Backus-Naur form. Although the ditaval file is XML, the XML is removed but the information model is retained and such a model could be serialized into XML.
The names of the syntax rules below relay some semantic information about the actions however, the exact semantics are discussed elsewhere.
[x] is optional x
* is 0..n
+ is 1..n
| is exclusive or
name is the name of a semantic piece.
actionSet ::= [styleConflictAction],propActions*
propActions ::= includeAction | excludeAction | | passthroughAction |
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂflagAction | revFlagAction
includeAction ::= propSelector
excludeAction ::= propSelector
propSelector ::= propAttrValue | propAllValues | propAllAttrs
propAttrValue ::= attributeName attributeValue
propAllValues ::= attributeName
propAllAttrs ::= attributeValue
flagAction ::= propSelector appearanceDirective [startFlag] [endFlag]
appearanceDirective ::= color | backcolor | style
startFlag ::= demarcateDirective
endFlag ::= demarcateDirective
demarcateDirective ::= imageref [altText]
revFlagAction ::= revValue appearanceDirective
Could relate to a ditaval file XML for instance propAttrValue is represented as:Â
<prop att="audience" val="administrator">
cheers
Jim
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]