Upload
nina-whiteman
View
216
Download
0
Tags:
Embed Size (px)
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 
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)