[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Action item: modifier and support for aspect oriented programming
Bob Stayton wrote:
> e. Jirka to investigate whether modifier needs to be added to any
> content models (for synopsis annotations).
Is seems that almost all places where aspects (Java annotations, C#
attributes) can occur are already covered by modifier element. The only
missing case (which is probably very rarely used) is aspect belonging
only to one specific parameter. Thus I propose to change current content
model of methodparam from:
db.methodparam =
element methodparam {
db.methodparam.attlist,
db.modifier*,
db.type?,
((db.parameter, db.initializer?) | db.funcparams),
db.modifier*
}
to:
db.methodparam =
element methodparam {
db.methodparam.attlist,
db.modifier*,
db.type?,
((db.modifier*, db.parameter, db.initializer?)
| db.funcparams),
db.modifier*
}
E.g. each parameter can be preceded by an arbitrary number of modifiers.
> f. Jirka to investigate whether modifier needs a class attribute.
Some annotations can be multiline and in this case it is desirable to
preserve whitespace inside modifier. One proposal was to add special
class attribute which can be used whether modifier is normal or
"verbatim" one. I think that more easier and elegant solution is to use
xml:space="preserve" for modifiers with significant whitespace. This way
we do not add any explicit aspect semantic to modifier element. I think
that this good because this semantic is too fuzzy and in many cases not
very different from "older" modifers (static, public, final, ...).
I propose to add optional xml:space attribute to modifer:
db.modifier.xml.space.attribute =
attribute xml:space {
"preserve" | "default"
}
db.modifier.attlist =
db.modifier.role.attribute?
& db.modifier.xml.space.attribute?
& db.common.attributes
& db.common.linking.attributes
The description in TDG can be updated as follows:
Description
A Modifier identifies additional information about some identifier. For
example, the public or private nature of a OOClass name, or information
about a static or synchronized nature of a MethodSynopsis, or other
aspect (known as annotations in Java and attributes in C#).
Processing expectations
Formatted inline. If xml:space="preserve" is specified, formatted as
block with whitespace preserved.
Jirka
--
------------------------------------------------------------------
Jirka Kosek e-mail: jirka@kosek.cz http://www.kosek.cz
------------------------------------------------------------------
Profesionální školení a poradenství v oblasti technologií XML.
Podívejte se na náš nově spuštěný web http://DocBook.cz
Podrobný přehled školení http://xmlguru.cz/skoleni/
------------------------------------------------------------------
Nejbližší termíny školení:
** DocBook 15.-17.5.2006 ** XSL-FO 12.-13.6.2006 **
** XSLT 23.-26.10.2006 ** XML schémata 13.-15.11.2006 **
------------------------------------------------------------------
http://xmlguru.cz Blog mostly about XML for English readers
------------------------------------------------------------------
S/MIME Cryptographic Signature
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]