[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]