Open Office.Org What is the Open Office.org Source Project? Open source project through which Sun...

Preview:

Citation preview

Open Office.Org

• What is the Open Office.org Source Project?Open source project through which Sun Microsystems is releasing the technology for the popular Star Office(tm) productivity suite.

• Name of the overall project and is being hosted by CollabNet.

Features:

• downloadable sources and information

• the community and communication mechanisms for the project

• The governance body called the Open Office.org Foundation

Mission

• To create an open and ubiquitous XML-based file format for office documents and to provide an open reference implementation for this format.

• XML adopted as the new native file format for the Star Office™ suite, replacing the old binary file format.

Goal

• Two Fold

• Complete specification encompassing all Star Office components

• Provide an open standard for office documents

Why XML?

• Ideal open standard because of the free availability of

• XML specifications• DTDs• XSL, XSLT, XLink, SVG, MathML• One single XML format can be

applied to different types of documents

XML File Format Specification

• Name Spaces

• Structure

• Document Info

Name Spaces

• Office

• Style

• Api

• Table

• Meta

• Draw

Structure

• Element symbolizes structural components

• The structure applies to all applications

• Text,spreadsheet,drawing… all differ only by content and all are represented by the same structure

Document Root

• Root – ‘document’

• XML code <office:document>

• DTD <!ELEMENT office:document

• (office:meta?,office:configs?,office:scripting?,…)>

Root element Attributes

• ‘Class’ –identifies document application

• text

• on-line text

• Spreadsheet

• Drawing

• Presentation

• XML code: office:class

• Version

• Gives the version of the file format

• XML code: office:version

• DTD : <!ATTLIST office:document office:version CDATA #implied>

Document Information

• Title

• Author

• Document creation date

• Specified using ‘meta’ element

• XML code <office:meta>

Others

• Scripting

• Forms

• Styles

• Configuration management

Document Content

• ‘body’ element contains content

• XML code :<office:body>

• DTD <!ELEMENT office:body ANY>

• ‘ANY’ indicates any type of content

White Space processing & EOL handling

• White spaces ignored for elements that have element contents

• Preserved by default

• Line feed & carriage return for line ends

• Entity reference &#x0D

Document Validation

• If document is validated it must match the DTD

• Not appropriate to validate in following cases

1. Documents created by another version

2. Documents that contain a custom extension

Why not Validate?

• Both documents may contain elements & attributes that may be unknown to the application processing the file

• Forward compatible processing rules describes how to handle such elements

RULES

• Major version same as current major version & minor version same or less than current minor version then

• FCP is “DISABLED”

• The document may be validated

RULES

• If major version same as current major version and minor version greater than current minor version

• FCP “ENABLED”• Document should not be validated• The same thing holds good when major

versions are not equal

Preserving unknown attributes

• Attributes preserved by default• Some attributes corrupt

document.These should not be preserved

• <?staroffice:preserve excl-attrs = “….”?>

• …. Is any valid xpath expression

Language element

• Language element specifies default document language

• XML Code <dc:language>

• DTD <!ELEMENT dc:language ‘language code’>

DATA STYLES

• Displaying different types of data

• Number style <number:number-style>

• Currency <number:currency-style>

• Date <number:time-style>

• Boolean

• Text …

HANDLING HYPERLINKS

• Hyperlinks in text documents are represented by a simple XLink

• XML Code: <text:a>

• Rules: If this element contains white-space characters, the characters are collapsed

• DTD: <!ELEMENT text:a (script:events?,(%inline-text;)*)>

ATTRIBUTES

• The attributes associated with the <text:a> element are:

• Name

• Link locator

• Target frame

• Text styles

NAME

• A hyperlink can have a name, but it is not essential. The name attribute specifies the name of the hyperlink if one exists.

• This name can serve as a target for some other hyperlinks.

• XML –CODE text:name• DTD: <!ATTLIST text:a text:name

CDATA #IMPLIED>• Notes: This attribute is specified for

compatibility with HTML where an <a> element may serve as link source and target simultaneously

Target Frame

• The target frame name of the link is specified by a ‘target- frame- name’ attribute

• XML Code: office:target-frame-name

RULES

• " _self “referenced document replaces current frame

• " _blank “ referenced document displayed in a new frame

• " _parent “referenced document displayed in the parent frame of the current frame

RULES

• " _top” The referenced document is displayed in the uppermost frame

• A frame name referenced document is displayed in the named frame

XLINK SPECIFICATION

• xlink:show attribute is attached to the <text:a> element

• DTD: <!ATTLIST text:a office:target-frame-name CDATA #REQUIRED>

• <!ATTLIST text:a xlink:show (new|replace) "replace">

Link Locator

• The location of the link (URL) is specified by a href attribute

• XML Code: xlink:href

Link Locator

• DTD: <!ATTLIST text:a xlink:href %url #REQUIRED>

• <!ATTLIST text:a xlink:type (simple) #FIXED “simple”>

• <!ATTLIST text:a xlink:actuate (onRequest) “onRequest”>

Text Styles

– Every hyperlink has two text styles as follows:

Text Styles

– " If the link location of the hyperlink has not been visited, a certain text style is applied to the text of the hyperlink

• " If the link location of the hyperlink has already been visited, a different text style is applied to the text of the hyperlink

DatabaseFields

• Display data from databases as text

• Star office databases are either tables or queries

• Every database has a name used for its identity

DatabaseFields

• DTD <!ENTITY % database-table

• text:database-name CDATA # REQUIRED

• text:table-name CDATA #REQUIRED “>

Displaying databases

• ‘database-display’ element used• ‘column-name’ attribute selects

selects column

• DTD <!ATTLIST text:database-display text:column-name CDATA #REQUIRED

Graphic Content

• Configuring Graphic Document

• Info needs to be supplied

• Drawing

• Rectangle

• Line

Graphic Content

• Polygon

• Circle

• Ellipse

Rectangle

• ‘ rect’ element represents rectangular drawing shape

• DTD <!ELEMENT draw:rect text:p*>

• <!ATTLIST draw:rect %draw-position

• %draw-size

• %draw-style-name

• %draw-transform

LINE

• ‘line’ element represents line • DTD <!ELEMENT draw:line text:p*>• <!ATTLIST draw:line svg:x1

%coordinate; #IMPLIED• svg:x2 %coordinate; #IMPLIED• svg:y1 %coordinate; #IMPLIED• svg:y2 %coordinate; #IMPLIED

POLYGON

• XML-CODE <draw:polygon>

• DTD <!ELEMENT draw:polygon text:p*>

• <!ATTLIST draw:polygon %draw-position

• %draw-size

• draw:points %points; #REQUIRED

TRANSFORMATION

• ‘transform’ attributes specifies list of transformations

• <draw:g> is the element

• XML CODE : svg:transform

• Value of it is a list of transform definitions separated by white spaces

TRANSFORM DEFINITIONS

• Matrix(<a> <b> <c> <d> <e> <f>)

• Transformation matrix of six values

• Equivalent to [a b c d e f]

• Translate(<tx>[<ty>])

• Scale(<sx> [<sy>])

• Rotate(<rotate-angle>)

• skewX(<skew-angle>)

CHARTS

• Can exist as standalone docments or as documents inside XML documents

• To create a standalone chart document

• set the value of the ‘office:class’ attribute to chart in the <office:document> element

• Chart data is contained in <table:table> element

CHART INSIDE SPREADSHEET

• To reference the correct table and cells you can use the table:cell-range-address attributes, which

• are applied to the <chart:series> elements that represent the data series in the chart

‘chart’ ELEMENT

• The chart element represents an entire chart, including titles, a legend , and the graphical object that visualizes the underlying data called the plot area.

• The ‘class’ attribute specifies the chart type.

CLASS

• DTD: <!ENTITY % chart-class

• "(line|area|circle|ring|scatter|radar|bar|stock|bubble)">

• <!ATTLIST chart:chart

CLASS

• chart:class %chart-class; #REQUIRED

• svg:width %length; #IMPLIED

• svg:height %length; #IMPLIED

• chart:style-name %style-name; #IMPLIED >

DTD’S

• Office.dtd is the main DTD file

• Chart.mod

• Text.mod

• Dtypes.mod

• Meta.mod

• Datastyle.mod

• Namespace.mod

• Style.mod

• Table.mod

• Office.mod

Office.DTD

• %dtypes-mod;

• %nmspace-mod;

• %style-mod;

• %office-mod;

• ……

• Office.mod has the root element ‘document’

To-Do List

• ·        a validating parser component

• ·        a document clean and repair program

• ·        transformations from or into

• Open Office XML (such that they could also be used as Import or export filters for the applications)

Recommended