OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

cgmo-webcgm message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Changes to XCF chapters


Hi all,

We have been talking about an XML companion file architecture for some
time now. Dieter and I had the action item to write it up. We're
aiming to have it done before the Munich meeting.  Here's the first
part... Given the spec is currently structured, we don't have "one"
XML companion file chapter.  So first things first, Section 5. WebCGM
XML Companion File, needed more description. We have to provided
detailed information on each elements and attributes, this is what
I've tried to do here. There are two things that I haven't done in
this section yet (I think they should go here), that is to explain why
the DTD is flat, and to expand the explanation of the metadata
extensions a bit.  There was already something, but I think we should
attempt to add some more and clarify.  So here is my suggestion for
our new Section 5.  Lofton, please advise on how to proceed with the
spec editing? 

---

The WebCGM XML Companion file is a new component of WebCGM, forecast
in 1.0 and added in the 2.0 upgrade.  The companion files may be used
for several purposes; an XML companion file can be used as a scaled
down XML representation of a CGM illustration by enumerating the
Application Structures IDs, types and attributes; it can be used to
bind application specific details (such as a part number) to a
particular Application Structure; or alternatively, it could also be
used with the WebCGM DOM, to update a CGM illustration (see section
6.3 Relationship with XML companion file for more information).  There
are certainly other conceivable usage scenarios, but for the scope of
WebCGM 2.0, those three were identified as more important.  In all
cases, a base and generic DTD is required.

The WebCGM XML Companion file DTD is designed as a generic structure
that may allow certain aspects of the WebCGM file to be modified or
added during the load and display of the CGM file. The WebCGM XML
Companion file DTD is extensible so that industry specific metadata
may be added to the WebCGM DOM.  The extension definitions are
implemented using namespaces.  As an example, an industry of widgets
makers may want to dynamically control stroke-weight style attribute
of a grobject representing a widget based on an external attribute of
the widget.  This might be implemented with an extension that looks
like: 

<!ENTITY   % grobjectAttEXT   "widget:linewt (regular | heavy) #IMPLIED >

If the widget:linewt attribute were set to 'heavy' in the companion
file instance, the widget application could query the CGM file using
WebCGM DOM to determine the value of the attribute.  It could then
instruct the WebCGM viewer to increase the stroke weight of the lines
in the associated grobject.

5.1 The 'webcgm' element

A WebCGM companion file (or any other CGM profile derived from the
WebCGM profile) must have a 'webcgm' element as the root element.

<!ENTITY   % webcgmEXT        ""                                        >
<!ENTITY   % webcgmAttEXT     ""                                        >
<!ELEMENT webcgm ( (layer | grobject | para | subpara
                  | bindById | bindByName)*  %webcgmEXT; )              >
<!ATTLIST webcgm  
          id             ID       #IMPLIED
          version        CDATA    #REQUIRED
          filename       CDATA    #REQUIRED
  %webcgmAttEXT;
                                                                        >
Attribute definitions:
id="xml:id"
  Standard XML attribute for assigning a unique name to an element.
  Refer to the "Extensible Markup Language (XML) 1.0" Recommendation
  [XML10].

version="CDATA"
  Represents the metafile version of the WebCGM file identified by the
  'filename' attribute. 'version' is a descriptive attribute.

filename="CDATA"
  Represents the filename of the given WebCGM file. 'filename' is a
  descriptive attribute.

  
5.2 The 'layer' element

The 'layer' element of an XML companion file represents an CGM
Application Structure of type 'layer'.  The corresponding 'layer' is
identifiable given its assigned 'apsid' attribute value.

<!ENTITY   % layerEXT         ""                                        >
<!ENTITY   % layerAttEXT      ""                                        >
<!ELEMENT layer  %layerEXT;                                             >
<!ATTLIST layer 
          apsid          ID              #REQUIRED
          layerdesc      CDATA           #IMPLIED
          visibility     ( on | off )    #IMPLIED
          interactivity  ( on | off )    #IMPLIED
          %layerAttEXT;
                                                                       >
Attribute definitions:
apsid="xml:id"
  The unique identifier of a 'layer' Application Structure for the
  given WebCGM file.

layerdesc="CDATA"
  Value of the 'layerdesc' Application Structure attribute for this
  object. 

visibility="on|off"
  Value of the 'visibility' Application Structure attribute for this
  object.

interactivity="on|off"
  Value of the 'interactivity' Application Structure attribute for
  this object.

layerAttEXT=""
  An extensible metadata attribute for the 'layer' of unique ID
  'apsid'. Metadata attributes such as 'layerAttEXT' have no visual
  impact on the object. The metadata attribute, if loaded into memory
  via a WebCGM DOM call, only has meaning the external application
  controlling the WebCGM illustration.

  
5.3 The 'grobject' element

The 'grobject' element of an XML companion file represents an CGM
Application Structure of type 'grobject'.  The corresponding
'grobject' is identifiable given its assigned 'apsid' attribute value.

<!ENTITY   % grobjectEXT      ""                                       >
<!ENTITY   % grobjectAttEXT   ""                                       >
<!ELEMENT grobject  ( linkuri*  %grobjectEXT; )                        >
<!ATTLIST grobject 
          apsid          ID              #REQUIRED
          screentip      CDATA           #IMPLIED
          visibility     ( on | off )    #IMPLIED
          interactivity  ( on | off )    #IMPLIED
          %grobjectAttEXT;
                                                                       >
Attribute definitions:
apsid="xml:id"
  The unique identifier of a 'grobject' Application Structure for the
  given WebCGM file.

screentip="CDATA"
  Value of the 'screentip' Application Structure attribute for this
  object.

visibility="on|off"
  Value of the 'visibility' Application Structure attribute for this
  object.

interactivity="on|off"
  Value of the 'interactivity' Application Structure attribute for
  this object.

grobjectAttEXT=""
  An extensible metadata attribute for the 'grobject' of unique ID
  'apsid'. Metadata attributes such as 'grobjectAttEXT' have no visual
  impact on the object. The metadata attribute, if loaded into memory
  via a WebCGM DOM call, only has meaning the external application
  controlling the WebCGM illustration.


5.4 The 'para' element

The 'para' element of an XML companion file represents an CGM
Application Structure of type 'para'.  The corresponding 'para' is
identifiable given its assigned 'apsid' attribute value.

<!ENTITY   % paraEXT          ""                                        >
<!ENTITY   % paraAttEXT       ""                                        >
<!ELEMENT para ( linkuri*  %paraEXT; )                                 >
<!ATTLIST para
          apsid          ID              #REQUIRED
          screentip      CDATA           #IMPLIED
          visibility     ( on | off )    #IMPLIED
          interactivity  ( on | off )    #IMPLIED
          %paraAttEXT;
                                                                       >
Attribute definitions:
apsid="xml:id"
  The unique identifier of a 'para' Application Structure for the
  given WebCGM file.

screentip="CDATA"
  Value of the 'screentip' Application Structure attribute for this
  object.

visibility="on|off"
  Value of the 'visibility' Application Structure attribute for this
  object.

interactivity="on|off"
  Value of the 'interactivity' Application Structure attribute for
  this object.

paraAttEXT=""
  An extensible metadata attribute for the 'para' of unique ID
  'apsid'. Metadata attributes such as 'paraAttEXT' have no visual
  impact on the object. The metadata attribute, if loaded into memory
  via a WebCGM DOM call, only has meaning the external application
  controlling the WebCGM illustration.

  
5.5 The 'subpara' element

The 'subpara' element of an XML companion file represents an CGM
Application Structure of type 'subpara'.  The corresponding 'subpara'
is identifiable given its assigned 'apsid' attribute value.

<!ENTITY   % subparaEXT       ""                                        >
<!ENTITY   % subparaAttEXT    ""                                        >
<!ELEMENT subpara ( linkuri*  %subparaEXT; )                           >
<!ATTLIST subpara
          apsid          ID              #REQUIRED
          screentip      CDATA           #IMPLIED
          visibility     ( on | off )    #IMPLIED
          interactivity  ( on | off )    #IMPLIED
          %subparaAttEXT;
                                                                      >
Attribute definitions:
apsid="xml:id"
  The unique identifier of a 'subpara' Application Structure for the
  given WebCGM file.

screentip="CDATA"
  Value of the 'screentip' Application Structure attribute for this
  object.

visibility="on|off"
  Value of the 'visibility' Application Structure attribute for this
  object.

interactivity="on|off"
  Value of the 'interactivity' Application Structure attribute for
  this object.

subparaAttEXT=""
  An extensible metadata attribute for the 'subpara' of unique ID
  'apsid'. Metadata attributes such as 'subparaAttEXT' have no visual
  impact on the object. The metadata attribute, if loaded into memory
  via a WebCGM DOM call, only has meaning the external application
  controlling the WebCGM illustration.


5.6 The 'linkuri' element

A 'linkuri' element of an XML companion file represents a WebCGM
'linkuri' Application Structure attribute. Contrary to other
attributes, the 'linkuri' attribute is expressed as an element in the
XML companion file. The corresponding Application Structure of this
'linkuri' is its parent element.

<!ELEMENT linkuri   EMPTY                                              >
<!ATTLIST linkuri
          uri            CDATA           #REQUIRED
          behavior       CDATA           #IMPLIED
          desc           CDATA           #IMPLIED
                                                                       >
Attribute definitions:
uri="CDATA"
  The href of this 'linkuri' attribute.  See Section 6.4 Basic Data
  Types for more information.

behavior="CDATA"
  The behavior of this 'linkuri' attribute. See Section 6.4 Basic Data
  Types for more information.

desc="CDATA"
  The title or description of this 'linkuri' attribute. See Section
  6.4 Basic Data Types for more information.


5.7 The 'bindByName' element

A 'bindByName' element of an XML companion file is intended to
correspond to one or more Application Structure in a CGM file.  The
common link between those Application Structures is that their 'name'
or 'layername' attribute value corresponds to 'apstargetname'. See
section 6.3 Relationship with XML companion file for more information
on the rules of mapping 'bindByName' attributes to WebCGM Application
Structures. 

<!ENTITY   % bindByNameEXT    ""                                      >
<!ENTITY   % bindByNameAttEXT ""                                      >
<!ELEMENT bindByName  ( linkuri*  %bindByNameEXT; )                   >
<!ATTLIST bindByName
          apstargetname  CDATA           #REQUIRED
          screentip      CDATA           #IMPLIED
          layerdesc      CDATA           #IMPLIED
          visibility     ( on | off )    #IMPLIED
          interactivity  ( on | off )    #IMPLIED
          %bindByNameAttEXT;
                                                                      >
Attribute definitions:
apstargetname="CDATA"
  Name used to identify the corresponding Application Structure(s) for
  a given WebCGM file.

screentip="CDATA"
  Value of the 'screentip' Application Structure attribute for this
  object.

layerdesc="CDATA"
  Value of the 'layerdesc' Application Structure attribute for this
  object. 

visibility="on|off"
  Value of the 'visibility' Application Structure attribute for this
  object.

interactivity="on|off"
  Value of the 'interactivity' Application Structure attribute for
  this object.

bindByNameAttEXT=""
  An extensible metadata attribute for the Application Structure(s)
  which have a 'name' or 'layername' corresponding to 'apstargetname'.
  Metadata attributes such as 'bindByNameAttEXT' have no visual
  impact on the object. The metadata attribute, if loaded into memory
  via a WebCGM DOM call, only has meaning the external application
  controlling the WebCGM illustration.


5.8 The 'bindById' element

The 'bindById' element of an XML companion file represents an CGM
Application Structure of unknown type (some possibilities are:
layer, grobject, para, subpara).  The corresponding object is
identifiable given its assigned 'apsid' attribute value. See
section 6.3 Relationship with XML companion file for more information
on the rules of mapping 'bindById' attributes to WebCGM Application
Structures.

<!ENTITY   % bindByIdEXT      ""                                      >
<!ENTITY   % bindByIdAttEXT   ""                                      >
<!ELEMENT bindById ( linkuri*  %bindByIdEXT;)                         >
<!ATTLIST bindById
          apsid          ID              #REQUIRED
          screentip      CDATA           #IMPLIED
          layerdesc      CDATA           #IMPLIED
          visibility     ( on | off )    #IMPLIED
          interactivity  ( on | off )    #IMPLIED
          %bindByIdAttEXT;
                                                                      >
Attribute definitions:
apsid="xml:id"
  The unique identifier of an Application Structure for the given
  WebCGM file. 

screentip="CDATA"
  Value of the 'screentip' Application Structure attribute for this
  object.

layerdesc="CDATA"
  Value of the 'layerdesc' Application Structure attribute for this
  object. 

visibility="on|off"
  Value of the 'visibility' Application Structure attribute for this
  object.

interactivity="on|off"
  Value of the 'interactivity' Application Structure attribute for
  this object.

bindByIdAttEXT=""
  An extensible metadata attribute for the 'bindById' of unique ID
  'apsid'. Metadata attributes such as 'bindByIdAttEXT' have no visual
  impact on the object. The metadata attribute, if loaded into memory
  via a WebCGM DOM call, only has meaning the external application
  controlling the WebCGM illustration.
  
[We should probably insert the full DTD here.]

-- 
 Benoit                 mailto:benoit@itedo.com



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]