db.funcprototype.attlist,
db.modifier*,
db.funcdef,
- (db.void | db.varargs | (db.paramdef+, db.varargs?)),
+ (db.void | db.varargs | ((db.paramdef|db.group.paramdef)+, db.varargs?)),
db.modifier*
}
}
# ======================================================================
+[
+ db:refname [ "group" ]
+ db:refpurpose [ "A group of parameters" ]
+]
+div {
+
+ db.group.paramdef.role.attribute = attribute role { text }
+ db.group.paramdef.choice.attribute = db.choice.opt.attribute
+
+ db.group.paramdef.attlist =
+ db.group.paramdef.role.attribute?
+ & db.common.attributes
+ & db.common.linking.attributes
+ & db.group.paramdef.choice.attribute?
+
+ db.group.paramdef =
+ element group {
+ db.group.paramdef.attlist,
+ (db.paramdef|db.group.paramdef)+
+ }
+}
+
+# ======================================================================
+
[
db:refname [ "paramdef" ]
db:refpurpose [ "Information about a function parameter in a programming language" ]
db.constructorsynopsis.attlist,
db.modifier*,
db.methodname?,
- (db.methodparam+ | db.void?),
+ ((db.methodparam|db.group.methodparam)+ | db.void?),
db.exceptionname*
}
}
db.destructorsynopsis.attlist,
db.modifier*,
db.methodname?,
- (db.methodparam+ | db.void?),
+ ((db.methodparam|db.group.methodparam)+ | db.void?),
db.exceptionname*
}
}
db.modifier*,
(db.type | db.void)?,
db.methodname,
- (db.methodparam+ | db.void),
+ ((db.methodparam|db.group.methodparam)+ | db.void),
db.exceptionname*,
db.modifier*
}
# ======================================================================
+[
+ db:refname [ "group" ]
+ db:refpurpose [ "A group of method parameters" ]
+]
+div {
+
+ db.group.methodparam.role.attribute = attribute role { text }
+ db.group.methodparam.choice.attribute = db.choice.opt.attribute
+
+ db.group.methodparam.attlist =
+ db.group.methodparam.role.attribute?
+ & db.common.attributes
+ & db.common.linking.attributes
+ & db.group.methodparam.choice.attribute?
+
+ db.group.methodparam =
+ element group {
+ db.group.methodparam.attlist,
+ (db.methodparam|db.group.methodparam)+
+ }
+}
+
+# ======================================================================
+
[
db:refname [ "varname" ]
db:refpurpose [ "The name of a variable" ]
<!-- db.area.inareaset is the "right" one; it has an optional id -->
</xsl:when>
+ <!-- handle the group patterns -->
+ <xsl:when test="@name = 'db.group'">
+ <dtd:element name="group">
+ <dtd:group>
+ <dtd:choice repeat="+">
+ <dtd:ref name="arg"/>
+ <dtd:ref name="group"/>
+ <dtd:ref name="option"/>
+ <dtd:ref name="synopfragmentref"/>
+ <dtd:ref name="replaceable"/>
+ <dtd:ref name="sbr"/>
+ <dtd:ref name="paramdef"/>
+ <dtd:ref name="methodparam"/>
+ </dtd:choice>
+ </dtd:group>
+ </dtd:element>
+
+ <dtd:attlist name="group">
+ <dtd:attribute name="role" occurs="optional"/>
+ <dtd:peref name="db.common.attributes"/>
+ <dtd:peref name="db.common.linking.attributes"/>
+ <dtd:attribute name="rep" default="norepeat" occurs="optional">(norepeat|repeat)</dtd:attribute>
+ <dtd:attribute name="choice" default="opt" occurs="optional">(opt|plain|req)</dtd:attribute>
+ </dtd:attlist>
+ </xsl:when>
+
+ <xsl:when test="@name = 'db.group.paramdef'
+ or @name = 'db.group.methodparam'">
+ <!-- nop; handled by group above -->
+ </xsl:when>
+
<!-- Handle the row patterns -->
<xsl:when test="@name = 'db.entrytbl.row' and key('pattern', 'db.row')">