<?ZBNF-www.vishia.de version="1.0" encoding="iso-8859-1" ?> $xmlns:gen="http://www.vishia.de/2006/DocuGenCtrl". $xmlns:xhtml="http://www.w3.org/1999/xhtml". $inputEncodingKeyword="encoding". $import "../xsl/ZmakeStd.zbnf". GenCtrl::=[<*|\nDocuGenCtrl_RULES:?> DocuGenCtrl_RULES:] <GenCtrl_i?>. GenCtrl_i::=<?GenCtrl> [\<\?DocuGenCtrl-www\.vishia\.[de|org] {version=<""?@version-GenDocuCtr>|encoding=<""?@encoding>} \?\>] genCtrl: <*\ ;?@file> ; [<?hrefCtrl> hrefCtrl: <*\ ;?!prepFilePath> ; ] [ importXsl ( {<import> ? , } ) ; ] [{ target: <target>; | \$<variable>; }] ##some Zmake-targets ##[{ target: }] ##some Zmake-targets [{ prepXml: <prepXml> }] { <document> } [ HyperlinkAssociation <HyperlinkAssociations> ] \e. import::=[<*:\ \r\n,)?@dir>:]<*|.xsl|.xslp?@href>[<?@type>\.xslp|\.xsl]. prepXml::= [ \{ { <*\ \r\n-,?!prepInputfile> ? ,} \} ##more as one inputfile in {input, input, ...} | <*\ \r\n-?!prepInputfile> ##NOTE: - as terminate char is the first of followed "-> symbol" ] -\> <$?@translator> [-\> <*;\ \r\n-?@outputfile>] ; . ##see ZmakeStd.zbnf prepInputfile::=<prepInputFilePath?input>. ##see ZmakeStd.zbnf prepInputFilePath::=[<+<</:\\?@path>]<*?@file>. document::=Document <""?@title> ident = <$?@ident> ##the ident is the identification of the document for generating process. Old form, it is the file name in html/ident.html and word/ident.xml [ html = <file?outHtml> ] ##this file with path will be produced as html-file [ css = <""?cssHtml> ] ##this file with path is linked as css file in the html-file [ word = <file?outWord> ] ##this file with path will be produced as word-file \{ [{ input: <prepXmlInput?input> ; ##The input files for generating the XhtmlPre, possible preprocessed, see <prepXml> | inputCrossRef: <prepXmlInput?inputCrossRef> ; | inset: <inset> ; ##association between inset proxy label and associated topic }] [xslCrossRef: <import?xslCrossRef> ; ] { chapter <chapter> ##at least one, or more toplevel chapters | <content?> | HyperlinkAssociation <HyperlinkAssociations> } \} . ?topic::="topic content without sub-topics. Use /* on end of select string to get the content without the topic-title.". ?topictree::="topic with all sub-topics as sub-chapters.". ?freemindtopictree::="topic with all sub-topics as sub-chapters from freemind.mm.". prepXmlInput::=<*;\ \r\n-?@inputfile> [ -\> <$?@translator> [ -\> <*;\ \r\n-?@outputfile>]]. ##association between inset label and a topic. Just now only topic association is supported. ##in the future more as that is able, hence the <topic> is produced. inset::=<*\ =?@label> = [<?topic> topic ( <*)\ ?@select> )| none]. chapter::= <""?title> [({ id=<*,) ?@id> ?, })] ##the id produce a hyperlink anchor in the output document for this chapter. \{ { [chapter <chapter>|[<content?>]]} \}. content::= { p <""?p> | inset <inset> | topic( <topic> ); | topictree( <topic?topictree> ); | freemindtopic( <topic?freemindtopic> ); | freemindtopictree( <topic?freemindtopictree> ); | freemindtable(<topic?freemindtable>); |<?file> file( <""?@path> [, <""?@from> \.\. [<""?@to> ]]); ##input from a file, it is able to select a part from .. to specified text, exclusive this labels. | picture( <picture> ); | umlPkg ( <umlPkg> ); | umlClass ( <umlClass> ); | umlIfc ( <umlClass?umlIfc> ); | umlMethod ( <umlMethod> ); | umlIfcMethod ( <umlMethod?umlIfcMethod> ); | umlMethodBody ( <umlMethod?umlMethodBody> ); | umlIfc ( <umlIfc> ); | umlComment ( <umlComment> ); | umlSQD ( <umlSQD> ); | umlStateD ( <umlStateD> ); | umlStateReport ( <umlStateReport> ); | umlEnumeration( <umlEnumeration> ); | umlDatatype( <umlDatatype> ); | CLASS_C(<*)?CLASS_C/@select>); | dataStruct ( <umlClass> ); | headerCClass(<*)?CLASS_C/@select>); | DEFINE_C(<*)?DEFINE_C/@select>); | crossRef( <crossRef> ); | call <call> ; } . call::=<$?@name> ( <*,)\ ?@select> ). ##The syntax of topic is also used for ?topictree-semantic. It is the same. topic::=<*,)\ ?@select> [,{ divStyle=[<$?@divStyle>|<""?@divStyle>] | pStyle=[<$?@pStyle>|<""?@pStyle>] | ulStyle=[<$?@ulStyle>|<""?@ulStyle>] | olStyle=[<$?@olStyle>|<""?@olStyle>] | dlStyle=[<$?@dlStyle>|<""?@dlStyle>] | tableStyle=[<$?@tableStyle>|<""?@tableStyle>] | style:<styleTransform> ? , }]. ?topic/select::="selection string started at root of topics. An /* on end means: Use the topic content without its title.". picture::=<""?@title> [: <""?@file>] [ , <#?xPx> x <#?yPx> px ] [ , { imgMap=[<$?@imgMap>|<""?@imgMap>] ? , }]. styleTransform::=[<$?@srcStyle>|<""?@srcStyle>]-\>[<$?@dstStyle>|<""?@dstStyle>]. umlClass::=<*,)\ ?@select> [,{ title = <""?@title> ##if a title is given, the umlClass will be placed in an own chapter with this title. | methods = [<?@methods>all|public-only|withDescription-only|no|body|onlybody] | methodstyle = [<?@methodstyle>shortdescription|body|onlybody] | attributes = [<?@attributes>all|public-only|withDescription-only|bytes|no] | associations = [<?@associations>all|public-only|withDescription-only|no] | header<?@header> ? , }]. umlMethod::=<*,)\ ?@select> [,{ title = <""?@title> | methodstyle=[<?@methodstyle>shortdescription|body|onlybody] | methodblock = <""?@methodblock>\.\.<""?@methodblockEnd> ? , }]. umlEnumeration::=<*,)\ ?@select> [,{ title = <""?@title> | content = [<?@content>onlydocu] ? , }]. umlDatatype::=<*,)\ ?@select> [,{ title = <""?@title> | content = [<?@content>onlydocu] ? , }]. umlIfc::=<*,)\ ?@select> [, title = <""?@title> ]. umlPkg::=<*,)\ ?@select>. umlComment::=<*,)\ ?@select>. umlSQD::=<*,)\ ?@select> . umlStateD::=<*,)\ ?@select> . umlStateReport::=<*,)\ ?@select> . crossRef::=<*,)\ ?@content>. HyperlinkAssociations::= \{ {<?Association> <*\ =?@href> = <""?@dst> [: <$?@content>] ; } \}.