OASIS Darwin Information Typing Architecture (DITA) TC

 View Only
  • 1.  ditaval file syntax

    Posted 10-23-2022 23:50
    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. https://dita.fluidtopics.com/r/Darwin-Information-Typing-Architecture-DITA-Version-1.3-Part-3-All-Inclusive-Edition/val 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


  • 2.  RE: [dita] ditaval file syntax

    Posted 10-26-2022 18:58




    Hi,
     
    A normalized version of the DTD is this, according to the Xerces xml parser, in case this helps:
     
    <!ELEMENT val (style-conflict?,(prop revprop)*)>
    <!ELEMENT style-conflict EMPTY>
    <!ATTLIST style-conflict
              foreground-conflict-color CDATA #IMPLIED
              background-conflict-color CDATA #IMPLIED>
    <!ELEMENT prop (startflag?,endflag?)>
    <!ATTLIST prop
              att CDATA #IMPLIED
              val CDATA #IMPLIED
              action ( flag include exclude passthrough ) #REQUIRED
              outputclass CDATA #IMPLIED
              color CDATA #IMPLIED
              backcolor CDATA #IMPLIED
              style NMTOKENS #IMPLIED>
    <!ELEMENT startflag (alt-text?)>
    <!ATTLIST startflag
              imageref CDATA #IMPLIED>
    <!ELEMENT endflag (alt-text?)>
    <!ATTLIST endflag
              imageref CDATA #IMPLIED>
    <!ELEMENT alt-text (#PCDATA)>
    <!ELEMENT revprop (startflag?,endflag?)>
    <!ATTLIST revprop
              val CDATA #IMPLIED
              action ( include passthrough flag ) #REQUIRED
              outputclass CDATA #IMPLIED
              changebar CDATA #IMPLIED
              color CDATA #IMPLIED
              backcolor CDATA #IMPLIED
              style NMTOKENS #IMPLIED>
     
    Sorry for being late to the most recent meeting
     
    Kendall


    From: dita@lists.oasis-open.org <dita@lists.oasis-open.org>
    On Behalf Of Jim Tivy
    Sent: Sunday, October 23, 2022 4:49 PM
    To: dita@lists.oasis-open.org
    Subject: [dita] 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.
    https://dita.fluidtopics.com/r/Darwin-Information-Typing-Architecture-DITA-Version-1.3-Part-3-All-Inclusive-Edition/val

    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