| # ============================================================= |
| |
| # HEADER |
| |
| # ============================================================= |
| |
| # MODULE: DITA DITA Programming Domain |
| |
| # VERSION: 1.1 |
| |
| # DATE: June 2006 |
| |
| # |
| |
| # ============================================================= |
| |
| # ============================================================= |
| |
| # PUBLIC DOCUMENT TYPE DEFINITION |
| |
| # TYPICAL INVOCATION |
| |
| # |
| |
| # Refer to this file by the following public identifier or an |
| # appropriate system identifier |
| # PUBLIC "-//OASIS//ELEMENTS DITA Programming Domain//EN" |
| # Delivered as file "programmingDomain.mod" |
| |
| # ============================================================= |
| |
| # SYSTEM: Darwin Information Typing Architecture (DITA) |
| |
| # |
| |
| # PURPOSE: Declaring the elements and specialization |
| |
| # attributes for the Programming Domain |
| |
| # |
| |
| # ORIGINAL CREATION DATE: |
| |
| # March 2001 |
| |
| # |
| |
| # (C) Copyright OASIS Open 2005, 2006. |
| |
| # (C) Copyright IBM Corporation 2001, 2004. |
| |
| # All Rights Reserved. |
| |
| # |
| |
| # UPDATES: |
| |
| # 2005.11.15 RDA: Updated these comments to match template |
| |
| # 2005.11.15 RDA: Corrected Long Names for syntax groups, |
| |
| # codeph, and kwd |
| |
| # 2005.11.15 RDA: Corrected the "Delivered as" system ID |
| |
| # 2006.06.07 RDA: Make universal attributes universal |
| |
| # (DITA 1.1 proposal #12) |
| |
| # ============================================================= |
| |
| # ============================================================= |
| |
| # ELEMENT NAME ENTITIES |
| |
| # ============================================================= |
| |
| namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" |
| |
| codeph = codeph.element |
| delim = delim.element |
| kwd = kwd.element |
| oper = oper.element |
| option = option.element |
| parmname = parmname.element |
| sep = sep.element |
| synph = synph.element |
| var = var.element |
| pd = pd.element |
| plentry = plentry.element |
| pt = pt.element |
| fragment = fragment.element |
| fragref = fragref.element |
| groupchoice = groupchoice.element |
| groupcomp = groupcomp.element |
| groupseq = groupseq.element |
| repsep = repsep.element |
| synblk = synblk.element |
| synnote = synnote.element |
| synnoteref = synnoteref.element |
| # ============================================================= |
| |
| # ELEMENT DECLARATIONS |
| |
| # ============================================================= |
| |
| # LONG NAME: Universal Attributes Local |
| # Importance |
| |
| # Povide an alternative set of univ-atts that |
| # allows importance to be redefined locally |
| univ-atts-no-importance = |
| id-atts, |
| filter-atts, |
| attribute rev { text }?, |
| attribute status { "new" | "changed" | "deleted" | "unchanged" }?, |
| localization-atts |
| # LONG NAME: Code Phrase |
| codeph.element = |
| element codeph { |
| codeph.attlist, |
| (text | basic.ph.notm | data.elements.incl | foreign.unknown.incl)* |
| } |
| codeph.attlist &= |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Code Block |
| codeblock.element = |
| element codeblock { |
| codeblock.attlist, |
| (text |
| | basic.ph.notm |
| | txt.incl |
| | data.elements.incl |
| | foreign.unknown.incl)* |
| } |
| codeblock.attlist &= |
| display-atts, |
| attribute spectitle { text }?, |
| [ a:defaultValue = "preserve" ] attribute xml:space { "preserve" }?, |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Option |
| option.element = element option { option.attlist, text } |
| option.attlist &= |
| attribute keyref { text }?, |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Variable |
| var.element = element var { var.attlist, words.cnt* } |
| var.attlist &= |
| attribute importance { "optional" | "required" | "default" }?, |
| univ-atts-no-importance, |
| attribute outputclass { text }? |
| # LONG NAME: Parameter Name |
| parmname.element = element parmname { parmname.attlist, text } |
| parmname.attlist &= |
| attribute keyref { text }?, |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Syntax Phrase |
| synph.element = |
| element synph { |
| synph.attlist, |
| (text |
| | codeph |
| | option |
| | parmname |
| | var |
| | kwd |
| | oper |
| | delim |
| | sep |
| | synph)* |
| } |
| synph.attlist &= |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Operator |
| oper.element = element oper { oper.attlist, words.cnt* } |
| oper.attlist &= |
| attribute importance { "optional" | "required" | "default" }?, |
| univ-atts-no-importance, |
| attribute outputclass { text }? |
| # LONG NAME: Delimiter |
| delim.element = element delim { delim.attlist, words.cnt* } |
| delim.attlist &= |
| attribute importance { "optional" | "required" }?, |
| univ-atts-no-importance, |
| attribute outputclass { text }? |
| # LONG NAME: Separator |
| sep.element = element sep { sep.attlist, words.cnt* } |
| sep.attlist &= |
| attribute importance { "optional" | "required" }?, |
| univ-atts-no-importance, |
| attribute outputclass { text }? |
| # LONG NAME: API Name |
| apiname.element = element apiname { apiname.attlist, text } |
| apiname.attlist &= |
| attribute keyref { text }?, |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Parameter List |
| parml.element = element parml { parml.attlist, plentry+ } |
| parml.attlist &= |
| attribute compact { "yes" | "no" }?, |
| attribute spectitle { text }?, |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Parameter List Entry |
| plentry.element = element plentry { plentry.attlist, pt+, pd+ } |
| plentry.attlist &= |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Parameter Term |
| pt.element = element pt { pt.attlist, term.cnt* } |
| pt.attlist &= |
| attribute keyref { text }?, |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Parameter Description |
| pd.element = element pd { pd.attlist, defn.cnt* } |
| pd.attlist &= |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Syntax Diagram |
| syntaxdiagram.element = |
| element syntaxdiagram { |
| syntaxdiagram.attlist, |
| title?, |
| (groupseq |
| | groupchoice |
| | groupcomp |
| | fragref |
| | fragment |
| | synblk |
| | synnote |
| | synnoteref)* |
| } |
| syntaxdiagram.attlist &= |
| display-atts, |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Syntax Block |
| synblk.element = |
| element synblk { |
| synblk.attlist, |
| title?, |
| (groupseq |
| | groupchoice |
| | groupcomp |
| | fragref |
| | fragment |
| | synnote |
| | synnoteref)* |
| } |
| synblk.attlist &= |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Sequence Group |
| groupseq.element = |
| element groupseq { |
| groupseq.attlist, |
| title?, |
| repsep?, |
| (groupseq |
| | groupchoice |
| | groupcomp |
| | fragref |
| | kwd |
| | var |
| | delim |
| | oper |
| | sep |
| | synnote |
| | synnoteref)* |
| } |
| groupseq.attlist &= |
| attribute importance { "optional" | "required" | "default" }?, |
| univ-atts-no-importance, |
| attribute outputclass { text }? |
| # LONG NAME: Choice Group |
| groupchoice.element = |
| element groupchoice { |
| groupchoice.attlist, |
| title?, |
| repsep?, |
| (groupseq |
| | groupchoice |
| | groupcomp |
| | fragref |
| | kwd |
| | var |
| | delim |
| | oper |
| | sep |
| | synnote |
| | synnoteref)* |
| } |
| groupchoice.attlist &= |
| attribute importance { "optional" | "required" | "default" }?, |
| univ-atts-no-importance, |
| attribute outputclass { text }? |
| # LONG NAME: Composite group |
| groupcomp.element = |
| element groupcomp { |
| groupcomp.attlist, |
| title?, |
| repsep?, |
| (groupseq |
| | groupchoice |
| | groupcomp |
| | fragref |
| | kwd |
| | var |
| | delim |
| | oper |
| | sep |
| | synnote |
| | synnoteref)* |
| } |
| groupcomp.attlist &= |
| attribute importance { "optional" | "required" | "default" }?, |
| univ-atts-no-importance, |
| attribute outputclass { text }? |
| # LONG NAME: Fragment |
| fragment.element = |
| element fragment { |
| fragment.attlist, |
| title?, |
| (groupseq |
| | groupchoice |
| | groupcomp |
| | fragref |
| | synnote |
| | synnoteref)* |
| } |
| fragment.attlist &= |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Fragment Reference |
| fragref.element = element fragref { fragref.attlist, xrefph.cnt* } |
| # xref |
| fragref.attlist &= |
| attribute href { text }?, |
| attribute importance { "optional" | "required" }?, |
| univ-atts-no-importance, |
| attribute outputclass { text }? |
| # LONG NAME: Syntax Diagram Note |
| synnote.element = |
| element synnote { synnote.attlist, (text | basic.ph)* } |
| synnote.attlist &= |
| attribute callout { text }?, |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Syntax Note Reference |
| synnoteref.element = element synnoteref { synnoteref.attlist, empty } |
| synnoteref.attlist &= |
| attribute href { text }?, |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Repeat Separator |
| repsep.element = element repsep { repsep.attlist, words.cnt* } |
| repsep.attlist &= |
| attribute importance { "optional" | "required" }?, |
| univ-atts-no-importance, |
| attribute outputclass { text }? |
| # LONG NAME: Syntax Keyword |
| kwd.element = element kwd { kwd.attlist, text } |
| kwd.attlist &= |
| attribute keyref { text }?, |
| attribute importance { "optional" | "required" | "default" }?, |
| univ-atts-no-importance, |
| attribute outputclass { text }? |
| # ============================================================= |
| |
| # SPECIALIZATION ATTRIBUTE DECLARATIONS |
| |
| # ============================================================= |
| apiname.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/keyword pr-d/apiname " ] |
| attribute class { text }? |
| codeblock.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/pre pr-d/codeblock " ] |
| attribute class { text }? |
| codeph.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/ph pr-d/codeph " ] |
| attribute class { text }? |
| delim.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/ph pr-d/delim " ] |
| attribute class { text }? |
| fragment.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/figgroup pr-d/fragment " ] |
| attribute class { text }? |
| fragref.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/xref pr-d/fragref " ] |
| attribute class { text }? |
| groupchoice.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/figgroup pr-d/groupchoice " ] |
| attribute class { text }? |
| groupcomp.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/figgroup pr-d/groupcomp " ] |
| attribute class { text }? |
| groupseq.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/figgroup pr-d/groupseq " ] |
| attribute class { text }? |
| kwd.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/keyword pr-d/kwd " ] |
| attribute class { text }? |
| oper.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/ph pr-d/oper " ] attribute class { text }? |
| option.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/keyword pr-d/option " ] |
| attribute class { text }? |
| parml.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/dl pr-d/parml " ] |
| attribute class { text }? |
| parmname.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/keyword pr-d/parmname " ] |
| attribute class { text }? |
| pd.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/dd pr-d/pd " ] attribute class { text }? |
| plentry.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/dlentry pr-d/plentry " ] |
| attribute class { text }? |
| pt.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/dt pr-d/pt " ] attribute class { text }? |
| repsep.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/ph pr-d/repsep " ] |
| attribute class { text }? |
| sep.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/ph pr-d/sep " ] attribute class { text }? |
| synblk.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/figgroup pr-d/synblk " ] |
| attribute class { text }? |
| synnote.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/fn pr-d/synnote " ] |
| attribute class { text }? |
| synnoteref.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/xref pr-d/synnoteref " ] |
| attribute class { text }? |
| synph.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/ph pr-d/synph " ] |
| attribute class { text }? |
| syntaxdiagram.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/fig pr-d/syntaxdiagram " ] |
| attribute class { text }? |
| var.attlist &= |
| global-atts, |
| [ a:defaultValue = "+ topic/ph pr-d/var " ] attribute class { text }? |
| # ================== End Programming Domain ====================== |