index.en.yhtml2
author Volker Birk <vb@pep-project.org>
Thu, 08 Apr 2021 21:11:30 +0200
changeset 77 5b23278ed81f
parent 0 76005e62091d
permissions -rw-r--r--
updating documentation
0
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
     1
// the YML homepage
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
     2
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
     3
include homepage.en.yhtml2
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
     4
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
     5
page "YML – Why a Markup Language?!" {
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
     6
    h1 > Introduction
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
     7
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
     8
    h2 > What is YML?
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
     9
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    10
    p   >>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    11
        Well, it's the idea not to need to define a grammar first when you want to use a
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    12
        ¬http://en.wikipedia.org/wiki/Domain_Specific_Language Domain Specific Language¬.
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    13
        For that purpose, YML is being translated into XML. Let's make an example.
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    14
        >>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    15
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    16
    p   >>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    17
        Everything which comes close to a C like language, parses without a grammar
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    18
        definition:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    19
        >>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    20
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    21
    p > This:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    22
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    23
    Code
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    24
        ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    25
        template< class T > T max(T a, T b);
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    26
        ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    27
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    28
    p > Parses to:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    29
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    30
    Code
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    31
        ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    32
        <?xml version='1.0' encoding='UTF-8'?>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    33
        <template>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    34
          <generic>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    35
            <class/>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    36
            <T/>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    37
          </generic>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    38
          <T>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    39
            <max>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    40
              <parm>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    41
                <T/>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    42
                <a/>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    43
              </parm>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    44
              <parm>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    45
                <T/>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    46
                <b/>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    47
              </parm>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    48
            </max>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    49
          </T>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    50
        </template>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    51
        ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    52
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    53
    p   >>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    54
        Instead of defining grammars, you test out and play around until the
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    55
        results are matching your needs. If the resulting tree does not fit
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    56
        what you're expecting, change it by patching the grammar with `code > decl`:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    57
        >>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    58
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    59
    p > This:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    60
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    61
    Code
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    62
        ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    63
        module A {
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    64
            interface B {
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    65
                attribute long n;
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    66
            };
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    67
        };
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    68
        ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    69
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    70
    p > Parses to:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    71
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    72
    Code
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    73
        ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    74
        <?xml version='1.0' encoding='UTF-8'?>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    75
        <module>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    76
          <A>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    77
            <interface>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    78
              <B>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    79
                <attribute>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    80
                  <long>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    81
                    <n/>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    82
                  </long>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    83
                </attribute>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    84
              </B>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    85
            </interface>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    86
          </A>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    87
        </module>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    88
        ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    89
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    90
    p   >>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    91
        This does not look like what we want. So we tell YML that
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    92
        we have a module name after the module, an interface name after
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    93
        the interface and type and name after the attribute:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    94
        >>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    95
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    96
    p > This:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    97
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    98
    Code
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
    99
        ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   100
        decl module @name;
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   101
        decl interface @name;
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   102
        decl attribute @type @name;
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   103
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   104
        module A {
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   105
            interface B {
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   106
                attribute long n;
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   107
            };
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   108
        };
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   109
        ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   110
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   111
    p > Parses to:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   112
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   113
    Code
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   114
        ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   115
        <?xml version='1.0' encoding='UTF-8'?>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   116
        <module name="A">
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   117
          <interface name="B">
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   118
            <attribute type="long" name="n"/>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   119
          </interface>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   120
        </module>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   121
        ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   122
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   123
    h2 id=what > What can I do with YML?
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   124
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   125
    p > With YML you can:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   126
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   127
    ul {
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   128
        li p > use a C-like ¬http://en.wikipedia.org/wiki/Domain-specific_language DSL¬ without writing a grammar first
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   129
        li p > generate code out of this ¬http://en.wikipedia.org/wiki/Domain-specific_language DSL¬ using ¬yslt YSLT¬
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   130
        li p > generate code out of ¬http://en.wikipedia.org/wiki/Unified_Modeling_Language UML¬ using ¬yslt YSLT¬ on ¬http://en.wikipedia.org/wiki/XML_Metadata_Interchange XMI¬
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   131
        li p > generate code out of any XML based language like ¬http://en.wikipedia.org/wiki/Scalable_Vector_Graphics SVG¬ using ¬yslt YSLT¬
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   132
        li p > define a ¬http://en.wikipedia.org/wiki/Wiki wiki¬ like language in just a few lines like ¬http://fdik.org/yml/programming#wiki YHTML¬ does
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   133
        li p > replace bad designed and complicated XML languages with simpler C-like ones
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   134
        li p > ... and much more.
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   135
    }
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   136
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   137
    h2 id=howitworks > How it works: Replacing angle brackets with some Python
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   138
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   139
    p > Just writing down what I wanted to have instead of XML for a sample:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   140
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   141
    Code    ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   142
            <list name="List of goods">
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   143
                <head>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   144
                    <columTitle>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   145
                        Goods
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   146
                    </columnTitle>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   147
                    <columnTitle>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   148
                        Price
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   149
                    </columnTitle>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   150
                </head>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   151
                <row>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   152
                    <value>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   153
                        Beer
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   154
                    </value>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   155
                    <value>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   156
                        20
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   157
                    </value>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   158
                </row>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   159
                <row>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   160
                    <value>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   161
                        Wine
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   162
                    </value>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   163
                    <value>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   164
                        30
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   165
                    </value>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   166
                </row>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   167
            </list>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   168
            ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   169
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   170
    p > Something like that should be more easy, say, like this:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   171
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   172
    Code    ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   173
            list "List of goods" {
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   174
                head title "Goods", title "Price";
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   175
                row value "Beer", value 20;
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   176
                row value "Wine", value 30;
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   177
            }
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   178
            ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   179
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   180
    h2 id=ylanguages > Y Languages
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   181
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   182
    p   >>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   183
        The latter is what I call an Y language – a language specified in YML. How could this be
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   184
        achieved? Well, what's to do? To have the required information, how to build XML from the
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   185
        script above, we need:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   186
        >>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   187
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   188
    ul {
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   189
        li  >>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   190
            the information, that “list of goods” is an attribute named «name», while «Goods» is
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   191
            the text value of a tag
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   192
            >>
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   193
        li > «title» shout be written out as «columnTitle»
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   194
    }
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   195
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   196
    p > How to do that? Let's invent a simple definition language for that information:
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   197
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   198
    Code    ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   199
            decl list(name);
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   200
            decl title alias columnTitle;
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   201
            ||
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   202
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   203
    p > Here you can ¬samples/list.yml2 download the complete list sample¬.
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   204
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   205
    div id=bottom > ¬#top ^Top^¬ ¬programming >> Using YML 2¬ ¬index.en.yhtml2 (source)¬
76005e62091d initial commit
Volker Birk <vb@pep-project.org>
parents:
diff changeset
   206
}