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 DTD <!ELEMENT office:document (office:meta?,office:configs?,office:scr ipting?,…)>
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 :
Document Information Title Author Document creation date Specified using meta element XML code
Others Scripting Forms Styles Configuration management
Document Content body element contains content XML code : DTD 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 
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 …. Is any valid xpath expression
Language element Language element specifies default document language XML Code DTD
DATA STYLES Displaying different types of data Number style Currency Date Boolean Text …
HANDLING HYPERLINKS Hyperlinks in text documents are represented by a simple XLink XML Code: Rules: If this element contains white-space characters, the characters are collapsed DTD:
ATTRIBUTES The attributes associated with the 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: Notes: This attribute is specified for compatibility with HTML where an 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 element DTD:
Link Locator The location of the link (URL) is specified by a href attribute XML Code: xlink:href
Link Locator DTD:
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 <!ATTLIST draw:rect %draw-position %draw-size %draw-style-name %draw-transform
LINE line element represents line DTD <!ATTLIST draw:line svg:x1 %coordinate; #IMPLIED svg:x2 %coordinate; #IMPLIED svg:y1 %coordinate; #IMPLIED svg:y2 %coordinate; #IMPLIED
POLYGON XML-CODE DTD <!ATTLIST draw:polygon %draw-position %draw-size draw:points %points; #REQUIRED
TRANSFORMATION transform attributes specifies list of transformations is the element XML CODE : svg:transform Value of it is a list of transform definitions separated by white spaces
TRANSFORM DEFINITIONS Matrix( ) Transformation matrix of six values Equivalent to [a b c d e f] Translate( [ ]) Scale( [ ]) Rotate( ) skewX( )
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 element Chart data is contained in 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 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|st ock|bubble)"> <!ATTLIST chart:chart
CLASS chart:class %chart-class; #REQUIRED svg:width %length; #IMPLIED svg:height %length; #IMPLIED chart:style-name %style-name; #IMPLIED >
DTDS 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)