[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [cgmo-webcgm] how to add Style Properties to XCF?
I like Alt.1 Rob -----Original Message----- From: Lofton Henderson [mailto:lofton@rockynet.com] Sent: Wednesday, June 15, 2005 6:32 PM To: cgmo-webcgm@lists.oasis-open.org Subject: [cgmo-webcgm] how to add Style Properties to XCF? WebCGM TC, Feedback welcome, if you have a preference... I think we decided today to add Style Properties to XCF (correct?). Please state your preferences about... How should we add them? Alt.1: to each element in XCF, add 9 attributes with names as in the SP table of 5.7.5. Alt.2: to each element in XCF, add 1 attribute which is a string of 2n wsp-separated simple string-valued items (names and values). RECOMMENDATION: Alt.1 DISCUSSION: For reference, the method in 5.7.5 is setStyleProperty(name, value), where name and value are type WebCGMString. Discussion and examples.... Alt.2 would look like, for grobject (4.4) example: ========== content ---- <grobject apsid="myObj1" styleProperties="stroke-weight 50% stroke-color #FF0000" ...> DTD ----- <!ENTITY % grobjectEXT "" > <!ENTITY % grobjectAttEXT "" > <!ELEMENT grobject ( linkuri %grobjectEXT; )* > <!ATTLIST grobject apsid ID #REQUIRED screentip CDATA #IMPLIED region CDATA #IMPLIED viewcontext CDATA #IMPLIED visibility ( on | off | inherit) #IMPLIED interactivity ( on | off | inherit) #IMPLIED styleProperties CDATA #IMPLIED %grobjectAttEXT; > and would contain some verbiage about the structure of the string [(name wsp value wsp)+]. Such verbiage could be centralized in 4.10, "Attribute encoding", and referenced from each XCF element's section. Alt.1 would look like: ========== content ----- <grobject apsid="myObj1" stroke-weight="50%" stroke-color="#FF0000" ...> DTD ----- On every element of XCF, the single styleProperty line of Alt.2 would be replaced by 9 lines (if we keep text-font, 8 otherwise): <!ENTITY % grobjectEXT "" > <!ENTITY % grobjectAttEXT "" > <!ELEMENT grobject ( linkuri %grobjectEXT; )* > <!ATTLIST grobject apsid ID #REQUIRED screentip CDATA #IMPLIED region CDATA #IMPLIED viewcontext CDATA #IMPLIED visibility ( on | off | inherit) #IMPLIED interactivity ( on | off | inherit) #IMPLIED background-color CDATA #IMPLIED character-height CDATA #IMPLIED fill-color CDATA #IMPLIED intensity CDATA #IMPLIED stroke-color CDATA #IMPLIED stroke-weight CDATA #IMPLIED text-color CDATA #IMPLIED text-font CDATA #IMPLIED raster-intensity CDATA #IMPLIED %grobjectAttEXT; > and would pretty much just point to the table in 5.7.5 for contents of CDATA. Alt.1 seems more natural from the usage perspective, though it is uglier from the DTD-definition perspective, having to add 9 lines to every element in the DTD. (That could be mitigated somewhat -- the DTD of XCF could also define an entity and put it in place of the 9 lines.) Preferences? -Lofton.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]