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: Config edits draft -finally!


Here's the first draft of all the edits for the font mapping and default
style tasks.

I'll be incorporating this into the master WD by Monday COB, so please
provide comments as soon as possible.

Thx...Dave
 <<config_edits.html>> 

Technical Fellow - Graphics/Digital Data Interchange
Boeing Commercial Airplane
206.544.3560, fax 206.662.3734
david.w.cruikshank@boeing.com

Title: No title

Edits for configuration mapping - both font and style properties

New paras at the end of 2.5.2

There are some CGM Version 3 attribute and control elements for which it is desirable to override the default value in CGM:1999, when an explicit definition of the value is not present in the CGM file. This would also allow defintion of the rendering behavior of CGM Version 1 and Version 2 files, where those attribute and control elements are not allowed, as well as allow definition in CGM Verson 3 files where the elements are not declared.

This is accomplished in WebCGM using a standard XML DTD to encode the allowable elements and their values in an XML instance. Examples and more details can be fouund in the WebCGM chapter on Application Configurable Items.

New paras at the end of 2.5.4

In order to facilitate font interchange, WebCGM defines a method to specify mapping font names during the import process.

This mapping is accomplished in WebCGM using standard XML DTD. Examples and more details can be found in the WebCGM chapter on Application Configurable Items.

modifications to 3.1.1.1

In the 4th para, add a new bullet to the end of the unordered list

modifications to Fragment EBNF 3.1.1.2

In the list of notation at the beginning add:

; — separates multiple fragment entries

in the defintion of webcgmfragment replace "xcfterm" with "resrcterm"

replace the definition of xcfterm with

resrcterm ::= "xcf(" resrcurl ")" | "xcf(" resrcurl ");aci(" resrcurl ")" |
              "aci(" resrcurl ")" | "aci(" resrcurl ");xcf(" resrcurl ")"

replace the defintion of xcfurl, with

resrcurl ::= (char)+

In 3.1.1.3

replace 2 occurences of "xcfurl" with "resrcurl"

replace 3.1.1.5 with

3.1.1.5 Resolving relative IRIs for resource files

The above fragment EBNF defines an resrcterm production whose 'resrcurl' parameter identifies an XML Companion File and/or a Application Configurable Items file associated the WebCGM identified by the IRI. WebCGM viewers that support XCF must interpret the fragment, locate and load the XCF. WebCGM viewers that support ACI files must interpret the fragement and load the ACI file only on the initial load of a WebCGM file. The 'resrcurl' parameter is itself a IRI, and it can be absolute or relative. WebCGM viewers shall resolve a relative 'resrcurl' IRI relative to the IRI of the WebCGM instance with which the resource file is a companion — i.e. relative to the WebCGM file referenced by the base part of the IRI containing the fragment — rather than relative to the file containing the IRI reference (e.g., an HTML file).

EXAMPLE. Suppose an HTML document contains a hyperlink (href attribute on <a> element) to a WebCGM illustration, and that hyperlink IRI contains a fragment specifying to load and apply an XML Companion File:

Then the relative IRI "some-part.xml" is resolved according to the location of the associated CGM, not according to the location of the HTML:

Similarly, if the fragment were #xcf(companions/some-part.xml), then that IRI resolves to:

http://www.example.org/illustrations/companions/some-part.xml

Add a new 3.1.2.7

3.1.2.7 ACI File

The fragment syntax can only be used to load an Application Configurable Items file (ACI) along with the WebCGM file. An interpreter that supports WebCGM DOM shall load and apply the ACI file then load WebCGM file.

Interpreters that do not support the WebCGM DOM may ignore this fragment type.

renumber current 3.1.2.7 to 3.1.2.8 and fix the reference to 3.1.2.7 in 3.1.2

New scenario in 4.1

At the end of para 1, change "three" to "four"

add scenario 4

Scenario 4: A companion file could also be used to associate a WebCGM default configuration file (See Chapter 9 for more information) with the initiation of a WebCGM viewer application via the processing instruction mechanism:

Example 4.4: A companion file processing instruction is used to tell the viewer application to apply configuration defaults for font mapping and style properties with the referenced file.

<?webcgmconfig href="file://mydir/myconfig.xml" ?>
<webcgm version="2.0" id="root-cgm" filename="sample_2.cgm"
                      xmlns="http://www.cgmopen.org/schema/webcgm/">
<bindByName apstargetname="bolt_100" screentip="Replacement part:bolt-100B"/>
<bindByName apstargetname="wingnut_9" screentip="Replacement part:wingnut-T9A"/>
</webcgm>

Chapter 6

T.26.6

replace "none" after "Other" with

A method for the user specification of font substitution is described in the Application Configurable Item chapter.

T.26.7

Add a Note at the bottom

Note: The semantic latitude for many of these cases is addressed in the Application Configurable Items chapter, allowing explicit defintion of rendering behavior for V1/V2 files and for those V3 and later files that have not explicitly specified parameter values.

In Chapter 7.1

in para 1 add a new item to the bulleted list

Chapter 7.4.1

add at end

Configuration files (ACI)

The ACI file is not extensible. There shall be no content in conforming ACI file instances beyond what is defined and allowed by the Appliction Configuration Items of Chapter 9.

Chapter 7.4.2

add at end

Configuration files (ACI)

The ACI file is not extensible. There shall be no content in conforming ACI file instances beyond what is defined and allowed by the Appliction Configuration Items of Chapter 9.

New chapter

9. Application Configurable Items

This chapter and its subsections are normative, unless otherwise indicated.

9.1 Introduction

The WebCGM Aplication Configuration Items file (ACI) allows the user to improve font interchange by specifying desired font mapping between CGM files and WebCGM applications.

The ACI file also provides a mechanism to specify default parameters for certain CGM Version 3 elements that are not explicitly defined in a CGM Version 3 file or are to be used as the defaults.

The ACI file can be associated with a WebCGM file by two methods. The reference to ACI file can be included in the 'href' attribute of the <a> element using the fragment mechanism described in the Fragment definition section, or the reference to the ACI file can be spcified as a processing instruction in the XCF file (see Scenario 4 of section 4.1).

9.2 Content and structure of the ACI file

9.2.1 File overview

The WebCGM Application Configurable Item (ACI) file is an XML instance reflecting the preferences in font substitution and default parameters for various CGM Version 3 attribute and control elements. It is made up of a root element (<webcgmConfig>) followed by an optional font map (<fontMap>) elment and an optional default style properties (<defaultStyleProp>) element.

9.2.2 WebCGM Application Configurable Itemes file conformance

A file is a conforming WebCGM 2.1 ACI document if it adheres to the specifications described in this (WebCGM 2.1) document, including those in the WebCGM 2.1 ACI DTD, and in addition:

9.3 ACI elements

The standard AC elements include:

9.3.1 The 'webcgmConfig' element

An ACI file must have webcgmConfig as its root element.

<!ELEMENT webcgmConfig ( fontMap?, defaultStyleProp? ) >

9.3.2 The 'fontMap' element

The fontMap element of the ACI is the mechanism defined for font substitution.

<!ELEMENT fontMap ( defaultFont?, ( cgmFont, displayFont )*  ) >

9.3.3 The 'defaultFont' element

The defaultFont element of the ACI is specifies a string defining the font to be used when mapping cannot be accomplished.

<!ELEMENT defaultFont ( #PCDATA ) >

9.3.4 The 'cgmFont' and 'displayFont' elements

The cgmtFont and displayFont elements of the ACI is specifies which mapping of the font within the CGM file to the font to be used in the rendering of the text on the display. The content of the cgmtFont and displayFont elements are simple strings defining the fonts from the CGM Font List element and the intended fonts to be used on the display platform, respectively.

<!ELEMENT cgmFont ( #PCDATA ) >
<!ELEMENT displayFont ( #PCDATA ) >
<!ATTLIST displayFont
          scaWid CDATA #IMPLIED
          scaHgt CDATA #IMPLIED
>

Attribute definitions:
scaWid="CDATA"
The scale factor to be applied to the width of each font character. Default value is 1.0.
scaHgt="CDATA"
The scale factor to be applied to the height of each font character. Default value is 1.0.

9.3.5 The 'defaultStyleProp' element

The defaultStyleProp element of the ACI is the mechanism defined to specify values for certain CGM attribute and control elements that are not present in the CGM file. If an cooresponding element is present in the CGM file, the default specification has no effect.

<!ELEMENT defaultStyleProp ( lineCap | edgeCap | lineJoin | edgeJoin 
                           | lineTypeCont | edgeTypeCont | mitreLimit 
                           | restrTextType | lineEdgeTypeDef | hatchStyleDef )+ >

For the following CGM Version 3 elements, it is possible to define the default parameters associated with them:

The parameter definition for each element is consistant with ISO/IEC 8632:1999 CGM parameter defintions.

9.3.6 The 'lineCap' element

The lineCap element of the ACI is an EMPTY element that specifies the desired rendering of the end caps of lines and dashes within lines.

<!ELEMENT lineCap EMPTY >
<!ATTLIST lineCap
          lineCapInd ( 1 | 2 | 3 | 4 | 5 ) "1"
          lineDashInd ( 1 | 2 | 3 ) "1"
>

Attribute definitions:
lineCapInd="1|2|3|4|5"
The line cap indicator is restricted to value of 1-5 as defined in ISO/IEC 8632:1999.

The default value is '1' or 'unspecified'.

lineDashInd="1|23"
The line dash cap indicator is restricted to values of 1-3 as defined in ISO/IEC 8632:1999.

The default value is '1' or 'unspecified'.

9.3.7 The 'edgeCap' element

The edgeCap element of the ACI is an EMPTY element that specifies the desired rendering of the end caps of edge and dashes within edges.

<!ELEMENT edgeCap EMPTY >
<!ATTLIST edgeCap
          edgeCapInd ( 1 | 2 | 3 | 4 | 5 ) "1"
          edgeDashInd ( 1 | 2 | 3 ) "1" 
>

Attribute definitions:
edgeCapInd="1|2|3|4|5"
The edge cap indicator is restricted to value of 1-5 as defined in ISO/IEC 8632:1999.

The default value is '1' or 'unspecified'.

edgeDashInd="1|2|3"
The edge dash cap indicator is restricted to values of 1-3 as defined in ISO/IEC 8632:1999.

The default value is '1' or 'unspecified'.

9.3.8 The 'lineJoin' element

The lineJoin element of the ACI is an EMPTY element that specifies the desired rendering of the join characteristics at vertices of the line element.

<!ELEMENT lineJoin EMPTY >
<!ATTLIST lineJoin
          lineJoinInd ( 1 | 2 | 3 | 4 ) "1"
>

Attribute definitions:
lineJoinInd="1|2|3|4"
The line join indicator is restricted to value of 1-4 as defined in ISO/IEC 8632:1999.

The default value is '1' or 'unspecified'.

9.3.10 The 'edgeJoin' element

The edgeJoin element of the ACI is an EMPTY element that specifies the desired rendering of the join characteristics at vertices of the edge element.

<!ELEMENT edgeJoin EMPTY >
<!ATTLIST edgeJoin
          lineJoinInd ( 1 | 2 | 3 | 4 ) "1"
>

Attribute definitions:
edgeJoinInd="1|2|3|4"
The line join indicator is restricted to value of 1-4 as defined in ISO/IEC 8632:1999.

The default value is '1' or 'unspecified'.

9.3.10 The 'lineTypeCont' element

The lineTypeCon element of the ACI is an EMPTY element that specifies the desired rendering of the line type continuation characteristics of the line element.

<!ATTLIST lineTypeCont
          lineContMode ( 1 | 2 | 3 | 4 ) "1"
>

Attribute definitions:
lineContMode="1|2|3|4"
The line join indicator is restricted to value of 1-4 as defined in ISO/IEC 8632:1999.

The default value is '1' or 'unspecified'.

9.3.11 The 'edgeTypeCont' element

The lineTypeCon element of the ACI is an EMPTY element that specifies the desired rendering of the edge type continuation characteristics of the edge element.

<!ATTLIST edgeTypeCont
          edgeContMode ( 1 | 2 | 3 | 4 ) "1"
>

Attribute definitions:
edgeContMode="1|2|3|4"
The edge join indicator is restricted to value of 1-4 as defined in ISO/IEC 8632:1999.

The default value is '1' or 'unspecified'.

9.3.11 The 'mitreLimit' element

The mitreLimit element of the ACI is an EMPTY element that specifies how line join at vertices are achieved.

<!ELEMENT mitreLimit EMPTY >
<!ATTLIST mitreLimit
          limitVal CDATA #REQUIRED
>

Attribute definitions:
limitVal="CDATA"
The mitre limit value is defined as a scale factor applied to current line and edge width. Valid values are non-negative real numbers.

9.3.12 The 'restrTextType' element

The lineCap element of the ACI is an EMPTY element that specifies the desired rendering of the end caps of lines and dashes within lines.

<!ELEMENT restrTextType EMPTY >
<!ATTLIST restrTextType
          restrTypep ( 1 | 2 | 3 | 4 | 5 | 6 ) "1"
>

Attribute definitions:
restrType="1|2|3|4|5|6"
The restricted text type is restricted to value of 1-6 as defined in ISO/IEC 8632:1999.

The default value is '1' or 'basic'.

9.3.13 The 'lineEdgeTypeDef' element

The lineEdgeTypeDef element of the ACI is an element that specifies the desired rendering of the standard line type in ISO/IEC 8632:1999.

<!ELEMENT lineEdgeTypeDef ( dashLength+ ) >
<!ATTLIST lineEdgeTypeDef
          lineIndex ( 1 | 2 | 3 | 4 | 5 ) #REQUIRED
          repeatLength CDATA #REQUIRED
>

Attribute definitions:
lineIndex="1|2|3|4|5"
The line cap indicator is restricted to value of 1-5 as defined in ISO/IEC 8632:1999.

repeatLength="CDATA"
The dash cycle repeat length defines the length of one complete cycle of the dash pattern in NVDC units.

9.3.14 The 'dashLength' element

The dashLength element of the ACI is a repeatable string that specifies a the length of each dash and gap in the defined line pattern in NVDC units.

<!ELEMENT dashLength ( #PCDATA ) >

9.3.15 The 'hatchStyleDef' element

The hatchStyleDef element of the ACI specifies the desired rendering of the standard hatches in ISO/IEC 8632:1999.

<!ELEMENT hatchStyleDef ( directionVectors, ( gapWidth+ ), ( lineTypeIndex+ ) ) >
<!ATTLIST hatchStyleDef
          hatchIndex ( 1 | 2 | 3 | 4 | 5 | 6 ) #REQUIRED
          styleInd ( parallel | crosshatch ) #REQUIRED
          cycleLength CDATA #REQUIRED
          numberOfLines CDATA #REQUIRED
>

Attribute definitions:
hatchIndex="1|2|3|4|5|6"
The line cap indicator is restricted to value of 1-5 as defined in ISO/IEC 8632:1999.

styleInd="paralel|crosshatch"
The style indicator indicates whether the hatch patter is made up of parallel lines or crosshatch lines.

cycleLength="CDATA"
The duty cycle length defines the length of one pattern. It is measured perpendicular to the hatch lines and is in NVDC units.

numberOfLines="CDATA"

The number of hatch lines defines the number of entries in the list of gap widths and list of lines types.

9.3.16 The 'directionVectors', 'vectorX' and 'vectorY' elements

The directionVectors element of the ACI contains the vectorX and vectorY elements to define the direction of the hatch lines. If the style indicator is parallel, only the first set of vectors is used, but both must be present.

<!ELEMENT directionVectors ( vectorX, vectorY, vectorX, vectorY ) >
<!ELEMENT vectorX ( #PCDATA ) >
<!ELEMENT vectorY ( #PCDATA ) >

9.3.17 The 'gapWidth' element

The gapWidth element of the ACI defines the width between the lines in the hatch pattern. The number of gap width elements cooresponds to the number of lines attribute in the hatch style definition.

<!ELEMENT gapWidth ( #PCDATA ) >

9.3.18 The 'lineTypeIndex' element

The lineTypeIndex element of the ACI defines the line types of the lines that make up the hatch pattern. The number of line type index elements cooresponds to the number of lines attribute in the hatch style definition.

<!ELEMENT lineTypeIndex ( #PCDATA ) >

9.4 The complete ACI DTD

The complete WebCGM Application Configurable Items (ACI) file DTD follows.

<?xml version="1.0" encoding="UTF-8"?>
<!-- ================================================================ -->
<!-- This is the WebCGM Application Configurable Item file DTD        -->
<!-- for use with  WebCGM 2.1                                         -->
<!-- ================================================================ -->
<!-- Original issue: March 2008                                       -->
<!--                                                                  -->
<!-- Revision history:                                                -->
<!--                                                                  -->
<!--                                                                  -->
<!-- ================================================================ -->
<!--                                                                  -->
<!ELEMENT webcgmConfig ( fontMap?, defaultStyleProp? )                  >

<!ELEMENT fontMap ( defaultFont?, ( cgmFont, displayFont )*  )          >

<!ELEMENT defaultFont ( #PCDATA )                                       >

<!ELEMENT cgmFont ( #PCDATA )                                           >

<!ELEMENT displayFont ( #PCDATA )                                       >
<!ATTLIST displayFont
          scaWid CDATA #IMPLIED
          scaHgt CDATA #IMPLIED                                         >

<!ELEMENT defaultStyleProp ( lineCap | edgeCap | lineJoin | edgeJoin 
                           | lineTypeCont | edgeTypeCont | mitreLimit 
                           | restrTextType | lineEdgeTypeDef 
                           | hatchStyleDef )+                           >

<!ELEMENT lineCap EMPTY                                                 >
<!ATTLIST lineCap
          lineCapInd ( 1 | 2 | 3 | 4 | 5 ) "1"
          lineDashInd ( 1 | 2 | 3 ) "1"                                 >

<!ELEMENT edgeCap EMPTY                                                 >
<!ATTLIST edgeCap
          edgeCapInd ( 1 | 2 | 3 | 4 | 5 ) "1"
          edgeDashInd ( 1 | 2 | 3 ) "1"                                 >

<!ELEMENT lineJoin EMPTY                                                >
<!ATTLIST lineJoin
          lineJoinInd ( 1 | 2 | 3 | 4 ) "1"                             >

<!ELEMENT edgeJoin EMPTY                                                >
<!ATTLIST edgeJoin
          edgeJoinInd ( 1 | 2 | 3 | 4 ) "1"                             >

<!ELEMENT lineTypeCont EMPTY                                            >
<!ATTLIST lineTypeCont
          lineContMode ( 1 | 2 | 3 | 4 ) "1"                            >

<!ELEMENT edgeTypeCont EMPTY                                            >
<!ATTLIST edgeTypeCont
          edgeContMode ( 1 | 2 | 3 | 4 ) "1"                            >

<!ELEMENT mitreLimit EMPTY                                              >
<!ATTLIST mitreLimit
          limitVal CDATA #REQUIRED                                      >

<!ELEMENT restrTextType EMPTY                                           >
<!ATTLIST restrTextType
          restrType ( 1 | 2 | 3 | 4 | 5 | 6 ) "1"                       >

<!ELEMENT lineEdgeTypeDef ( dashLength+ )                               >
<!ATTLIST lineEdgeTypeDef
          lineIndex ( 1 | 2 | 3 | 4 | 5 ) #REQUIRED
          repeatLength CDATA #REQUIRED                                  >

<!ELEMENT dashLength ( #PCDATA )                                        >

<!ELEMENT hatchStyleDef ( directionVectors, ( gapWidth+ ), 
                                            ( lineTypeIndex+ ) )        >
<!ATTLIST hatchStyleDef
          hatchIndex NMTOKEN #REQUIRED
          styleInd ( parallel | crosshatch ) #REQUIRED
          cycleLength CDATA #REQUIRED
          numberOfLines CDATA #REQUIRED                                 >

<!ELEMENT directionVectors ( vectorX, vectorY, vectorX, vectorY )       >

<!ELEMENT vectorX ( #PCDATA )                                           >

<!ELEMENT vectorY ( #PCDATA )                                           >

<!ELEMENT gapWidth ( #PCDATA )                                          >

<!ELEMENT lineTypeIndex ( #PCDATA )                                     >


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