Home

XML Author 10.3 User Manual for Eclipse

image

Contents

1. return attributes Override public List lt CIValue gt filterElementValues List lt CIValue gt elementValues Context context return elementValues Override public List lt CIElement gt filterElements List lt CIElement gt elements WhatElementsCanGoHereContext context 241 lt oXygen gt XML Editor Developer Guide If the element from the current context is the header element remove the td element from the list of content completion proposals and add the th element ContextElement contextElement context getElementStack peek if header equals contextElement getQName for Iterator lt CIElement gt iterator elements iterator iterator hasNext CIElement element iterator next Remove the td element if td equals element getOQName lements remove element break Insert the CIElement thE th element in the list of content completion proposals lement new SDFElement thElement setName th elements add thElement return elements Override public String getDescription return null TableCellSpanProvider java package simple documentation framework public class TableCellSpanProvider implements AuthorTableCellSpanProvider pk x Extracts Eh in columns int
2. import java util Iterator import java util List import ro sync contentcompletion xml CIAttribute import ro sync contentcompletion xml CIElement import ro sync contentcompletion xml CIValue import ro sync contentcompletion xml Context import ro sync contentcompletion xml ContextElement import ro sync contentcompletion xml SchemaManagerFilter import ro sync contentcompletion xml WhatAttributesCanGoHereContext import ro sync contentcompletion xml WhatElementsCanGoHereContext import ro sync contentcompletion xml WhatPossibleValuesHasAttributeContext public class SDFSchemaManagerFilter implements SchemaManagerFilter Override public List lt CIValue gt filterAttributeValues List lt CIValue gt attributeValues WhatPossibleValuesHasAttributeContext context return attributeValues Override public List lt CIAttribute gt filterAttributes List lt CIAttribute gt attributes WhatAttributesCanGoHereContext context If the element from the current context is the table element add the attribute named frame to the list of default content completion proposals ContextElement contextElement context getParentElement if table equals contextElement getQName CIAttribute frameAttribute new ClIAttribute frameAttribute setName frame frameAttribute setRequired false frameAttribute setFixed false frameAttribute setDefaultValue void attributes add frameAttribute
3. a security section3 xml This is a sample showing that lt oXygen b gt 4 can be used to edit userlevel 1 E ys documents in conformity with the dockbookx dtd vendor 5 lake jpeg This is a Docbook figure inserted using the bimagedata tag words E nature1 jpg v a J b xmibase fia Lake in Fagaras role CEE Outline 2 Cd lt x Elements 23 zj i u la 5 Si an T para di article title Welcome to the Docbook E abbrev ia Sl secti E acronym 1 E action J title Inline Markup and Im E address 8 0 para Lo is a sample she In order to preview this text in a Web browser you have to choose the b Bebe 8 para Thisisa Docbook HTHL transformation scenario For this press the gt oe figure Configure transformation scenario 4 button or the shortcut gt E authorinitials title Lake in Fagaras CTRL SHIFT C 4 or gt META SHIFT C 4 on Mac OS X then select E beginpage 2 8 mediaobject the scenario Press bOk4 E bibliolist imageobject To apply the stylesheet you have to press the Apply transformation Ebiblioref 0 para In order to preview scenario button or to press PCTRL SHIFT T4 gt META SHIFT T 4 E blockquote para To apply the stylesh on Mac OS X a caution 20 secti IM E citation v title CALS Tables and List IEA lt lia Text Grid Author Caret Before After ie Writable Insert Aa 0 AS The tagless rendering of the XML document in the Author mode
4. int caretPosition authorAccess getCaretOffset try authorAccess insertXMLFragment Exception getFragment jdbcDriver connection user password sql caretPosition catch SQLException e throw new AuthorOperationException The operation failed due to the following database error getMessage e catch ClassNotFoundException e throw new AuthorOperationException The JDBC database driver was not found Tried to load jdbcDriver e 237 lt oXygen gt XML Editor Developer Guide Creates a connection to the database executes the SQL statement and creates an XML fragment containing a table element that wraps the data from the result set param jdbcDriver The class name of the JDBC driver param connectionURL The connection URL param user The database user param password The password param sql The SQL statement return The string containing the XML fragment throws SQLException thrown when there is a problem accessing the database or there are erors in the SQL expression throws ClassNotFoundException when the JDBC driver class could not be loaded g private String getFragment String jdbcDriver String connectionURL String user String password String sql throws SQLException ClassNotFoundException Properties pr new Pro
5. oXygen XML oxy Sample samples docbook v4 sample xml Eclipse SDK CUE File Edit Navigate Search Project XML Tools Run XML DocBook4 Window Help TE SiSiQt iv iti g eeec MY amp eyaese xbwver AAA SH DEA D S Navigator 3 personal xml personal xsi sample xml 2 1 Attributes os Y bd fog f d fa pl oa 6 a br Co a BS ll amp gt ts E a S AE gt para a 5 dita P e de gle css DocBook default iv article attribute Value docbook all id SE v4 pl E E lang D sapesse Article Welcome to the remap fe sample dbS xml xreflal el z revisionflag T sample pdf Docbook ach fog sample xml condition fe sampleXInclude xm x conformance 2 sectiont xml Inline Markup and Images pos s revision La section2 xml security Es section3 xml This is a sample showing that lt oXygen b gt 4 can be used to edit userlevel eE vs documents in conformity with the dockbookx dtd vendor A sis a Docbook 4 figure inserted using the Pimagedatadl tag E S lake jpeg This is aD 4 A using the 4 wordsize la naturel jpg v Es ra 5 E xml base TT f Lake in Fagaras role B Outline 3 e lt x Elements 3 i 1 o T para M article title Welcome to the Docbook SE abbrev Ed 2 0 secti E acronym 7 E action i title Inine Markup and Im E address 6 0 para uns is a sample she 3 In order to preview this text in a Web browser you have to choose the gt E lc para
6. else This is the case when xpointer starts with an element ID xpointerPathDepth 1 startWithElementID true see ro sync ecss extensions api link ElementLocator endElement java lang String java lang String java lang String re public void endElement String uri String localName String name ndElementDepth startElementDepth startElementDepth lastIndexInParent Integer currentElementIndexStack pop intValue pk see ro sync ecss extensions api link ElementLocator startElement ay java lang String java lang String java lang String ro sync ecss extensions api link Attr public boolean startElement String uri String localName 255 lt oXygen gt XML Editor Developer Guide String name Attr atts boolean linkLocated Increase current false lement document depth startElementDepth 4 t if endElementDepth The current el startElementDepth currentElementiInd ment is the first child of the parent else xStack push new Integer 1 Another element in the parent element currentElementind if startWithElement xStack push new Integer lastIndexInParent 1 ID This the case when xpointer path starts with an element ID String xpointerElement xpointerPath 0 for int i 0
7. Constructor param idVerifier Verifies if an given attribute is of type ID param link The link that gives the element position throws ElementLoca xx public XPointerElement torl throws Element super link Exception When the link format is not supported ocator IDTypeVerifier idVerifier String link OcatorException this idVerifier idVerifier link link substring element length link length 1 StringTokenizer stringTokenizer new StringTokenizer link false 254 lt oXygen gt XML Editor Developer Guide xpointerPath new String stringTokenizer countTokens int i 0 while stringTokenizer hasMoreTokens xpointerPath i stringTokenizer nextToken boolean invalidFormat false Empty xpointer component is not supported if xpointerPath i length 0 invalidFormat true if i gt 0 try Integer parselnt xpointerPath i catch NumberFormatException e invalidFormat true if invalidFormat throw new ElementLocatorException Only the element scheme is supported when locating XPointer links Supported formats element elementID element 1 2 3 element elemID 2 3 4 i if Character isDigit xpointerPath 0 charAt 0 This is the case when xpointer have the following pattern 1 5 7 xpointerPathDepth xpointerPath length
8. 199 lt oXygen gt XML Editor Developer Guide public boolean isTableAcceptingWidth String tableCellsTagName return td equals tableCellsTagName The method isTableAndColumnsResizable should check if the table cells are td This method determines if the table and columns can be resized by dragging with the mouse the edge of a column public boolean isTableAndColumnsResizable String tableCellsTagName return td equals tableCellsTagName The methods get TableWidth and getCel 1Width are used for determining the table width and the column width The table layout engine will ask this AuthorTableColumnWidthProvider implementation what is the table width for each table element and the cell width for each cell element from the table that was marked as cell in the CSS using the property display table cell The implementation is simple and just parses the value of the width attribute The methods must return nul1 for the tables cells that do not have a specified width public WidthRepresentation getTableWidth String tableCellsTagName WidthRepresentation toReturn null if tableElement null amp amp td equals tableCellsTagName AttrValue widthAttr tableElement getAttribute width if widthAttr null String width widthAttr getValue if width null toReturn new WidthRepresentation width true return toReturn public List lt Wi
9. 235 lt oXygen gt XML Editor Develope Guide Y return urlField getText public s InsertImageOperation operation System out println Choosen URL tion displayURLDialog new JFrame Test para method tatic void main String m args The arguments are ignored args new InsertImageOperation opera QueryDatabaseOperation java H H H H H H 3 53353 3 3 H H H H H pu Exception horOperation he developer must specify when that is the JDBC driver package simple documentation framework port java sql Connection port java sql DriverManager port java sql ResultSet port java sql ResultSetMetaData port java sql SQLException port java util Properties port ro sync ecss extensions api ArgumentDescriptor port ro sync ecss extensions api ArgumentsMap port ro sync ecss extensions api AuthorAccess port ro sync ecss extensions api AuthorOperation port ro sync ecss extensions api AuthorOperation blic class QueryDatabaseOperation implements Aut private static String ARG_JDBC_DRIVER jdbc_driver private static String ARG_USER user private static String ARG_PASSWORD password private static String ARG_SOL sql private static String ARG_CONNECTION connection return The array of arguments t configuring the action public ArgumentDesc
10. Add Resource adds a new XML resource to the selected container 323 Working with Databases e Rename allows you to specify a new name for the selected container X Delete removes the selected container from the database tree e Edit indices allows you to edit the indices for the selected container Figure 12 19 Container indices Container indices E Granularity O Node level OD Indices Node Namespace Index strategy name http www sleepycat com 2002 unique node metadata equality string sa Node name Namespace http www sleepycat com 2002 dbxml Index type Uniqueness Path type Node type Key type Syntax e Specifying the granularity e Document granularity is good for retrieving large documents e Node granularity is good for retrieving nodes from within documents e Adding editing indices 324 Working with Databases Figure 12 20 Adding editing indices Index properties Node Namespace Index type Uniqueness Path type Node type Key type Syntax Node the node name e Namespace the index namespace Same http www sleepycat com 2002 dbxml node metadata equality string e Index strategy e Index type e Uniqueness indicates whether the indexed value must be unique within the container e Path type e node indicates that you want to index a single node in the path
11. C Show all documents loaded during processing ae C Do not apply default attributes from document s DTD C Do not use Internet to fetch DTD s entities or docs The options of the XSLTProc processor are the same as the ones available in the command line for the XSLTProc processor Enable XInclude processing Skip loading the document s DTD Do not apply default attributes from document s DTD Do not use Internet to fetch DTD s entities or docs Maximum depth in templates stack Verbosity Show version of libxml and libxslt used Show time information Show debug information Show all documents loaded during processing Show profile information If checked XInclude references will be resolved when XSLTProc is used as transformer in the transformation scenario If checked the DTD specified in the DOCTYPE declaration will not be loaded If checked the default attributes declared in the DTD and not specified in the document are not included in the transformed document If checked the remote references to DTD s and entities are not followed If the limit of maximum templates is reached the transformation ends with an error If checked the transformation will output detailed status messages about the transformation process in the Warnings view If checked lt oXygen gt will display in the Warnings view the version of the libxml and libxslt libraries invoked by XSLTProc If checked the Warnings view will
12. The Article xml file lt xml version 1 0 encoding UTF 8 gt lt article xmlns http www oxygenxml com sample documentation xmlns xsi http www w3 org 2001 XMLSchema instance gt lt title gt lt title gt lt section gt lt title gt lt title gt lt para gt lt para gt lt para gt lt para gt lt section gt lt article gt Open the Document Type dialog for the SDF framework and click on the Templates tab Enter in the Templates directory text field the value frameworksDir sdf templates As we already seen before it is recommended that all the file references made from a Document Type Association to be relative to the frameworksDir directory Binding a Document Type Association to an absolute file e g C some_dir templates makes the association difficult to share between users 178 lt oXygen gt XML Editor Developer Guide Figure 7 26 Setting the templates directory Schema Classpath Author Templates Catalogs Transformation Extensions Templates directories frameworksDir sdf templates To test the templates settings press the File New menu item to display the New dialog The names of the two templates are prefixed with the name of the Document Type Association in our case SDF Selecting one of them should create anew XML file with the content specified in the template file Figure 7 27 Templates displayed in the New Dialog New from
13. 1 0 xsdversion 1 0 1 1 xsdversion 1 1 XML Schema version 1 0 The validation of XML Schema schemas is done according to the W3C XML Schema 1 0 specification XML Schema version 1 1 The validation of XML Schema schemas is done according to the W3C XML Schema 1 1 specification XSLT FO XQuery The XSLT FO XQuery preferences panel is opened from menu Window Preferences Au thor XML XSLT FO XQuery Figure 15 35 The XSLT FO X Query preferences panel XSLT FO XQuery py C Create transformation temporary files in system temporary directory Check the option Create transformation temporary files in system temporary directory when creating transformation temporary files in the same folder as the source of the transformation breaks the transformation for example the transformation processes all the files located in the same folder as the source of the transformation which will include the temporary files which you probably do not want XSLT The XSLT preferences panel is opened from menu Window gt Preferences gt Author XML XSLT FO XQuery XSLT Figure 15 36 The XSLT preferences panel JAXP XSLT Transformer To use your own transformer set the value of the system property javax xml transform TransformerFactory Value Engine used for XSLT validation Scenario transformer takes precedence XSLT 1 0 Validate with Saxon6 5 5 vv vv XSLT 2 0 Validate with Saxon9B
14. Integer currentElementIndexStack get stackIdx intValue j if xpointerIndex currentElementIndex linkLocated false break xpointerldx stackldx catch NumberFormatException e logger warn e e return linkLocated The method endElement will be invoked at the end of every element in the XML document even when the element 1s empty The XPointerElement Locator implementation of the endElement updates the depth of the current element path and the index of the element in its parent public void endElement String uri String localName String name ndElementDepth startElementDepth startElementDepth lastIndexInParent Integer currentElementIndexStack pop intValue The IDElementLocator implementation The IDElementLocator is an implementation of the abstract class ro sync ecss exten sions api link ElementLocator for links that use an id The constructor only assigns field values and the method endElement is empty for this implementation The method startElement checks each of the element s attribute values and when one matches the link it considers the element found if one of the following conditions is satisfied e the qualified name of the attribute is xm1 id 193 lt oXygen gt XML Editor Developer Guide e the attribute is of type ID The type of the attribute is checked w
15. Name args outext Description The output file extension name for generated xhtml files Typically html or htm can be used as the extension name For the generated xhtml files You 4 vi htm iv Depending on the parameter type the parameter value will be a simple text field for simple parameter values a combo box with some predefined values or will have a file chooser and an editor variables selector to simplify setting a file path as value to a parameter The Filters tab In the Scenario Filters Tab you can add filters to remove certain content elements from the generated output 72 Editing documents Figure 4 50 Edit Filters tab Edit DITA Scenario Scenario Name hierarchy XHTML Type XHTML Parameters Filters Advanced Output O Use DITAVAL file Exclude from output all elements with any of the Following attributes Attribute name Value audience expert lt IEA bila You have two ways in which to define filters Use DITAVAL file Exclude from output all elements with any of the following attributes The Advanced tab If you already have a DITAVAL file associated with the transformed map you can specify the path to it and it will be used when filtering content You can find out more about constructing a DITAVAL file in the DITA OT Documentation http docs oasis open org dita v 1 1 CD01 langspec common about ditaval html You can
16. Styling the Inline Elements The bold style is obtained by using the font weight CSS property with the value bold while the italic style is specified by the font style property b font weight bold font style italic Styling Elements from other Namespace In the CSS Level 1 2 and 2 1 there is no way to specify if an element X from the namespace Y should be presented differently from the element X from the namespace Z In the upcoming CSS Level 3 it is possible to differentiate elements by their namespaces lt oXygen gt Author supports this CSS Level 3 functionality For more information see the Namespace Selectors section To match our def element we will declare its namespace bind it to the abs prefix and then write a CSS rule namespace abs http www oxygenxml com sample documentation abstracts abs def font family monospace font size smaller abs def before content Definition color gray 147 lt oXygen gt XML Editor Developer Guide Styling images The CSS 2 1 does not specify how an element can be rendered as an image To overpass this limitation lt oXygen gt Author supports a CSS Level 3 extension allowing to load image data from an URL The URL of the image must be specified by one of the element attributes S Note lt oXygen gt Author recognizes the following image file formats JPEG GIF PNG and SVG The oXygen Author for Eclipse does not render the SVG files
17. title The title of the report Usually titles have a larger font We should use also the block display the next elements will be placed below it and change its font to double the size of the normal text 136 lt oXygen gt XML Editor Developer Guide description line important results entry test_name passed title display block font size 2em This element contains several lines of text describing the report The lines of text are dis played one below the other so the description will have the same block display To make 1t standout we are changing its background description display block background color EEEEFF color black A line of text in the description We do not define a specific aspect for it just indicating that the display should be block line display block The important element defines important text from the description Because it can be mixed with text its display property must be set to inline To make it easier to spot we will emphasize its text important display inline font weight bold The results element shows the list of test_names and the result for each one To make it easier to read we choose to display it as a table with a green border and margins results display table margin 2em border lpx solid green An item in the results element Because we chose the results to be a table the entry is the row in the table Thus the
18. 395
19. Cmd Alt F on Mac OS Joins the left and the right elements relative to the current caret position The elements must have the same name attributes and attributes values 62 Editing documents context menu of current editor XML Refactoring Delete element tags 2 Alt Shift Cmd Alt on Mac OS Deletes the start tag and end tag of the current element Smart editing Closing tag auto expansion Auto rename matching tag Auto breaking the edited line Indent on Enter Smart Enter Triple click If you want to insert content into an auto closing tag like lt tag gt deleting the character saves some keystrokes by inserting a separate closing tag automatically and placing the cursor between the start and end tags lt tag gt lt tag gt When you edit the name of the start tag lt oXygen gt will mirror edit the name of the matching end tag This feature can be controlled from the Content Com pletion option page The Hard line wrap option breaks the edited line automatically when its length exceeds the maximum line length defined for the pretty print operation The Indent on Enter option indents the new line inserted when Enter is pressed The Smart Enter option inserts an empty line between the start and end tags and places the cursor in an indented position on the empty line automatically when the cursor is between the start and end tag and Enter is pressed A triple click with the left mouse button select
20. The Attributes panel presents all the possible attributes of the current element and allows to insert attributes in the current element or change the value of the attributes already used in the element The attributes already present in the document are painted with a bold font Clicking on the Value column of a table row will start editing the value of the attribute from the selected row If the possible values of the attribute are specified as list in the schema associated with the edited document the Value column works as a combo box where you can select one of the possible values to be inserted in the document The attributes table is sortable 3 sorting orders being available by clicking on the columns names Thus the table s contents can be sorted in ascending order in descending order or in a custom order where the used attributes are placed at the beginning of the table as they appear in the element followed by the rest of the allowed elements as they are declared in the associated schema 35 Editing documents Figure 4 20 The Attributes panel xsd element Attribute name type substitutionGroup default fixed nillable abstract final block The Elements view Figure 4 21 The Elements View lt x Elements 23 E abbrev acronym E action E address E anchor E application E author E authorinitials E beginpage E bibliolist E biblioref E
21. The grid disposition of the node names and values are very similar to a web form or a dialog The same set of key shortcuts used to select dialog components are used in the grid For instance moving to the next editable value in a 260 Grid Editor table row is done using the TAB key Moving to the previous cell employs the SHIFT TAB key Changing a value assumes pressing the ENTER key or start typing directly the new value and when the editing is finished pressing ENTER again to commit the data into the document The arrows and the PAGE UP DOWN keys can be used for navigation By pressing SHIFT while using these keys you can create a selection zone To add other nodes that are not close to this zone you can use the mouse and the CTRL COMMAND on Mac OS X key The following key combination may be used to scroll the grid e CTRL UP Scrolls the grid upwards e CTRL DOWN Scrolls the grid downwards e CTRL LEFT Scrolls the grid to the left e CTRL RIGHT Scrolls the grid to the right A left arrow sign displayed to the left of the node name indicates that this node has child nodes You can click this sign to display the children The expand collapse actions can be also invoked by pressing the NumPad PLUS and NumPad MINUS keys A set of expand collapse actions can be accessed from the submenu Expand Collapse of the contextual menu Expand All Action Expands the selection and all its children Collapse All Action Coll
22. To edit document written in Japanese or Chinese you will need to change the font to one that supports the specific characters a Unicode font For the Windows platform use of Arial Unicode MS or MS Gothic is recommended Do not expect Wordpad or Notepad to handle these encodings Use Internet Explorer or Word to eventually examine XML documents When a document with a UTF 16 encoding is edited and saved in lt oXygen gt the saved document will have a byte order mark BOM which will specify the byte order of the document s content The default byte order is platform de pendent That means that a UTF 16 document created on a Windows platform where the default byte order mark is UnicodeLittle will have a different BOM than a UTF 16 document created on a Mac OS platform where the byte order mark is UnicodeBig The byte order and the BOM of an existing document will be preserved by lt oXygen gt when the document is edited and saved Note The naming convention used under Java does not always correspond to the common names used by the Unicode standard For instance while in XML you will use encoding UTF 8 in Java the same encoding has the name UTF8 Opening and closing documents As with most editing applications lt oXygen gt lets you open existing documents save your changes and close them as required 17 Editing documents Creating new documents lt oXygen gt plugin wizards The New wizard only creates
23. child of the selected cell The paste as child action is available in the contextual menu Paste as Child 263 Grid Editor The copied nodes from the grid can be pasted also into the text editor or other applications When copying from grid into the text editor or other text based applications the inserted string represents the nodes serialization The nodes from tables can be copied using HTML or RTF in table format The resulting cells contain only the concatenated values of the text nodes Figure 8 7 Copying from grid to other editors lt email chief oxygenxml coms email lt email one oxygenxml coms email lt email three oxygenxml coms email gt semail four oxygenxml coms email lt email five oxygenxml coms email gt email one oxygenxml com two oxygenxml com three oxygenxml com four oxygenxml com five oxygenxml com 2 chief oxygenxml com 3 lone oxygenxml com ls lthree oxygenxml corm 6 four oxygenxml com 7 five oxygenxml com In the grid editor you can paste wellformed xml content or tab separated values from other editors If you paste xml content the result will be the insertion of the nodes obtained by parsing this content Figure 8 8 Copying XML data into grid lt person d one worker gt family gt Worker lt family gt Y name family Worker lt given Ones given 0 hames A given ne lt email one doxygenxml com lt
24. lt xs choice gt lt xs sequence gt lt xs element ref doc section maxOccurs unbounded gt lt xs sequence gt lt xs choice maxOccurs unbounded gt lt xs element ref doc para gt lt xs element ref doc image gt lt xs element ref doc table gt lt xs choice gt lt xs choice gt lt xs sequence gt lt xs complexType gt The paragraph contains text and other styling markup such as bold b and italic 1 elements lt xs element name para type doc paragraphType gt lt xs complexType name paragraphType mixed true gt lt xs choice minOccurs 0 maxOccurs unbounded gt lt xs element name b gt lt xs element name i gt lt xs choice gt lt xs complexType gt The image element has an attribute with a reference to the file containing image data lt xs element name image gt lt xs complexType gt lt xs attribute name href type xs anyURI use required gt lt xs complexType gt lt xs element gt The table contains a header row and then a sequence of rows t r elements each of them containing the cells Each cell has the same content as the paragraphs 141 lt oXygen gt XML Editor Developer Guide lt xs element name table gt lt xs complexType gt lt xs sequence gt lt xs element name header gt lt xs complexType gt lt xs sequence gt lt xs element name td maxOccurs unbounded type doc paragraphType gt lt xs sequence gt lt
25. ns fragment append gt return fragment see ro sync e y public void commi int newTableWid if td equals if newTableWid if tableEleme String newWid authorDocumen width new AttrVal tableElemen else throw new Aut toString css extensions api AuthorTableColumnWidthProvideritco tTableWidthModification AuthorDocumentController aut th String tableCellsTagName throws AuthorOperation tableCellsTagName th gt 0 nt null th String value0f newTableWidth tController setAttribute ue newWidth t horOperationException Cannot find th widthRepresentations Exception No valid offset to insert the columns width speci Ne mmitTableWidthModifi horDocumentControlle Exception lement repr senting the table see ro sync ecss extensions api AuthorTableColumnWidthProvider getCellWidth ro sync e 245 lt oXygen gt XML Editor Developer Guide public List lt WidthRepresentation gt getCellWidth AuthorElement cellElement int colNumberSta int colSpan List lt WidthRepresentation gt toReturn null int size colWidthSpecs size if size gt colNumberStart amp amp size gt colNumberStart colSpan toReturn new ArrayList lt WidthRepresentation gt colSpan for int i colNumberStart i lt colNumberStart colSpan i Add the column widths toRetu
26. spans over GI 246 lt oXygen gt XML Editor Developer Guide colWidthSpecs add new WidthRepresentation colWidth true pk see ro sync ecss extensions api AuthorTableColumnWidthProvider isAcceptingFixedColumn public boolean isAcceptingFixedColumnWidths String tableCellsTagName return true see ro sync ecss extensions api AuthorTableColumnWidthProvider isAcceptingPercentageC ef public boolean isAcceptingPercentageColumnWidths String tableCellsTagName return true pk see ro sync ecss extensions api AuthorTableColumnWidthProvider isAcceptingProportiona public boolean isAcceptingProportionalColumnWidths String tableCellsTagName return true see ro sync ecss extensions api AuthorTableColumnWidthProvider isTableAcceptingWidth ay public boolean isTableAcceptingWidth String tableCellsTagName return td equals tableCellsTagName see ro sync ecss extensions api AuthorTableColumnWidthProvider isTableAndColumnsResiz ad public boolean isTableAndColumnsResizable String tableCellsTagName return td equals tableCellsTagName pk see ro sync ecss extensions api Extension getDescription public String getDescription return Implementation for the Simple Documentation Framework table layout ReferencesResolver java package simple documentation framework
27. 348 Configuring the application Whitespaces This panel displays the special whitespace characters of Unicode Any character that is checked in this panel is considered whitespace that can be normalized in an XML document The whitespaces are normalized when the action Format and Indent is applied or when you switch from Text mode to Author mode or from Author mode to Text mode The characters with the codes 9 10 13 and 32 are always in the group of whitespace characters that must be normalized so they are always enabled in this panel The list of whitespace characters can be improved with additional characters Any character added to the list is considered whitespace Figure 15 14 The Whitespaces preferences panel Whitespaces O7 En Hex Character name Character block s U 0 CHARACTER TABULATION Basic Latin Y U 0 LF Basic Latin A U 0 CR Basic Latin Y U D SPACE Basic Latin U 0 NEXT LINE NEL Latin 1 Supplement O U 0 NO BREAK SPACE Latin 1 Supplement U 1 OGHAM SPACE MARK Ogham U 1 MONGOLIAN VOWEL SEPAR Mongolian U 2 EN Quad General Punctuation U 2 EM Quad General Punctuation U 2 EN SPACE General Punctuation U 2 EM SPACE General Punctuation U 2 THREE PER EM SPACE General Punctuation U 2 FOUR PER EM SPACE General Punctuation U 2 SIX PER EM
28. Defined actions can be grouped into customized menus in the lt oXygen gt menu bar For this open the Document Type dialog for the SDF framework and click on the Author tab Next click on the Menu label In the left side we have the list of actions and some special entries Submenu Creates a submenu You can nest an unlimited number of menus Separator Creates a separator into a menu In this way you can logically separate the menu entries In the right side we have the menu tree having the Menu entry as root To change its name click on this label to select it then press the Edit button Enter SD Framework as name and D as menu access key Figure 7 16 Changing the Name of the Menu Menu Name 5D Framework Menu access key D Menuicon frameworks sdf DatabasePerspective16 gif ES Select the Submenu label in the left an the SD Framework label in the right then press the Add as child button Change the submenu name to Table using the Y Edit button Select the Insert section action in the left and the Table label in the right then press the e Add as sibling button Now select the Insert table action in the left and the Table in the right Press the Add as child button 163 lt oXygen gt XML Editor Developer Guide Figure 7 17 Configuring the Menu 1 C55 Actions Menu 2 Actions Name Description a 3 Menu Separator Menu separator E 4 Contextual menu Submenu Submen
29. Example 4 5 Validation error messages In our example we will use the case where a DocBook listitem element does not match the rules of the docbookx dtd In this case running Validate Document will return the following error E The content of element type listitem must match calloutlist glosslist itemizedlist orderedlist segmentedlist Simplelist variablelist caution important note tip warning literallayout programlisting programlistingco screen screenco screenshot synopsis cmdsynopsis funcsynopsis classsynopsis fieldsynopsis constructorsynopsis destructorsynopsis methodsynopsis formalpara para simpara address blockquote graphic graphicco mediaobject mediaobjectco informalequation informalexample informalfigure informaltable equation example figure table msgset procedure sidebar qandaset anchor bridgehead remark highlights abstract authorblurb epigraph indexterm beginpage As you can see this error message is a little more difficult to understand so understanding of the syntax or processing rules for the DocBook XML DTD s listitem element is required However the error message does give us a clue as to the source of the problem but indicating that The content of element type listitem must match Luckily most standards based DTD s XML Schema s and Relax NG schemas are supplied with reference documentation This enables us to lookup the element and read about it In this case we would
30. Inclusive Canonicalization copies all the declarations even if they are defined outside of the scope of the signature In this way all the declarations you might use will be unambiguously specified A problem appears when the signed XML is moved into another XML document which has other declarations because the Inclusive Canonicalization will copy then and the signature will be invalid Exclusive Canonicalization finds out what namespaces you are actually using the ones that are a part of the XML syntax and just copies those It does not look into attribute values or element content so the namespace declarations required to process these are not copied This type of canonicalization is useful when you have a signed XML document that you wish to insert into other XML documents and it will insure the signature verifies correctly every time so it is required when you need self signed structures that support placement within different XML contexts Inclusive Canonicalization is useful when it is less likely that the signed data will be inserted in other XML document and it s the safer method from the security perspective because it requires no knowledge of the data that are to be secured in order to safely sign them The canonicalization method can specify whether or not comments should be included in the canonical form output by the XML canonicalization method If a canonical form contains comments corresponding to the comment nodes in the input no
31. Reset Column width provider Choose Reset 183 lt oXygen gt XML Editor Developer Guide Configuring an Extensions Bundle Starting with lt oXygen gt 10 3 version a single bundle was introduced acting as a provider for all other extensions The individual extensions can still be set but this practice is being discouraged and the single provider should be used instead The extensions bundle is represented by the ro sync ecss extensions api ExtensionsBundle class The provided implementation of the ExtensionsBundle is instantiated when the rules of the Document Type As sociation defined for the custom framework match a document opened in the editor Therefor references to objects which need to be persistent throughout the application running session must not be kept in the bundle because the next detection event can result in creating another ExtensionsBundle instance l Create a new Java project in your IDE Create the 1 ib directory in the Java project directory and copy in it the oxygen jar file from the oXygen_in stallation_directory lib directory Create the class simple documentation framework SDFExtensionsBundle which must extend the abstract class ro sync ecss extensions api ExtensionsBundle public class SDFExtensionsBundle extends ExtensionsBundle A Document Type ID and a short description should be defined first by implementing the methods get Docu ment TypeID a
32. The complete source code of the SDFSchemaManagerFilter implementation is found in the Example Files Listings the Java Files section Configuring a Link target element finder The link target reference finder represents the support for finding references from links which indicate specific elements inside an XML document This support will only be available if a schema is associated with the document type If you do not define a custom link target reference finder the DefaultElement LocatorProvider implement ation will be used by default The interface which should be implemented for a custom link target reference finder is ro sync ecss extensions api link ElementLocatorProvider As an alternative the ro sync ecss extensions commons DefaultElementLocatorProvider implementation can also be extended The used ElementLocatorProvider will be queried for an ElementLocator when a link location must be determined when user clicks on a link Then to find the corresponding linked element the obtained Element Loc ator will be queried for each element from the document The DefaultElementLocatorProvider implementation The DefaultElementLocatorProvider implementation offers support for the most common types of links e links based on ID attribute values e XPointer element scheme The method getElement Locator determines what Element Locator should be used In the default implement ation it checks if the link is
33. You can use this media type to group specific lt oXygen gt CSS features and also to hide them when opening the docu ments with other viewers 213 lt oXygen gt XML Editor Developer Guide Supported Features from CSS Level 3 Namespace Selectors In the current CSS 2 1 standard the element selectors are ignoring the namespaces of the elements they are matching Only the local name of the elements are considered in the selector matching process lt oXygen gt Author uses a different approach similar to the CSS Level 3 specification If the element name from the CSS selector is not preceded by a namespace prefix it is considered to match an element with the same local name as the selector value and ANY namespace otherwise the element must match both the local name and the namespace In CSS up to version 2 1 the name tokens from the selectors are matching all elements from ANY namespace that have the same local name Example lt x b xmlns x ns_x gt lt y b xmlns y ns_y gt Are both matched by the rule b font weight bold Starting with CSS Level 3 you can create selectors that are namespace aware Example 7 5 Defining both prefixed namespaces and the default namespace Given the namespace declarations namespace sync http sync example org namespace http example com foo In a context where the default namespace applies synclA represents the name A in the http sync example org namespace
34. allows you to change the name of the selected folder e Move allows you to move the selected folder in a different location in the tree X Delete removes the selected folder Actions available at file level Refresh performs a refresh of the selected node E Open allows you to open the selected file in the editor e Rename allows you to change the name of the selected file e Move allows you to move the selected file in a different location in the tree X Delete removes the selected file e Copy location allows you to copy to clipboard an application specific URL for the resource which can then be used for various actions like opening or transforming the resources 328 Chapter 13 Digital signature Overview Digital signatures are widely used as security tokens not just in XML A digital signature provides a mechanism for assuring integrity of data the authentication of its signer and the nonre pudiation of the entire signature to an external party e a digital signature must provide a way to verify that the data has not been modified or replaced to ensure integrity e the signature must provide a way to establish the identity of the data s signer for authentication e the signature must provide the ability for the data s integrity and authentication to be provable to a third party for nonrepudiation A public key system is used to create the digital signature and it s also used for verific
35. can include special lt oXygen gt editor variables Check box Open in browser If this is checked lt oXygen gt will open automatically the transformation result in a browser application specific for the type of that result HTML XHTML PDF text Radio button Saved file When Open in browser is selected this button can be selected to specify that lt oXygen gt should open automatically at the end of the transformation the file specified in the Save As text field Radio button Other location When Open in browser is selected this button can be used to specify that lt oXygen gt should not open the file specified in the Save As text field it should open the file specified in the text field of the Other location radio button The file path can include special lt oXygen gt editor variables Check box Open in editor When this is checked the transformation result set in the Save As field is opened in a new editor panel in lt oXygen gt with the appropriate built in editor type if the result is an XML file it is opened with the built in XML editor if it is an XSL FO file it is opened with the built in FO editor etc Check box Show As XHTML It is enabled only when Open in browser is disabled If this is checked lt oXygen gt will display the transformation result in a built in XHTML browser panel at the bottom of the lt oXygen gt window 274 Transforming documents 4 Important When transforming very large documents
36. e when the drag source is the Author page but the drop target is a text based editor only the text inside the selection will be transferred as it is e the text dropped from another text editor or another application into the Author page will be inserted without changes The font size of the current WYSIWYG like editor can be increased and decreased on the fly with the same actions as in the Text editor Ctrl NumPad or Ctrl or Ctrl increase font size mouse wheel Ctrl NumPad or Ctrl or Ctrl mouse decrease font size wheel 95 Authoring in the tagless editor Ctrl NumPad0 or Ctrl 0 restore font size to the size specified in Preferences Removing the text content of the current element You can remove the text content of the current element and keep only the markup with the action TRemove Text available on the submenu Refactoring of the contextual menu and on the toolbar XML Refactoring This is useful when the markup of an element must be preserved for example a table structure but the text content must be replaced Table layout and resizing The support for editing data in tabular form can manage table width and column width specifications from the source document The specified widths will be considered when rendering the tables and when visually resizing them using mouse drag gestures These specifications are supported both in fixed and proportional dimensions The predefined frameworks DITA DocBook and XHTML alread
37. frameworks is the subfolder frameworks of the Oxygen XML Editor The new stylesheet my_dita css contains import dita css task topic background color red To set the new stylesheet as the default CSS stylesheet for DITA documents first open the Document Type Association preferences panel from menu Options gt Preferences Document Type Association Select the DITA document type and start editing it by pressing the Edit button The user role must be set to Developer otherwise a warning is displayed and a duplicate copy of the DITA document type is created and edited This check makes sure that regular content authors who just edit the content of XML documents do not accidentally modify the document type In the Author tab of the document type edit dialog change the URI of the default CSS stylesheet from fframe works dita css_classed dita css to frameworks dita css_classed my_dita css 207 lt oXygen gt XML Editor Developer Guide Figure 7 39 Set the location of the default CSS stylesheet D Document type 5 Name DITA Description Darwin Information Typing Architecture Storage Olnternal O External DprojectsieXmiframeworksiditaldita framework Rules Namespace Root local name File name Public ID Java class concept lt ANY gt lt ANY gt al task lt ANY gt lt ANY gt il reference lt ANY gt lt ANY gt vl Schema Classpath Author Templates Catalogs Transformation 1655 U
38. if attrValue null displayName attrValue getValue return displayName The method getReferenceSystemIDshould return the systemID of the referred content It takes as arguments an AuthorNode that represents the node with the reference and the AuthorAccess with access methods to the Author data model In our implementation we use the value of the location attribute from the ref element and resolve it relatively to the XML base URL of the node public String getReferenceSystemID AuthorNode node AuthorAccess authorAccess String systemID null if node getType AuthorNode NODE_TYPE_ELEMENT AuthorElement element AuthorElement node if ref equals element getLocalName AttrValue attrValue element getAttribute location if attrValue null String attrStringVal attrValue getValue try URL absoluteUrl new URL node getXMLBaseURL authorAccess correctURL attrStringVal systemID absoluteUrl toString catch MalformedURLException e logger error e e return systemID The complete source code of our implementation is found in the Example Files Listings the Java Files section In the listing below the XML document contains the ref element 197 lt oXygen gt XML Editor Developer Guide lt ref location referred xml gt Reference lt ref gt When no reference resolver is spec
39. import java io IOException 247 lt oXygen gt XML Editor Developer Guide import java net MalformedURLException import java net URL import javax xml transform sax SAXSource import org apache log43 Logger import org xml sax EntityResolver import org xml sax InputSource import org xml sax SAXException import org xml sax XMLReader import ro sync ecss extensions api AuthorAccess import ro sync ecss extensions api AuthorReferenceResolver import ro sync ecss extensions api node AttrValue import ro sync ecss extensions api node AuthorElement import ro sync ecss extensions api node AuthorNode xx Resolver for content referred by elements named ref with a location attribute public class ReferencesResolver implements AuthorReferenceResolver pk Logger for logging e private static Logger logger Logger getLogger ReferencesResolver class getNa ef param nod return lt code gt true lt code gt if The nod to b Verifies if the handler considers t public boolean boolean if nod hasR hasRefere ferences nces fals an Au AuthorElem if hasRefere getTyp O nt lement attrValu nces at return hasReferences ay public String getDisplayName AuthorNode node ref equals element ge AttrValue r Au
40. lt font triplet name Arialuni style normal weight normal gt lt font gt lt fonts gt lt renderer gt Common transformations The following examples use the DocBook XSL Stylesheets to illustrate how to configure lt oXygen gt for transformation to the various target formats Note lt oXygen gt comes with the latest versions of the DocBook and TEI frameworks including special XSLT stylesheets for DocBook and TEI documents DocBook XSL extensions for the Saxon and Xalan processors are included in the frameworks docbook xsl1 extensions directory The following steps are common to all the example procedures below 1 Set the editor focus to the document to be transformed 2 Select XML gt Configure transformation scenario Alt Shift T C Cmd Alt T C on Mac OS to open the Configure Transformation dialog 284 Transforming documents If you want to edit an existing scenario select that scenario in the list and press the Edit button If you want to create a new scenario press the New button If you want to create a new scenario based on an existing scenario select the scenario in the list and press the Duplicate button Select the XSLT tab Click the Browse for an input XSL file button The Open dialog is displayed Note During transformations the Editor Status Bar will show Transformation in progress The transformation is successfully complete when the message XSL transformation su
41. lt xs import namespace http www oxygenxml com sample documentation abstracts schemaLocation abs xsd gt The schemaLocat ion attribute references the abs xsd file located in the same directory What if the file was on the web at the http www oxygenxml1 com SsDF abs xsd location for instance In this case the attribute value will be lt xs import namespace http www oxygenxml com sample documentation abstracts schemaLocation http www oxygenxml com SDF abs xsd gt There is a problem with this approach What happens if an Internet connection is not available How will we check our document for errors if a part of the schema is not available The answer is to create a catalog file that will help the parser locate the missing piece containing the mapping http www oxygenxml com SDF abs xsd gt local_path abs xsd To do this create a new XML file called catalog xm1 and save it into the oXygen_installation_direct ory frameworks sdf directory The content of the file should be lt xml version 1 0 gt lt catalog xmlns urn oasis names tc entity xmlns xml catalog gt lt system systemId http www oxygenxml com SDF abs xsd uri schema abs xsd gt lt catalog gt This means that all the references to http www oxygenxml com SDF abs xsd must be resolved to the abs xsd file located in the schema directory Note The references in the XML catalog files are relative to the directory
42. nsions api ArgumentDescriptor ArgumentsMap AuthorAccess AuthorOperation AuthorOperationException 232 lt oXygen gt XML Editor Developer Guide Implementing the Author Operation Interface Performs the operation 7 public void doOperation AuthorAccess authorAccess ArgumentsMap arguments throws IllegalArgumentException AuthorOperationException JFrame oxygenFrame JFrame authorAccess getParentFrame String href displayURLDialog oxygenFrame if href length 0 Creates the image XML fragment String imageFragment lt image xmlns http www oxygenxml com sample documentation href href gt Inserts this fragment at the caret position int caretPosition authorAccess getCaretOffset authorAccess insertXMLFragment imageFragment caretPosition pk Has no arguments return null s7 public ArgumentDescriptor getArguments return null return A description of the operation public String getDescription return Inserts an image element Asks the user for a URL reference End of interface implementation Auxiliary methods Displays the URL dialog param parentFrame The parent frame for 233 lt oXygen gt XML Editor Developer Guide the dialog return The selected URL string valu
43. relaxng relaxng Relax NG representation of Relax NG optimized for editing in the Author main css mode frameworks relaxng re RelaxNG ISOSchematron representation of RelaxNG with embedded ISO laxngISOSchematron css Schematron rules frameworks relaxng relaxng RelaxNG Schematron representation of RelaxNG with embedded Schematron Schematron css rules The NVDL document type This document type is used to associated CSS stylesheets to a NVDL file so it can be visualized in the Author page Association rules A file is considered to be a NVDL document when the namespace is http purl oclc org dsdl nvdl ns structure 1 0 130 Predefined document types Author extensions The following CSS is proposed for visualizing NVDL schemas in the Author page frameworks nvdl nvdl css Representation of Relax NG optimized for editing in the Author mode The Schematron document type This document type is used to associated CSS stylesheets to a Schematron file so it can be visualized in the Author page Association rules A file is considered to be a Schematron document when the namespace is http purl oclc org dsdl schematron Author extensions The following CSS is proposed for visualizing Schematron schemas in the Author page frameworks schematron iso Representation of Schematron optimized for editing in the Author mode schematron css The Schematron 1 5 document type This document type i
44. sections with number of lines less than 300 347 Configuring the application Preserve empty lines Preserve text as it is Preserve line breaks in attributes Break long attributes Expand empty elements Sort attributes Add space before slash in empty elements Break line before attribute s name Preserve space elements XPath Strip space elements XPath Indent when typing in preserve space elements Indent on paste When checked the Format and Indent operation will preserve all empty lines found in the document on which the pretty print operation os applied If checked the Format and Indent Pretty Print function will preserve text nodes as they are without removing or adding any whitespace If checked the Format and Indent Pretty Print function will preserve the line breaks found in attributes When this option is checked Break long lines option will be disabled If checked the Format and Indent Pretty Print function will break long at tributes When checked the Format and Indent operation will output empty elements with a separate closing tag ex lt a atrl v1 gt lt a gt When not checked the same operation will represent an empty element in a more compact form lt a atrl v1 gt When checked the Format and Indent operation will sort the attributes of an element alphabetically When not checked the same operation will leave them in the same order as before applying the
45. 22 2 cos esse isis nieto inner desa sueres sit yedostavvcaussiucecveayeecconbaesese 208 CSS support in lt oXygen gt Author 2 soshes5 ones bettassaeatea aed bertass ERRE EE a Rena HOSEN Abe egy Ot n 208 RIA NN 208 Supported Selector sein ln linterna 208 Unsupported selectors otorccicio sete eeen l prin nit 209 Properties Support Tables 0 02 55 03 dps rostros depa rodean dicas EEEE 210 lt oXygen gt CSS Extensions eseo oa Ee Eea ETES E EE EE ESVE S EE ETE TeS e sees 213 Media Type oxygens na ates aah suena TEE EEA STEE EESTE EEE PEERS SP E pE SPGE 213 Supported Features from CSS Level 3 20 0 0 eee eee ceeceeceeeceeeca seca eeee sean eeu eeneeeneeeeeees 214 Namespace Selectors es ionem vestesssantte seasons aE E E EE E EE RERE ates 214 The attr function Properties Values Collected from the Edited Document 215 Additional Custom Selectors ssiri snie oaiue sesa niens PEPEES ISERE Ener To pka 217 Additional Properties etico narcisista 219 Folding elements foldable and not foldable child properties 219 Link Clements secs eoon dd ti 220 lt oXygen gt Custom CSS fumctwons o ccecic ssosacgssesssesssnesaasasdosavapcsoeaegssosdeusseveteagssesan Eps 221 The Local name fUNCHION 2 0 0 0 cece cece ec ec ee ceeececseccesecssesesecctenesseseusecetseenses 221 The names TUNCWONH tina ade 221 The ELC function cos evs ocessee Seccs aul esos eee shee sue A dee sueleeasleuvie E E wan nolos
46. 234 lt oXygen gt XML Editor Developer Guide if fileChooser showOpenDialog dlg JFileChooser APPROVE_OPTION Fil fil fileChooser getSelectedFile try Set the file into the text field urlField setText file toURL toString catch MalformedURLException ex This should not happen ex printStackTrace mainContent add browseButton cstr Add the Ok button to the layout cstr gridx 0 cstr gridy 1 cstr weightx 0 JButton okButton new JButton Ok okButton addActionListener new ActionListener public void actionPerformed ActionEvent e dlg setVisible false mainContent add okButton cstr mainContent setBorder BorderFactory createEmptyBorder 10 5 10 5 Add the Cancel button to the layout cstr gridx 2 JButton cancelButton new JButton Cancel cancelButton addActionListener new ActionListener public void actionPerformed ActionEvent e urlField setText dlg setVisible false j mainContent add cancelButton cstr When the user closes the dialog from the window decoration assume Cancel action dlg addWindowListener new WindowAdapter public void windowClosing WindowEvent e urlField setText dlg getContentPane add mainContent dlg pack dlg setLocationRelativeTo parentFrame dlg setVisible true
47. ANT By default it is set to Xmx25 6m which means the transformation process is allowed to use 256 megabytes of memory Example 4 6 Increasing the memory for the ANT process Sometimes when performing a large DITA map transformation you may want to increase the memory allocated to the Java Virtual Machine from the default value 64 MB to a higher value 256MB You can do this easily by setting the value Xmx256m without quotes to the JVM Arguments text field In this way you can avoid the Out of Memory OutOfMemoryError messages received from the ANT process 74 Editing documents Libraries You can specify all the additional libraries jar files or additional class paths which will be used by the ANT transformer Example 4 7 Additional jars specified for XHTML For example the additional jars specified for XHTML are the DITA OT dost and resolver jars xerces and saxon 6 jars The Output tab In the Output Tab you can configure options related to the place where the output will be generated Figure 4 52 Output settings tab Edit DITA Scenario Scenario Name hierarchy PDF DITA OT Type PDF DITA OT Parameters Filters Advanced Output Base directory cfd Temporary files directory temp Woe Woe Woe Output Folder out Output File Open in browser Saved file O Other location You have several parameters that you can specify here Base directory All the relative p
48. Asks the user for a URL reference Classpath frameworks sdF sdf jar Frameworks sdf bd jar Frameworks sdf mysql jar Frameworks sdf tableCellSpan jar The search classpath is defined in the Classpath tab located below the Rules section Number of classes found 3 This operation has no arguments 7 Add the action to the toolbar using the Toolbar panel To test the action you can open the sdf xm1 sample then place the caret inside a sect ion between two para elements for instance Press the button associated with the action from the toolbar In the dialog select an image URL and press Ok The image is inserted into the document Figure 7 23 Dialog Displayed by the Insert Image Operation Ww Enter the value for the href attribute Image URI image jpeg Browse Cancel Example 2 Operations with Arguments Report from Database Operation In this example we will create an operation that connects to a relational database and executes an SQL statement The result should be inserted in the edited XML document as a table To make the operation fully configurable it will have arguments for the database connection string the user name the password and the SQL expression 1 Create a new Java project in your IDE Create the directory 1ib in the Java project directory and copy init the oxygen jar file from the oXygen_in stallation_directory lib directory 2 Create the clas
49. E important An admonition set off From the text E index Important is an admonition set off from the main text In some 8 indexterm types of documentation the semantics of admonitions are clearly defined Caution might imply the possibility of harm to equipment whereas Warning might imply harm to a person but DocBook makes no such assertions E informalequation E informalexample E informalfigure E informaltable E itemizedlist Category admonitions lt listitem gt lt listitem gt lt para gt lt ulink url http wuw w3c org gt http wuw w3c org lt ulink gt Adding a Processing Instruction The same effect is obtained by configuring a processing instruction that specifies the schema to be used The advantage of this method is that you can configure the Content Completion for each file The processing instruction must be added at the beginning of the document just after the XML prologue lt oxygen RNGSchema file C work relaxng personal rng type xml gt Select menu Document XML Document Associate schema or click the toolbar button 4 Associate schema to open a dialog for selecting a schema used for Content Completion and document validation The schema is one of the types XML Schema with or without embedded Schematron rules DTD Relax NG with or without embedded Schematron rules NRL NVDL Schematron This is a dialog helping the user to easily associate a schema file w
50. Guide Example 7 8 Folding DocBook Elements All the elements below can have a title child element and are considered to be logical sections We mark them as being foldable leaving the t it le element visible set book part reference chapter preface article sectl sect2 sect3 sect4 section appendix figure example table foldable true not foldable child title Link elements lt oXygen gt Author allows you to declare some elements to be links This is especially useful when working with many documents which refer to each other The links allow for an easy way to get from one document to another Clicking on the link marker will open the referred resource in an editor To define the element which should be considered a link you must use the property 1 ink on the before or after pseudo element The value of the property indicates the location of the linked resource Since links are usually indicated by the value of an attribute in most cases it will have the a value similar to attr href Note link is a non standard property and is recognized only by lt oXygen gt Author 220 lt oXygen gt XML Editor Developer Guide Example 7 9 Docbook Link Elements All the elements below are defined to be links on the before pseudo element and their value is defined by the value of an attribute href before link attr href content Click attr href for opening
51. Input XSLT result as input Edited document as input Method pdf v Processor Built in Apache FOP OK Cancel Checkbox Perform FO Processing Radio button XSLT result as input Radio button Edited document as in put Combo box Method Combo box Processor Enable or disable applying an FO processor either the built in Apache FOP engine or an external engine defined in Preferences during the transformation The FO processor is applied to the result of the XSLT transformation defined on the XSLT tab of the dialog The FO processor is applied directly to the current edited document The output format of the FO processing PDF PostScript or plain text The FO processor which can be the built in Apache FOP processor or an external processor 273 Transforming documents Figure 9 4 The Configure Transformation Dialog Output Tab Edit scenario Scenario Name Docbook PDF XSLT FO Processor Output Output File O Prompt for file Save As 4cfd 4cFn pdf 4 Open in browser Saved file Other location C Open in editor Show As XML Image URLs are relative to Radio button Prompt for file At the end of the transformation a file browser dialog will be displayed for specifying the path and name of the file which will store the transformation result Text field Save As The path of the file where it will be stored the transformation result The path
52. Table Size Rows 3 Columns 2 z Generate table header The dialog allows the user to configure the number of rows and columns of the table and if the header will be gen erated Insert Row inserts a new table row with empty cells The action is available when the caret position is inside a table En lInsert Column inserts a new table column with empty cells after the current column The action is available when the caret position is inside a table 3 Insert Cell inserts a new empty cell depending on the current context If the caret is positioned between two cells a new one will be inserted at caret s position If the caret is inside a cell then the new one will be created after the current cell Delete Column deletes the table column where the caret is located Delete Row deletes the table row where the caret is located 123 Predefined document types Join Row Cells joins the content of the selected cells The operation is available if the selected cells are from the same row and they have the same row span The action is also available when the selection is missing but the caret is positioned between two cells A Join Cell Above joins the content of cell from current caret position with that of the cell above it Note that this action works only if both cells have the same column span A Join Cell Below joins the content of cell from current caret position with that of the cell below
53. The credentials should be provided in the username pass word domain format all parts are optional This option allows to specify user credentials to be used when loading XSLT stylesheet documents The credentials should be provided in the username pass word domain format all parts are optional Besides the built in formatting objects processor Apache FOP the user can use other external processors lt oXygen gt has implemented an easy way to add RenderX XEP as external FO processor if the user has the XEP installed 372 Configuring the application The FO Processors preferences panel is opened from menu Window Preferences Au thor XML XSLT FO XQuery FO Processors Figure 15 43 The FO Processors preferences panel FO Processors tas Enable the output of the built in FOP Memory available to the built in FOP Default v Configuration file For the built in FOP 4 B C The built in FOP generates PDF A 1b output External FO processors Name Description Tf you have XEP installed you can add it directly B Enable the output of the built in FOP When checked all FOP output will be displayed in a results pane at the bottom of the editor window including warning messages about FO instructions not supported by FOP Memory available to the built in FOP If your FOP transformations fail with an Out of Memory error select from this combo box a larger value for the amount of mem
54. The displayed dialog is composed of sev eral parts e The editable combo box in which it can be specified directly the URL to be opened or saved i URLs that can be directly opened You can type in here an URL like ftp anonymous O some site home test xml if the file is accessible through anonymous FTP This combo box is also displaying the current selection when the user changes selection by browsing the tree of folders and files on the server e The Identification section contains the access credentials If you want to browse for a file on a server you have to specify the user and password This information is bound to the selected URL displayed in the File URL combo box and used further in opening saving the file If the check box Save is selected then the user and password are saved between editing sessions The password is kept encrypted into the options file Note Your password is well protected In the case the options file is used on other machine by a user with a different username the password will become unreadable since the encryption is username dependent This is also true if you add URLs having user and password to your project e The Browse for remote file section contains the server combo and the Autoconnect check box Into the server combo it may be specified the protocol the name or IP of the server D Server URLs When accessing a FTP server you need to specify only the protocol and the host like
55. Transforming documents XSL URL Use xml stylesheet declaration Transformer Parameters Append header and footer Additional XSLT stylesheets Extensions Advanced options 2 Open in editor Opens the file with the path specified in the text field in an editor panel Specifies an input XSL file to be used for the transformation Please note that this URL is resolved through the catalog resolver If the catalog does not have a mapping for the URL then the editor will try to use the file directly The above set of browsing buttons are available also for this input Use the stylesheet declared with an xml stylesheet declaration instead of the stylesheet specified in the XSL URL field By default this checkbox is not selec ted and the transformation applies the XSLT stylesheet specified in the XSL URL field If it is checked the scenario applies the stylesheet specified explicitly in the XML document with the xml stylesheet processing instruction This combo box contains all the transformer engines available for applying the stylesheet These are the built in engines and the external engines defined in the user preferences If you want to change the default selected engine just select other engine from the drop down list of the combo box For XQuery XSLT files only if no validation scenario is associated the transformer engine will be used in validation process if has validation support Opens the dialog for configuri
56. Working with Databases 3 4 Press the Add button to add the following IBM DB2 specific files e db2jcc jar e db2jcc_license_cisuz jar e db2jcc_license_cu jar In the Download links for database drivers section there are listed the URLs from where to download the drivers necessary for accessing IBM DB2 databases in lt oXygen gt You can manually manage the Driver Files using Add Remove Detect and Stop detection buttons Select the most suited Driver class Click OK to finish the data source configuration How to configure a Generic JDBC Data Source lt oXygen gt s default configuration already contains a generic JDBC data source called JDBC ODBC Bridge 1 2 3 4 Go to Preferences gt Data Sources In the Data Sources panel click the New button Enter a unique name for this data source and select Generic JDBC from the driver type combo box Click the Add button and find the driver file on your file system You can manage the Driver Files using Add Remove Detect and Stop detection buttons Select the most suited Driver class Click OK to finish the data source configuration How to configure a Microsoft SQL Server Data Source 1 2 4 ay Go to Preferences gt Data Sources In the Data Sources panel click the New button Enter a unique name for this data source and select SQLServer from the driver type combo box Press the Add button to add the following Microsoft SQL Server specif
57. attrValue null String attrStringVal attrValue getValue try URL absoluteUrl new URL new URL systemID authorAccess correctURL attrStringVal InputSource inputSource entityResolver resolveEntity null absoluteUrl toString if inputSource null inputSource new InputSource absoluteUrl toString XMLReader xmlReader authorAccess newNonValidatingXMLReader xmlReader setEntityResolver entityResolver saxSource new SAXSource xmlReader inputSource catch MalformedURLException e logger error e ya catch SAXException e logger error e e catch IOException e logger error e e 196 lt oXygen gt XML Editor Developer Guide return saxSource The method get Re ferenceUni que Dshould return an unique identifier for the node reference The unique identi fier is used to avoid resolving the references recursively It takes as argument an AuthorNode that represents the node with the reference In our implementation the unique identifier is the value of the location attribute from the ref element public String getDisplayName AuthorNode node String displayNam ref fragment if node getType AuthorNode NODE_TYPE_ELEMENT AuthorElement element AuthorElement node if ref equals element getLocalName AttrValue attrValue element getAttribute location
58. ftp server com ftp ftp apache org or if using a nonstandard port ftp server com 7800 etc By pressing the Browse button the directory listing will be shown in the component below When Autoconnect 1s selected then at every time the dialog is shown the browse action will be performed e The tree view of the documents stored on the server You can browse the directories and make multiple selections Additionally you may use the Rename Delete and New Folder to manage the file repository The file names are sorted in a case insensitive way A WebDAV resource can be locked when it is opened in lt oXygen gt by checking the option Lock WebDAV files on open to protect it from concurrent modifications on the server by other users If other user tries to edit the same resource he will receive an error message and the name of the lock owner The lock is released automatically when the editor for that resource is closed in lt oXygen gt GZIP compression is handled correctly for the content received sent from to a HTTP server or a WebDAV server The built in client of lt oXygen gt notifies the server when the connection is established that GZIP compression is supported Changing file permissions on a remote FTP server Some FTP servers allow the modification of file permissions on the file system for the files that they serve over the FTP protocol This feature of the protocol is accessible directly in the FTP file browser di
59. image display block content attr href url margin left 2em Our image element has the required attribute href of type xs anyURI The href attribute contains an image location so the rendered content is obtained by using the function attr href url Important The first argument is the name of the attribute pointing to the image file The second argument of the attr function specifies the type of the content If the type has the ur1 value then lt oXygen gt identifies the content as being an image If the type is missing then the content will be the text representing the attribute value Important lt oXygen gt Author handles both absolute and relative specified URLs If the image has an absolute URL location e g http www oasis open org images standards oasis_standard jpg then it is loaded directly from this location If the image URL is relative specified to the XML document e g images my_screenshot jpg then the location is obtained by adding this value to the location of the edited XML document An image can also be referenced by the name of a DTD entity which specifies the location of the image file For example if the document declares an entity graphic which points to a JPEG image file lt i ENTITY graphic SYSTEM depo keyboard_shortcut jpg NDATA JPEG gt and the image is referenced in the XML document by specifying the name of the entity as the value of an attribute lt mediaobj
60. inserting a new empty table cell to the right Note that this action works only if the current cell spans over more than one column The column span of the source cell will be decreased with one Las burSplit Cell Above splits the cell from current caret position in two inserting a new empty table cell above Note that this action works only if the current cell spans over more than one row The row span of the source cell will be decreased with one LJ sur Split Cell Below splits the cell from current caret position in two inserting a new empty table cell below Note that this action works only if the current cell spans over more than one row The row span of the source cell will be decreased with one S Note DocBook v4 supports only CALS table model HTML table model is supported in DocBook v5 4 Caution Column specifications are required for table actions to work properly e Generate IDs allows you to generate ID for the current selection or for the element at caret position if the element appears in ID Generation dialog 106 Predefined document types Figure 6 4 ID Generation dialog G 1D Generation ID Pattern SflocalName _S uuid Element name article chapter sectl sect2 sect3 sect4 sect5 section In this dialog you can specify the elements for which lt oXygen gt should generate an ID You can choose to automat ically generate an ID for these elements by s
61. large documents 10 Q Querying documents running XPath expressions 292 XPath console 292 R Relational databases 301 connections configuration 303 IBM DB2 304 JDBC ODBC connection 304 Microsoft SQL Server 305 MySQL 305 Oracle 11g 305 PostgreSQL 8 3 306 data sources configuration 301 generic JDBC data source 302 IBM DB2 301 Microsoft SQL Server 302 MySQL 302 Oracle 11g 303 PostgreSQL 8 3 303 resource management 306 Database Explorer view 306 Table Explorer view 310 RelaxNG document type 130 association rules 130 Author extensions 130 S Schematron 1 5 document type 131 Schematron 1 5 document type association rules 131 Author extensions 131 Schematron document type 131 association rules 131 Author extensions 131 394 Index T TEI P4 document type 121 association rules 122 Author extensions 122 catalogs 125 templates 125 transformation scenarios 125 schema 122 TEI P5 document type 126 association rules 126 Author extensions 126 catalogs 126 templates 126 transformation scenarios 126 schema 126 Text editor specific actions 334 VI editor actions 335 Transformation scenario 267 batch transformation 268 built in transformation scenarios 268 new transformation scenario 268 additional XSLT stylesheets 277 creating a transformation scenario 278 XSLT parameters 275 XSLT X Query extensions 277 Transforming documents 266 common transformations 284
62. lt tag gt To resolve the error click in the result list record which will locate and highlight the errors approximate position Identify which start tag is missing an end tag and insert lt tag gt Example 4 3 Document which is not namespace wellformed lt X y gt lt x y gt When Check document form is performed the following error is raised Element or attribute do not match QName production QName NCName NCName Example 4 4 Document which is not namespace valid lt x y gt lt x y gt When Check document form is performed the following error is raised The prefix x for element x y is not bound Also the files contained in the current project and selected with the mouse in the Project view can be checked for well formedness with one action available on the popup menu of the Project view Y Check well form Validating XML documents against a schema A Valid XML document is a Well Formed XML document which also conforms to the rules of a schema which defines the legal elements of an XML document The schema type can be XML Schema Relax NG full or compact syntax 38 Editing documents Schematron Document Type Definition DTD Namespace Routing Language NRL or Namespace based Validation Dispatching Language NVDL The purpose of the schema is to define the legal building blocks of an XML document It defines the document structure with a list of legal elements The lt oXygen gt
63. param node The node that has reference return An unique identifier for the reference nod public String getReferenceUniquelD AuthorNode node String id null if node getType AuthorNode NODE_TYPE_ELEMENT AuthorElement element AuthorElement node if ref equals element getLocalName AttrValue attrValue element getAttribute location if attrValue null id attrValue getValue return id o XA AA A F KF F os Return the systemID of the referred content param node The reference nod param authorAccess The author access return The systemID of the referred content public String getReferenceSystemID AuthorNode node AuthorAccess authorAccess String systemID null if node getType AuthorNode NODE_TYPE_ELEMENT T 250 lt oXygen gt XML Editor Developer Guide AuthorElement element AuthorElement node if ref equals element getLocalName AttrValue attrValue element getAttribute location if attrValue null String attrStringVal attrValue getValue try URL absoluteUrl new URL node getXMLBaseURL authorAccess correctURL attrStringVal systemID absoluteUrl toString catch MalformedURLException e logger error e Jo return systemID Verifies if the references o
64. sect Inlines rendering b font weight bold font style italic 227 lt oXygen gt XML Editor Developer Guide Table rendering table display table border 1lpx solid navy margin lem max width 1000px min width 150px table width width attr width length tr header display table row header background color silver color inherit td display table cell border 1lpx solid navy padding lem image display block content attr href url margin left 2em XML Files sdf_sample xml lt xml version 1 0 encoding UTF 8 gt lt book xmlns http www oxygenxml com sample documentation xmlns xsi http www w3 org 2001 XMLSchema instance xmlns abs http www oxygenxml com sample documentation abstracts gt lt title gt My Technical Book lt title gt lt section gt lt title gt XML lt title gt lt abs def gt Extensible Markup Language lt abs def gt lt para gt In this section of the book I will explain different XML applications lt para gt lt section gt lt section gt lt title gt Accessing XML data lt title gt 228 lt oXygen gt XML Editor Developer Guide lt section gt lt title gt XSLT lt title gt lt abs def gt Extensible stylesheet language transformation XSLT is a language for transforming XML documents into other XML documents lt abs def gt lt para gt A list of XSL elements and what they do lt para gt
65. the cell span is specified for each of the cells so we leave this method empty However there are cases like the table CALS model when the cell spanning is specified in the table element In such cases you must collect the span in formation by analyzing the table element public void init AuthorElement table The method get ColSpan is taking as argument the table cell The table layout engine will ask this AuthorTa bleSpanSupport implementation what is the column span and the row span for each XML element from the table that was marked as cell in the CSS using the property display table cell The implementation is simple and just parses the value of column_span attribute The method must return nul 1 for all the cells that do not change the span specification public Integer getColSpan AuthorElement cell Integer colSpan null AttrValue attrValue cell getAttribute column_span if attrValue null The attribute was found String cs attrValue getValue if cs null try colSpan new Integer cs catch NumberFormatException ex The attribute value was not a number return colSpan The row span is determined in a similar manner public Integer getRowSpan AuthorElement cell Integer rowSpan null AttrValue attrValue cell getAttribute row_span if attrValue null The attribute was found String rs attrValue getValue if rs null try row
66. with Tag action e Rename Element the element from the caret position and the elements that have the same name as the current element can be renamed according with the options from the Rename dialog e Delete Element Tags deletes the tags of the closest element that contains the caret s position This operation is also executed if the start or end tags of an element are deleted by pressing the Delete or Backspace keys e Insert Entity allows the user to insert a predefined entity or a character entity Surrogate character entities range x 10000 to x1OFFFF are also accepted Character entities can be entered in one of the following forms e lt decimal value gt e g 65 e amp lt decimal value gt e g amp 65 e x lt hexadecimal value gt e g x41 e amp x lt hexadecimal value gt e g amp X41 e Open File at Cursor opens in a new editor panel the file with the name under the current position of the caret in the current document If the file does not exist at the specified location the error dialog that is displayed contains a Create new file action which displays the New file dialog This allows you to choose the type or the template for the file If the action succeeds the file is created with the referred location and name and is opened in a new editor panel This is useful when you decide first on the file name and after that you want to create it in the exact location specified at the current cursor pos
67. xml DocBook 5 Article with XInclude xml DocBook 5 Book xml DocBook 5 Book with XInclude Cancel 2 Scroll the Templates list and select the required Template Type 3 Type a name for the new document and press Next 4 Click Finish A new document is opened that already contains structure and content provided in the template starting point Saving documents The edited document can be saved with one of the actions e File gt Save Ctrl S to save the current document e File gt Save As Displays the Save As dialog used to name and save an open document to a file or save an existing file with a new name e File gt Save All Saves all open documents Opening and Saving Remote Documents via FTP SFTP lt oXygen gt supports editing remote files using the FTP SFTP protocols The remote opened files can be edited exactly as the local ones They can be added to the project and can be subject to XSL and FO transformations 24 Editing documents Figure 4 9 Open URL dialog Open using FTP SFTP URL ftp test devel sync rofhome test automatic tests samples personal schema xml Identification User test x Password eeeeee Browse For remote file Save Server URL Ftp devel sync ro Autoconnect Browse E automatic tests aj 2 Permissions OE a EE c W E InkBaseDir CY InkDir 6 4 InkLnkDir 2 parent samples 2 RelaxNG f
68. xs choice gt lt xs complexType gt lt xs element name ref gt lt xs complexType gt lt xs attribute name location type xs anyURI use required gt lt xs complexType gt lt xs element gt lt xs element name image gt lt xs complexType gt lt xs attribute name href type xs anyURI use required gt lt xs complexType gt lt xs element gt lt xs element name table gt lt xs complexType gt lt xs sequence gt lt xs element name customcol maxOccurs unbounded gt lt xs complexType gt lt xs attribute name width type xs string gt lt xs complexType gt lt xs element gt lt xs element name header gt lt xs complexType gt lt xs sequence gt lt xs element name td maxOccurs unbounded type doc paragraphType gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs element name tr maxOccurs unbounded gt lt xs complexType gt lt xs sequence gt lt xs element name td type doc tdType maxOccurs unbounded gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs sequence gt lt xs attribute name width type xs string gt lt xs complexType gt 225 lt oXygen gt XML Editor Developer Guide lt xs element gt lt xs complexType name tdType gt lt xs complexContent gt lt xs extension base doc paragraphType gt lt xs attribute name row_span type xs integer gt lt xs attribute name co
69. Author 5 Enable Show Disabled Features from the dialog toolbar 6 From the right section of the displayed window choose Uninstall 7 After the uninstall procedure is complete accept the Eclipse restart 8 If you wish to completely remove the application directory and any work saved in it you will have to delete this directory manually To remove the application configuration and any personal customizations delete the SAPP Installation DATA com oxygenxml author directory on Windows usually 9 APPDATA has the value user home dir Application Data com oxygenxml author on Linux from the user home directory Performance problems Large documents If large documents more than 10 MB are edited in and you see that performance slows down considerably after some time then a possible cause is that it needs more memory in order to run properly You can increase the maximum amount of memory available to plugin by specifying the parameters vmargs Xmx in the command used to launch the Eclipse platform Warning The maximum amount of memory should not be equal to the physical amount of memory available on the machine because in that case the operating system and other applications will have no memory available External processes The amount of memory allocated for generating PDF output with the built in Apache FOP processor is controlled by a different setting available in Preferences Memory available to the built in
70. Big Boss Iv E The lt oXygen gt Text view The lt oXygen gt Text view is automatically showed in the views pane of the Eclipse window to display text output from XSLT transformations FO processor s info warning and error messages It contains a tab for each file with text results displayed in the view Figure 3 3 The Text View Text 23 gt Browser Problems Console Results Ax lt sales gt A lt product id 1 gt lt productName gt Wave Runner XLTS00 lt productName gt lt productSpec gt 120 HP 1000 cc lt productSpec gt lt mrq gt 180 lt mrq gt Select All lt ytd gt 18 87 up lt ytd gt Copy lt margin gt 5 lt margin gt lt product gt X Clear lt product id 2 gt om m di ee XQuery xml products xquery 3 XSL xml personal xml XSL xml sales xml The lt oXygen gt Browser view The lt oXygen gt Browser view is automatically showed in the views pane of the Eclipse window to display HTML output from XSLT transformations It contains a tab for each file with HTML results displayed in the view 13 Getting started Figure 3 4 The Browser View Text 4 Browser El Problems Console Results a Po worker two worker three worker four worker Boss Big chief nm so loss Big e ef oxyge com EN Worker One lone oxygenxml com Big Boss Worker Two two oxygenzml com Big Boss Worker Three three oxygenxml com Big
71. Boss Worker Four four oxygenxml com Big Boss Worker Five Ev Govea com Big Boss gt v 45L xhtml personal xml XSL xhtml sales xml The lt oXygen gt XPath Results view The lt oXygen gt XPath Results view is automatically showed in the views pane of the Eclipse window to display XPath results Figure 3 5 The XPath Results View Problems Search Console Progress History Hix XPath Results x Jpersonnel 1 person 1 contr false id Big Boss Jpersonnel 1 person 2 i Supported editor types The lt oXygen gt Eclipse plugin provides special Eclipse editors identified by the following icons t The icon for XML documents The icon for JavaScript documents lt The icon for CSS documents lt oXygen gt Database perspective The Database perspective is similar to the Editor perspective It allows you to manage a database offering support for browsing multiple connections at the same time both relational and native XML databases SQL execution XQuery execution and data export to XML This perspective offers database specific support for e Sleepycat Berkeley DB XML Database e eXist XML Database e IBM DB2 Enterprise edition only 14 Getting started e JDBC ODBC Bridge Enterprise edition only e MarkLogic Enterprise edition only XQuery support only Microsoft SQL Server 2005 and Microsoft SQL Server 2008 Enterprise edition only e MySQL Enterpr
72. Click OK to finish the data source configuration How to configure a MarkLogic datasource The latest instructions on how to configure MarkLogic support in lt oXygen gt can be found on our website http www oxygenxml com doc ug oxy genEclipse native xm database support html configure marklogic datasource 1 Go to Preferences gt Data Sources In the Data Sources panel click the New button 2 Enter a unique name for this data source and select MarkLogic from the driver type combo box 3 Add the following MarkLogic specific file e xcc jar In the Download links for database drivers section there are listed the URLs from where to download the drivers necessary for accessing MarkLogic databases in lt oXygen gt 4 Click OK to finish the data source configuration How to configure a Software AG Tamino datasource The latest instructions on how to configure Software AG Tamino support in lt oXygen gt can be found on our website http www oxygenxml com doc ug oxygenEclipse native xml database support htmifconfigure tamino datasource 1 Goto Preferences gt Data Sources In the Data Sources panel click the New button 2 Enter a unique name for this data source and select Tamino from the driver type combo box 3 Using the Add button add the following jar files available in the SDK TaminoAPI4J 1ib subdirectory of the Tamino 4 4 1 database install directory e TaminoAPI4J jar e TaminoAPI4J 110n jar e TaminoJCA jar
73. DITA Glossentry New DITA Glossentry DITA Reference New DITA Reference DITA Task New DITA Task DITA Topic New DITA Topic Catalogs The default catalog is stored in frameworks dita catalog dita xml Transformation Scenarios The following default transformation scenarios are available for DITA Topics e DITA Topic to DocBook converts a DITA topic document into a DocBook document e DITA Topic to HTML transforms a DITA topic document into HTML document DITA to PDF transforms a DITA document into a PDF document The DITA MAP document type DITA maps are documents that collect and organize references to DITA topics to indicate the relationships among the topics They can also serve as outlines or tables of contents for DITA deliverables and as build manifests for DITA projects Maps allow scalable reuse of content across multiple contexts They can be used by information architects writers and publishers to plan develop and deliver content Association rules A file is considered to be a dita map document when either of the following occurs e root element name is one of the following map bookmap e public id of the document is OASIS DTD DITA Map or OASIS DTD DITA BookMap e the root element of the file has an attribute named class which contains the value map map and a DITAArchVer sion attribute from the http dita oasis open org architecture 2005 namespace This enhanced case of matching is only
74. Data Sources In the Connections panel click the New button Enter a unique name for this connection and select one of the previously configured DB2 data sources from the Data Source combo box Fill in the Connection Details URL URL to the installed IBM DB2 engine User User name to access the IBM DB2 database engine Password Password to access the IBM DB2 engine Click OK How to Configure a JDBC ODBC Connection 1 2 Go to Preferences gt Data Sources In the Connections panel click the New button Enter a unique name for this connection and select one of the previously configured Generic JDBC data sources from the Data Source combo box Fill in the Connection Details URL URL to the configured ODBC source User User name to access the configured ODBC source Password Password to access the configured ODBC source Click OK 304 Working with Databases How to Configure a Microsoft SQL Server Connection l 2 4 Go to Preferences gt Data Sources In the Connections panel click the New button Enter a unique name for this connection and select one of the previously configured SQLServer data sources from the Data Source combo box Fill in the Connection Details URL URL to the installed SQLServer engine User User name to access the SQLServer database engine Password Password to access the SQLServer engine Click OK How to Configure a MySQL Connection 1 2 4 Go to Prefere
75. Editor plugin for Eclipse you will have to use their SWT counterparts We assume you already read the Configuring Actions Menus Toolbar section and you are familiar with the lt oXygen gt Author customization You may find the XML schema CSS and XML sample in the Example Files Listings Warning Make sure the Java classes of your custom Author operations are compiled with the same Java version that is used by Otherwise the classes may not be loaded by the Java virtual machine For example if you run with a Java 1 5 virtual machine but the Java classes of your custom Author operations are compiled with a Java 1 6 virtual machine then the custom operations cannot be loaded and used by the Java 1 5 virtual machine Example 1 Step by Step Example Simple Use of a Dialog from an Author Operation Let s start adding functionality for inserting images in our Simple Documentation Framework shortly SDF The images are represented by the image element The location of the image file is represented by the value of the href attribute In our Java implementation we will show a dialog with a text field in which the user can enter a full URL or he can browse for a local file 1 Create a new Java project in your IDE Create the directory 1 ib in the Java project directory and copy init the oxygen jar file from the oXygen_in stallation_directory lib directory The oxygen jar contains the Java interfaces we have to im plement and the API nee
76. Enterprise editions of lt oXygen gt please go to the lt oXygen gt website http www oxygenxml com feature_matrix html Note Only connections configured on relational data sources can be used to import to XML or to generate XML schemas 15 Getting started Figure 3 6 Database perspective Te 5 oXygen DB export xml Eclipse SDK e I o E Eile Edit Navigate Search Project XML Tools Run XML Window Help 9 Q 4 it EA CE HL OPH BH OA EE B AN lp O SS Bae ES Database Exp X 3 Navigator fe export xml 53 TEX DEA E gt Lo 1 lt xml version 1 0 encoding UTF 8 gt 4 O 82 ORDSYS S F OUTLN el pm 82 PUBLIC 8 scott HE Bonus k if e E DEPT E emp El EMPLOYEEZ eE companySatisfaction380 E companySatisFaction392 E companySatisFaction410 EE emailS765_TAB 2 lt root gt lt row gt lt DEPTNO gt 10 lt DEPTNO gt lt DNAME gt ACCOUNTING lt DNANE gt lt LOC gt NEW YORK lt LOC gt lt row gt lt row gt lt DEPTNO gt 20 lt DEPTNO gt lt DNAME gt RESEARCH lt DNAME gt lt LOC gt DALLAS lt LOC gt lt row gt lt row gt lt DEPTNO gt 30 lt DEPTNO gt D la No element selected V0Oo0J3Jo on gt 0Y An annotation is not available For the current selection E Editor x Styles E employeeBenefits3798_ E employeeBenefits3926_ E employeeBenefits4102 7 El Family5767_TAB
77. FOP In case of Out Of memory errors this is the setting that must be modified for allowing more memory for the built in FOP For external XSL FO processors configured in Preferences gt oXygen gt XML gt XSLT FO X Query gt FO Processors and for external XSLT processors configured in Preferences gt oXygen gt XML gt XSLT FO XQuery gt Custom Engines the maximum memory must be set in the command line of the tool with a parameter Xmx set to the Java virtual machine 10 Chapter 3 Getting started Supported types of documents The lt oXygen gt XML Author provides a rich set of features for working with e XML documents and applications e CSS documents Getting help Online help is available at any time while working in lt oXygen gt XML Author by going to Help gt Help Contents gt oXygen User Manual for Eclipse Perspectives The interface uses standard interface conventions and components to provide a familiar and intuitive editing environment across all operating systems In you can work with documents in one of the perspectives Editor perspective Editing of documents is supported by specialized and synchronized editors and views lt oXygen gt Database perspective Multiple connections to both relational databases and native XML ones can be managed at the same time in this perspective database browsing SQL execution XQuery execution and data export to XML lt oXygen gt XML perspective
78. If you want to use an XSLT transformer different than the ones that ship with lt oXygen gt namely Apache Xalan and Saxon all you have to do is to specify the name of the transformer s factory class which lt oXygen gt will set as the value of the Java property javax xml transform TransformerFactory To perform an XSLT transformation with Saxon 7 for instance you have to place the Saxon 7 jar file in the lt oXygen gt libraries directory the lib subdirectory of the in stallation directory set net sf saxon TransformerFactoryImpl as the property value and select JAXP as the XSLT processor in the transformation scenario associated to the transformed XML document 365 Configuring the application Value Allows the user to enter the name of the transformer factory Java class XSLT 1 0 Validate with Allows the user to set the XSLT Engine used for validation of XSL 1 0 documents XSLT 2 0 Validate with Allows the user to set the XSLT Engine used for validation of XSL 2 0 documents Saxon6 The Saxon 6 preferences panel is opened from menu Window Preferences Au thor XML XSLT FO XQuery XSLT Saxon Saxon 6 Figure 15 37 The Saxon 6 XSLT preferences panel Saxon6 ta Line numbering I Allow calls on extension Functions not noext Policy for handling recoverable errors in the stylesheet O Recover silently w0 Recover with warnings w1 O Signal the error and do not attempt recovery w2 L
79. Logger ro ro ro ro ID based links ext ext ext ext nc nc nc nc ecss ecss ecss ecss sy sy sy sy Default implementatio Depending xinclude element sc on the lin http www w3 t Ele http www oxygenxml com sample documentation equals rootNamespace ensions api link ElementLocator ensions api link ElementLocatorException ensions api link ElementLocatorProvider ensions api link IDTypeVerifier K heme eleme org TR 2003 R Pe n for locating elements based on a given link mentLocatorProvider imple he link represents the value ment structure the following cases are covered nt 1 2 see EC xptr element 20030325 of an attribute of type ID ElementLocatorProvider private static Logger logger Logger getLogger DefaultElementLocatorProvider class getName j pk see ro sync ecss extensions api link ElementLocatorProvider ES getElementlLocator ro sync ecss extensions api link IDTypeVerifier java lang String El public ElementLocator getElementLocator IDTypeVerifier idVerifier String link ElementLocator elementLocator null try if link startsWith element xpointer element scheme elementLocator new XPointerElementLocator idVerifier link else Locate link element by ID elementLocator new IDElementLocator
80. Name Associated editors cr AAEE SaxonSA XML Editor XSD Editor MSXML NET XML Editor XSD Editor XSL Editor xsv XML Editor XSD Editor SQC XSD Editor MSXML4 0 XML Editor XSD Editor XSL Editor Intel XML Software Suite XML Editor XSD Editor If you want to add a new custom validation tool or edit the properties of an exiting one you can use the Custom Valid ator dialog displayed by pressing New or Edit buttons 360 Configuring the application Figure 15 30 Custom validator dialog a Custom validator Name LIBXML Executable path oxygenInstallDir xmllint 3 Working directory Associated editors XML Editor je 2 2 Other noout cf Command line arguments for detected schemas XSD noout catalogs xinclude schema ds cf E RNG noout catalogs xinclude relaxng ds cf RNC EJ NRL NVDL SCH E O DID noout catalogs xinclude postvalid cf E O Name Executable path Working directory Associated editors Command line arguments for detec ted schemas The name of the custom validation tool displayed in the External Validation toolbar The path to the executable file of the external validation tool You can insert here editor variables like homeDir pd etc The working directory of the external validation tool The following editor variables can be used homeDir The path to user h
81. New prefix name xsll Rename also attribute values that start with the same prefix Rename current element prefix Rename current prefix in all document Selecting the Rename current element prefix option the application will recursively traverse the current element and all its children For example to change the xmlns p1 ns 1 association existing in the current element to xmlns p5 ns 1 just select this option and press OK If the association xmlns p1 ns1 is applied on the parent of the current element then lt oXygen gt will introduce a new declaration xmlns p5 ns1 in the current element and will change the prefix from pl to pS If p5 is already associated in the current element with another namespace let s say ns5 then a dialog showing the conflict will be displayed Pressing the OK button the prefix will be modified from p1 to p5 without inserting a new declaration xmIns p5 ns1 On Cancel no modification is made Selecting the Rename current prefix in all document option the application will apply the change on the entire document To apply the action also inside attribute values one must check the Rename also attribute values that start with the same prefix checkbox context menu of current editor XML Refactoring Split element 2 Split the element from the caret position in two identical elements The caret must be inside the element context menu of current editor XML Refactoring Join elements pS
82. Note You must use the jar files from the version 4 4 1 of the Tamino database 4 Click OK to finish the data source configuration How to configure a Raining Data TigerLogic datasource The latest instructions on how to configure TigerLogic support in lt oXygen gt can be found on our website http www oxygenxml com doc ug oxy genEclipse native xml database support html configure tigerlogic datasource 314 Working with Databases 1 Goto Preferences gt Data Sources In the Data Sources panel click the New button 2 Enter a unique name for this data source and select TigerLogic from the driver type combo box 3 Add the following TigerLogic specific files found in the TigerLogic JDK lib directory from the server side e connector jar e jca connector jar e tlapi jar e tlerror jar utility jar e xmlparser jar e xmltypes jar 4 Click OK to finish the data source configuration How to configure a Documentum xDb X Hive DB datasource The latest instructions on how to configure Documentum xDb X Hive DB support in lt oXygen gt can be found on o u r w e b s i t e http www oxygenxml com doc ug oxygenEclipse native xml database support html configure xhive datasource 1 Goto Preferences gt Data Sources In the Data Sources panel click the New button 2 Enter a unique name for this data source and select Documentum xDb X Hive DB from the driver type combo box 3 Add the following Documentum xDb X
83. One lt given gt 15 lt name gt odet Family given given Family 16 lt email gt onefoxygenxml com lt email gt 17 lt link manager Big Boss gt pp the person Family and given name 18 lt person gt 19 lt person id two worker gt PE out gt 20 lt name gt pun 21 lt family gt Worker lt family gt v l l SES lt Di personnel A en aes E 0 person Big Boss 111 AAs XPath ES Text Results WSDL SOAP analyser Problems Schema Components Editor properties XSLT Input j name ipersonnel 1 person 1 id Big Boss contr false family Boss ele pate oe oe corir fake e I chi k personnel 1 person 3 id two worker contr false e ag Baraca E th personnel 1 person 4 id three worker contr false IK ONE worker two worker three wt 5 personnel 1 person 5 id four worker contr false fal 2 neon ane marker personnel 1 person 6 id five worker contr false i XPath successful U 0061 Writable Insert Bi dd The lt oXygen gt custom menu When the current editor window contains a document associated with lt oXygen gt a custom menu is added to the Eclipse menu bar named after the document type XML XSL XSD RNG RNC Schematron DTD FO WSDL XQuery HTML CSS The lt oXygen gt toolbar buttons The toolbar buttons added by the lt oXygen gt plugin provide easy access to common and frequently used functions Each icon is a button that acts
84. Schema URI frameworks sdF schemaj sdf xsd x EJ E e Author CSS Settings Select the Author tab from the Document Type edit dialog By clicking on the CSS label in the right part of the tab the list of associated CSS files is shown Here you can also specify how should the CSSs defined in the document type be treated when there are CSSs specified in the document with xml stylesheet processing instructions The CSSs from the document can either replace the CSSs defined in the document type association or merge with them Add the URI of the CSS file sdf css we already defined We should use the frameworks editor variable in the file path Figure 7 11 CSS settings dialog S css URI frameworkst sdF sdF css x a la 2 Title alternate The Title text field refers to a symbolic name for the stylesheet When adding several stylesheets with different titles to a Document Type association the content author can select what CSS will be used for editing from the Author CSS Alternatives toolbar This combo box from the toolbar is also populated in case your XML document refers CSS files directly using xml stylesheet processing instructions and the processing instructions define titles for the CSS files S Note The CSS settings dialog allows to create a virtualxml stylesheet processing instructions The CSS files defined in the Document Type Association dialog and the xml st ylesheet processing instr
85. Server s XML Schema Repository Level 0 eee eee ee eee 309 TableExplorerViSW AS 310 Native XML Database NXD Support sr a seen anene ae cee cen NEEE RE a EEE EAAS 312 Configuring Database Data Sources ooocooccnoccnnccnnconnccnnconnconnconncnnnrnnnrnnronnrnnncnnconnccnnccnncnnncnnneos 312 How to configure a Berkeley DB XML datasource oocoocccocccoccnnccnocnnccnnconnccnnccnncnnnconacinncos 312 How to configure an eXist datasource 0 eee cece cee ce ee eens ce eeeaeeca cena cena eeu eeneeeeeeeenes 313 xi lt oXygen gt XML Author 10 3 User Manual for Eclipse How to configure a MarkLogic datasource oocoocccoccnccnnconnconnconncnnnconnconnconncnnncnnnrnnnnnnrnnoss 314 How to configure a Software AG Tamino datasource cooccocccnccnnccnnccnnconnccnnccnnconnconaconicinoss 314 How to configure a Raining Data TigerLogic datasource oooooccoccnnccnnccnnccnnccnnconnconaconaconose 314 How to configure a Documentum xDb X Hive DB datasource oocooccoccncnoconcnnconcnnroncnnnos 315 Configuring Database Connections sssr sieer n cc ence E AS a p EE E eI seas ESER SESS 316 How to configure a Berkeley DB XML Connection ocoocccoccnnccnnccnncnnnconeconncnnncnnaconcnninonose 316 How to configure an eXist Connection 2 0 0 0 eee eeceee cece eee ce ceca ceca eeee cena eeu eeneeeeeeeeees 317 How to configure a MarkLogic Connection 2 0 0 0 cece cece ee cece eee ece ence eeeeeeeeeeeeeeeeeeeeeeeaees 318 How to configure a So
86. Source Drivers Configuration Dialog Data Sources Drivers Name Berkeley Datasource Type Berkeley DBXML lv Driver Files qdan Application 20Data com oxygenxml DBDrivers p1 Berkeley 20DBXML db jar jdan Application 20Data com oxygenxml DBDrivers p1 Berkeley 20DBXML dbxml jar ls gt Remove Press the Add button to add the following Berkeley DB specific files e db jar check for it into DBXML_DIR lib or DBXML_DIR Aar e dbxml jar check for it into DBXML_DIR lib or DBXML_DIR jar Click OK to finish the data source configuration How to configure an eXist datasource The latest instructions on how to configure eXist support in lt oXygen gt can be found on our website http www oxygenxml com doc ug oxygenEclipse native xml database support htmltconfigure exist datasource The eXist database server versions supported by lt oXygen gt are 1 0 1 1 1 2 2 1 2 4 1 2 5 and 1 3 l 2 Go to Preferences gt Data Sources In the Data Sources panel click the New button Enter a unique name for this data source and select eXist from the driver type combo box Press the Add button to add the following eXist specific files which are located in the eXist installation root dir ectory e exist jar e lib core xmldb jar 313 Working with Databases e lib core xmlrpc client 3 1 1 jar e lib core xmlrpc common 3 1 1 jar e lib core ws commons util 1 0 2 jar 4
87. Text Grid Eg Table Explorer 53 XPath Text Errors WSDL SOAP Anal Problems Console Name Value EE JOBS le a it Sa m E given5766_TAB E jobFunction3803_TAB El jobFunction3931_TAB 10 EE jobFunction4107_TAB 20 EE JOBS_JUNIT_TEST De BBX LOC VARCHAR2 NEW YORK DALLAS CHICAGO BOSTON e DEPTNO NUMBER DNAME VARCHAR2 ACCOUNTING RESEARCH 30 SALES 40 SALES x 2 EE Outline 53 Al gt fi Main menu Main toolbar Editor panel Database explorer Table explorer u 003c Writable Provides menu driven access to all the features and functions available within lt oXygen gt Provides easy access to common and frequently used functions Each icon is a button that acts as a shortcut to a related function The place where you spend most of your time reading editing applying markup and checking the validity and form of your documents Provides browsing support for the configured connections Provides table content editing support insert a new row delete a table row cell value editing export to XML file 16 Chapter 4 Editing documents Working with Unicode Unicode provides a unique number for every character no matter what the platform no matter what the program no matter what the language Unicode is an internationally recognized standard adopted by industry
88. The lt oXygen gt XML perspective is used for editing the content of your documents As majority of the work process centers around the Editor panel other panels can be hidden from view using the expand and collapse controls located on the divider bars This perspective organizes the workspace in the following panels 11 Getting started Figure 3 1 lt oXygen gt XML perspective oXygen XML personal xml Eclipse SDK QuE File Edit Navigate Search Project XML tools XML Run Window Help H HSolsSe MIVYAX OF ORK AAFA Sta OC gt amp B E Eo tS Navigator 3 fo personal xml 3 fe personal dtd E amp y 1 lt xml version 1 0 encoding UTF 8 gt am H E xhtml 2 lt DOCTYPE personnel SYSTEM personal dtd gt 3 xquery 3 gt lt personnel gt fe personal dtd 45 lt person id Big Boss gt The content of element type nami fo l xrnl 5 lt nbme gt match Family gi iven Famil personal xml fog personal xsd 2s lt family gt Boss lt family gt fe personal xsl TA Sct LA novconal erhan wml 8 lt email gt chiefloxygenxml com lt email gt ate Model view 3 Attributes view 9 lt link subordinates one worker two worker three worker four worke 10 lt person gt SES 11 lt person id one worker gt e lt name 12 lt name gt Content element only 13 lt family gt Worker lt family gt 14 lt given gt
89. They are stored in frameworksDir xmlspec templates folder and they can be used for easily creating an XMLSpec These templates are available when creating new documents from templates XMLSpec New Document New XMLSpec document Catalogs The default catalog is stored in frameworks xmlspec catalog xml Transformation Scenarios The following default transformation scenarios are available e XMLSpec PDF transforms an XMLSpec document into PDF document e XMLSpec HTML transforms an XMLSpec document into HTML document e XMLSpec HTML Diff produces color coded HTML from diff markup XMLSpec HTML Slices produces chunked HTML specifications The FO document type FO describes the formatting of XML data for output to screen paper or other media 132 Predefined document types Association rules A file is considered to be an FO document when the it s namespace is http www w3 org 1999 XSL Format Schema FO documents use a XML Schema located in frameworks fo xsd fo xsd where frameworks is a subdirectory of the lt oXygen gt install directory Author extensions Transformation Scenarios The following default transformation scenarios are available FO PDF transforms an FO document into PDF document The EAD document type EAD Document Type Definition DTD is a standard for encoding archival finding aids using Extensible Markup Language XML The standard is maintained in the Net
90. Type dialog for the SDF framework then choose the Transformation tab Click on the New In the Edit Scenario dialog fill the following fields Name The name of the transformation scenario Enter SDF to HTML XSL URL frameworks sdf xsl sdf xsl Transformer Saxon 9B Change to the Output tab Change the fields Save as S cfd cfn html This means the transformation output file will have the name of the XML file and the html extension and will be placed in the same directory Open in browser Enable this option Saved file Enable this checkbox 181 lt oXygen gt XML Editor Developer Guide Figure 7 29 Configuring a transformation scenario Edit scenario zA Scenario Name SDF to HTML XSLT FO Processor Output XML URL currentFileURL x a B YSL URL frameworks sdf xsl sdf xsl x e B a B More about currentFileURL use xml stylesheet declaration Transformer Saxon8B v Additional XSLT stylesheets 0 Now the scenario is listed in the Transformation tab Figure 7 30 The transformation tab Schema Classpath Author Templates Catalogs Transformation Extensions Scenarios that apply to XML files SDF to HTML To test the transformation scenario we created open the SDF XML sample from the Example Files Listings Click on the O Apply Transformation Scenario button The Configure Transformation Dialog is displayed Its
91. Unzip the downloaded zip archive in the dropins subdirectory of the Eclipse install directory 3 Restart Eclipse Eclipse should display an entry com oxygenxml author 10 3 0 in the list available from Window gt Preferences gt Plug in Development gt Target Platform Starting lt oXygen gt XML Author plugin The lt oXygen gt XML Author plugin will be activated automatically by the Eclipse platform when you use one of the lt oXygen gt wizards to create an XML project or document when you open or create a document associated with lt oXygen gt or when accessing the lt oXygen gt Preferences Obtaining and registering a license key The lt oXygen gt XML Author is not free software and requires a license in order to enable the application For demonstration and evaluation purposes a time limited license is available upon request from the lt oXygen gt http www oxygenxml com register html web site This license is supplied at no cost for a period of 30 days from date of issue During this period the lt oXygen gt XML Author is fully functional enabling you to test all aspects of the application Thereafter the application is disabled and a permanent license must be purchased in order to use the ap plication For special circumstances if a trial period of greater than 30 days is required please contact lt support oxygenxml com gt All licenses are obtained from the lt oXygen gt web site http www oxygenxml co
92. Xsltproc The XSLT processor is included into the distribution kit of the stand alone version for Windows and Mac OS X Because there are differences between different Linux distributions on Linux you must install Libxsit on your machine as a separate application and set the PATH variable to contain the Xs tproc executable 288 Transforming documents MSXML 3 0 4 0 MSXML NET If you do not have the Libxslt library already installed you should copy the following files from lt oXygen gt stand alone installation directory to root of the com oxygenxml editor_10 3 0 plugin e Windows xsltproc exe zlib1 d11 1ibxs1t d11 1ibxm12 d11 libexslt dll iconv dll e Linux xsltproc libexslt so 0 libxslt so 1 libxsm12 so0 2 e Mac OSX xsltproc mac libexslt libxslt libxml The Xsltproc processor can be configured from the XSLTPROC options page Note Known problem file paths containing spaces are not handled correctly in the LIBXML processor For example the built in XML catalog files of the predefined document types DocBook TEI DITA etc are not handled by LIBXML if lt oXygen gt is installed in the default location on Windows C Program Files because the built in XML catalog files are stored in the frameworks subdirectory of the installation directory which in this case contains at least a space character MSXML 3 0 4 0 http msdn microsoft com xml is available only on Windows 2000 Windows NT and Win
93. a URI reference at document transformation pointing to a resource on a remote Web server to a local copy of the same resource If a match is found then lt oXygen gt will use the local copy of the resource instead of the remote one This enables the XML author to work on his XML project without Internet access or when the connection is slow and waiting until the remote resource is accessed and fetched becomes unacceptable Also XML catalogs make documents machine independent so that they can be shared by many developers by modifying only the XML catalog mappings related to the shared documents lt oXygen gt supports any XML catalog file that conforms to one of e the OASIS XML Catalogs Committee Specification v1 1 http www oasis open org committees download php 14809 xml catalogs html e the OASIS Technical Resolution 9401 1997 http www oasis open org specs a401 htm including the plain text flavor described in that resolution The version 1 1 of the OASIS XML Catalog specification introduces the possibility to map a system ID a public ID or a URI to a local copy using only a suffix of the ID or URI used in the actual document This is done using the new catalog elements systemSuffix http www oasis open org committees download php 14809 xml catalogs html s systemsuffix and uriSuffix http www oasis open org committees download php 14809 xml catalogs html s urisuffix An XML catalog can be used also to map a W3C XML Schema specifi
94. a reference to the Op tionsStorage can be obtained by calling the get Opt ionsStorage method from the author access The same object can be used to register Opt ionListener listeners An option listener is registered in relation with an option key and will be notified about the value changes of that option 187 lt oXygen gt XML Editor Developer Guide An AuthorListener can be used if events related to the Author document modifications are of interest The listener can be added to the AuthorDocumentController A reference to the document controller is returned by the getDocumentController method from the author access The document controller can also be used to perform operations involving document modifications To provide access to Author editor component related functionality and informations the author access has a reference to the AuthorEditorAccess that can be obtained when calling the getEditorAccess method At this level AuthorMouseListener and AuthorCaretListener can be added which will be notified about mouse and caret events occurring in the Author editor page The deactivation event is received when another framework is activated for the same document the user switches to another editor page or the editor is closed The deact ivate method is typically used to unregister the listeners pre viously added on the act ivate method and to perform other actions For example options related to the deactivated author extension
95. an a attribute with the type ID af public class IDElementLocator extends ElementLocator pk Class able to tell if a given attribute is of type ID Ef private IDTypeVerifier idVerifier Constructor param idVerifier It tells us if an attribute is of type ID param link The link used to identify an element x7 public IDElementLocator IDTypeVerifier idVerifier String link super link this idVerifier idVerifier see ro sync ecss extensions api link ElementLocator endElement java lang String java lang String java lang String xf public void endElement String uri String localName String name Nothing to do see ro sync ecss extensions api link ElementLocator startElement java lang String java lang String java lang String ro sync ecss extensions api link Attr public boolean startElement String uri String localName String name Attr atts boolean elementFound false for int i 0 i lt atts length i if link equals atts i getValue if xml id equals atts i getQName xml id attribute elementFound true else 257 lt oXygen gt XML Editor Developer Guide check if attribute has ID type String attrLocalName ExtensionUtil getLocalName atts i getQName String attrUri atts i getNamespace if idVerifier hasIDType localNam
96. application This is as easy as unzipping an archive directly in the frameworks subfolder of the application s install folder In case the edited XML document does not belong to one of the document types set up in Preferences you can specify the CSS files to be used by inserting an xml stylesheet processing instructions You can insert the processing instruction by editing the document or by using the 54 Associate XSLT CSS stylesheet action The syntax of such a processing instruction is lt xml stylesheet type text css media media type title title href URL alternate yes no gt You can read more about associating a CSS to a document the syntax and the use of the xml stylesheet processing in struction in the section Author CSS Settings When the document has no CSS association or the referred stylesheet files cannot be loaded a default one will be used A warning message will also be displayed at the beginning of the document presenting the reason why the CSS cannot be loaded H Note In general it is recommended to associate a CSS while in Text mode so that the whitespace normalization rules specified in the stylesheets will be properly applied when switching to Author mode 83 Authoring in the tagless editor Figure 5 2 Document with no CSS association default rendering document element Cannot load the associated CSS file s The error was No CSS file specified Please switch to the text mode and
97. applied when the Enable DTD processing option from the Document Type Detection option page is enabled 116 Predefined document types Schema The default schema used for DITA Map documents is located in frameworks dita DITA OT dtd map dtd where frameworks is a subdirectory of the lt oXygen gt install directory Author extensions The CSS file used for rendering DocBook content is located in frameworks dita css dita css Specific actions for DITA Map documents are E Insert Topic Reference inserts a reference to a topic You can find more information about this action here El Insert Topic Heading inserts a topic heading You can find more information about this action here El Insert Topic Group inserts a topic group You can find more information about this action here AC Insert Content Reference inserts a content reference at the caret position See more about this action here 112 insert Table opens a dialog that allows you to configure the relationship table to be inserted Figure 6 9 Insert Relationship Table Dialog Insert Table Y Title Table Title Table Size Rows 3 S Columns 2 Generate table header The dialog allows the user to configure the number of rows and columns of the relationship table if the header will be generated and if the title will be added Insert Row inserts a new table row with empty cells The action is available when the car
98. as a shortcut to a related function The editor pane The editor pane is where you edit your documents opened or created by the lt oXygen gt Eclipse plugin You know the document is associated with lt oXygen gt from the special icon displayed in the editor s title bar which has the same graphic pattern painted with different colors for different types of documents This pane has three different modes of displaying and editing the content of a document available as different tabs at the bottom left margin of the editor panel text editor grid editor CSS based tagless editor Navigating between them is as easy as pressing Ctrl Page Up for switching to the next tab to the left and Ctrl Page Down for switching to the next tab to the right 12 Getting started The Outline view The outline view has the following functions XML document overview outliner filters modification follow up doc ument structure change document tag selection Figure 3 2 The Outline View DE Outline X lt 2 a z T zo m personnel Al person Big Boss name O far Insert before Insert after email Edit attributes link giv email o p n ink Ga I Toggle Comment person or name fy Copy O far Y cut O giv Delete email link Bi amp Expand all 2 0 person ty Collapse All name email two oxygenxml com link Big Boss o email three oxygenxml com link
99. blockquote E calloutlist E caution E citation E citerefentry E citetitle E classname iv EJ Presents a list of all defined elements that you can insert at the current caret position according to the schema used for content completion Double clicking any of the listed elements will insert that element in the edited document All elements from a sequence are presented but the invalid proposals which cannot be inserted in the current context are grayed out The Entities View This view displays a list with all entities declared in the current document as well as built in ones Double clicking one of the entities will insert it at the current cursor position 36 Editing documents Figure 4 22 The Entities View Elt lt E oxy oxygen XML Editor quot Validating XML documents The W3C XML specification states that a program should not continue to process an XML document if it finds a val idation error The reason is that XML software should be easy to write and that all XML documents should be com patible With HTML it was possible to create documents with lots of errors like when you forget an end tag One of the main reasons that HTML browsers are so big and incompatible is that they have their own ways to figure out what a document should look like when they encounter an HTML error With XML this should not be possible However when creating an XML document e
100. configure a simple list of attribute name value pairs which when present on an element in the input will remove it from output In the Advanced Tab you can specify advanced options for the transformation 73 Editing documents Figure 4 51 Advanced settings tab Edit DITA Scenario Scenario Type XHTML Build target Ant Home Custom Java Home Custom JVM Arguments Name faskbook XHTML 1 Parameters Filters Advanced Output Custom build file Default D projects eXml tools ant Default C Program Files x86 Java jdk1 6 0_06 jre Libraries 3 You have several parameters that you can specify here Custom build file Build target Ant Home Java Home JVM Arguments If you use a custom DITA OT build file you can specify the path to the customized build file If empty the build xml file from the dita dir directory configured in the Parameters tab will be used You can specify a build target to the build file By default no target is necessary and the default init target is used You can specify a custom ANT installation to run the DITA Map transformation By default it is the ANT installation bundled with lt oXygen gt You can specify a custom Java Virtual Machine to run the ANT transformation By default it is the Java Virtual Machine used by lt oXygen gt This parameter allows you to set specific parameters to the Java Virtual Machine used by
101. display is table row entry display table row The name of the individual test and its result They are cells in the results table with display set to table cell Padding and a border are added to emphasize the table grid 137 lt oXygen gt XML Editor Developer Guide test_name passed display table cell border 1lpx solid green padding 20px passed font weight bold The full content of the CSS file test_report css is report display block margin lem description display block background color EEEEFF color black line display block important display inline font weight bold title display block font size 2em results display table margin 2em border 1lpx solid green entry display table row test_name passed display table cell border 1lpx solid green padding 20px 138 lt oXygen gt XML Editor Developer Guide passed font weight bold Figure 7 2 A document report description line important report opened in the Author xmi stylesheet type text css href test reports css Automated test report This is the report of the test automatically ran Each test suite is ran at 20 00h each day Please bcheck 4 the failed ones Database connection test XSLT transformation test DTD validation test false Text Grid Author The XML Instance Template Now we have the XML Schema and the CS
102. documents composing the OOXML package directly through the archive support Figure 6 14 Editing OOXML packages in lt oXygen gt EB Microsoft 20Word 20Document docx 3 a 5 EH Microsoft Word Document docx A amp _rels H E docProps word H E _rels fe document xml 3 lt xml version 1 0 encoding UTF 8 standali lt u document ive http schemas openxral rn schemas microsoft com offic ttp schemas openxmlformats o ttp schemas openxmlformats o m lt gt Text Grid Author 127 Predefined document types Association rules A file is considered to be an OOXML document when it has one of the following namespaces e http schemas openxmlformats org wordprocessingml 2006 main e http schemas openxmlformats org package 2006 content types e http schemas openxmlformats org drawingm1 2006 main e http schemas openxmlformats org package 2006 metadata core properties http schemas openxmlformats org package 2006 relationships e http schemas openxmlformats org presentationml 2006 main e http schemas openxmlformats org officeDocument 2006 custom properties e http schemas openxmlformats org officeDocument 2006 extended properties e http schemas openxmlformats org spreadsheetm1 2006 main e http schemas openxmlformats org drawingml 2006 chart Schema The NVDL schema used for these documents is located in frameworks ooxml schemas main nvdl where fra
103. during the split Check if the attribute specified by QName can be considered as a valid attribute to copy when the element is split param attrQName The attribute qualified name 206 lt oXygen gt XML Editor Developer Guide param element Th lement return true if the attribute should be copied when Split is performed EJ boolean copyAttributeOnSplit String attrQName AuthorElement element i Tip The ro sync ecss extensions commons id DefaultU niqueAttributesRecognizer class is an implementation of the interface which can be extended by your customization to provide easy assignation of IDs in your framework You can also check out the DITA and Docbook implementations of ro sync ecss exten sions api UniqueAttributesRecognizer to see how they were implemented and connected to the extensions bundle Customizing the default CSS of a document type The easiest way of customizing the default CSS stylesheet of a document type is to create a new CSS stylesheet in the same folder as the customized one import the customized CSS stylesheet and set the new stylesheet as the default CSS of the document type For example let us customize the default CSS for DITA documents by changing the background color of the task and topic elements to red First we create a new CSS stylesheet called my_dita css in the folder frameworks dita css_classed where the default stylesheet called dita css is located
104. element The Append child submenu lists the names of all the elements which are allowed by the schema associated with the current document as child of the current element The effect is the same as typing the lt character and selecting an element name from the popup menu offered by the content completion assistant The Insert before and Insert after submenus list the elements which are allowed by the schema associated with the current document as siblings of the current element inserted immediately before respectively after the current element The Cut Copy Paste and Delete items of the popup menu execute the same actions as the Edit menu items with the same name on the elements currently selected in the stripe Cut Copy Paste Delete The styles of the copied content is preserved by the Cut and Copy operations for example the display block property or the tabular format of the data from a set of table cells The Paste before Paste after and Paste as Child actions allow the user to insert an well formed element before after or as a child of the currently selected element The Toggle Comment item of the outline tree popup menu encloses the currently selected element of the top stripe in an XML comment if the element is not commented or removes the comment if it is commented Using the Rename Element action the selected element and the elements that have the same name as the current element can be renamed according with the options from the Ren
105. extensions api DnDHandler You can choose from three interfaces to implement depending on whether you are using the framework with the lt oXygen gt Eclipse plugin or the standalone version or if you want to add the handler for the Text or Author pages 194 lt oXygen gt XML Editor Developer Guide Table 7 2 Interfaces for the DnD listener Interface Description ro sync exml editor xmleditor pageau Receives callbacks from the lt oXygen gt standalone application thor AuthorCustomDnDHandler for Drag And Drop in Author com oxygenxml editor editors au Receives callbacks from the lt oXygen gt Eclipse plugin for thor AuthorDnDListener Drag And Drop in Author com oxygenxml editor editors TextDnD Receives callbacks from the lt oXygen gt Eclipse plugin for Listener Drag And Drop in Text Configuring a References Resolver We need to provide a handler for resolving references and obtain the content they refer In our case the element which has references is ref and the attribute indicating the referred resource is location We will have to implement a Java extension class for obtaining the referred resources Create the class simple documentation framework ReferencesResolver This class must implement the ro sync ecss extensions api AuthorReferenceResolver interface import ro sync ecss extensions api AuthorReferenceResolver import ro sync ecss extensions api AuthorAccess import ro sync ecss extensi
106. files with Oxygen XML Editor Author in the installer panel called File Associations This installer panel displays a warning above the XML file association that XML files will not be viewed correctly in Internet Explorer if you associate them with Oxygen XML Editor Author For viewing XML files in Internet Explorer again you have to associate XML files with IE by right clicking on an XML file in Windows Explorer selecting Open With gt Choose Program selecting IE in the list of applications and checking the checkbox Always use the selected program Also you have to run the following command from a command line wscript revert vbs where revert vbs is a text file with the following content function revert Set objShell CreateObject WScript Shell objShell RegWrite HKCR xml xmlfile REG_SZ objShell RegWrite HKCR xml Content Type text xml REG_SZ end function revert 16 2 I associated the ext extension with lt oXygen gt in Eclipse Why does an ext file opened with the Oxygen XML Editor not have syntax highlight Associating an extension with lt oXygen gt in Eclipse 3 4 requires three steps 1 Associate the ext extension with the Oxygen XML Editor go to Windows gt Preferences gt General gt Editors gt File Associations add ext to the list of file types select ext in the list by clicking on it add Oxygen XML Editor to the list of Associated editors and make it the default e
107. followed by the port number used to communicate with lt oXygen gt XML Author instances Important The license folder must contain a text file called License txt which must contain a single floating license key corresponding to the set of purchased floating licenses If you have more than one floating license key for the same lt oXygen gt version obtained from different purchases please contact us at support oxy genxml com to merge your license keys into a single one After the floating license server is set up the lt oXygen gt XML Author application can be started and configured to request a license from it Procedure 2 7 Request a floating license from the license server I 2 Start Eclipse Go to Window gt Preferences gt oXygen gt Register The license dialog is displayed Check the Use a license server checkbox Fill in the Host text field with the host name or IP address of the license server Fill in the Port text field with the port number used for communicating with the license server Default is 12346 Click the OK button If the maximum number of available licenses was not exceeded a license key is received from the floating license server and registered in lt oXygen gt XML Author The license details are displayed in the About dialog opened from menu Help If the maximum number of licenses was exceeded a warning dialog will pop up letting the user know about the problem Installation
108. from menu Window Preferences gt Author Data Sources 378 Configuring the application Configuration of Data Sources Here you can configure data sources and connections to relational databases as well as native XML databases You can check the list of drivers http www oxygenxml com database_drivers html available for the major database servers Figure 15 49 The Data Sources preferences panel Data Sources Name Type Al JDBC ODEC Bridge JDBC MySQL JDBC E ORACLE Oracle TAMINO Tamino DB2 DB2 SQLSERVER SQLServer EXIST exist lt Mm gt New Opens the Data Sources Drivers dialog allowing you to configure a new driver Figure 15 50 The Data Sources Drivers dialog Data Sources Drivers Name MySQL Type Generic JDBC iv Driver class org gjt mm mysql Driver x Driver files File E Drivers mysql mysql jar Drivers found 1 Name Allows you to name the new data source driver Type Select data source type from the supported driver types Help Open the User Manual at the list of the sections where the configuration of supported data sources is explained and the URLs for downloading the database drivers are spe cified Driver Class Provide the Driver Class for the data source driver Add Adds the driver class library 379 Configuring the application Remove Removes driver class library from the list Detect Detects driver c
109. gt Validate documents during parse phase F Do not resolve external definitions during parse phase Strip non significant whitespaces Show time information Start transformation in this mode The options of the MSXML 3 0 and 4 0 processors are the same as the ones available in the command line for the MSXML processors http msdn microsoft com library default asp url library en us dnxml html msxsl asp Validate documents during parse If checked and either the source or style sheet document has a DTD or schema phase against which its content should be checked validation is performed Do not resolve external definitions By default MSXSL instructs the parser to resolve external definitions such as during parse phase document type definition DTD external subsets or external entity references when parsing the source and style sheet documents If this option is checked the resolution is disabled Strip non significant whitespaces If checked strip non significant white space from the input XML document during the load phase Enabling this option can lower memory usage and improve transformation performance while in most cases creating equivalent output Show time information If checked the relative speed of various transformation steps can be measured time to load parse and build the input document time to load parse and build the style sheet document time to compile the style sheet in preparation for the transformati
110. gt Author Editor Syntax Highlight Elements by Prefix 354 Configuring the application Figure 15 22 The Elements by Prefix preferences panel Elements by Prefix Elements by Prefix xsl Color xslt Remove Draw only the prefix with a separate color One row of the table contains the association between a namespace prefix and the color used to mark start tags and end tags in that prefix Note that the marking mechanism does not look at the namespace bound to that prefix If the prefix is bound to different namespaces in different XML elements of the same file all the tags with the prefix will be marked with the same color One can choose that only the prefix to be displayed in the chosen color by checking the Draw only the prefix with a separate color option Open Save The Open Save preferences panel is opened from menu Window gt Preferences gt Author Editor Open Save Figure 15 23 The Open Save preferences panel Open Save m v Open Format document when longest line exceeds 5000 O Always format O Never Format Always ask Save C Check errors on save C Save all files before transformation or validation Performance C Clear undo buffer on save Format document when long lines Specifies the default behavior when the longest line of a document exceeds the exceeds specified limit You can choose between e Always format e Never format e Always ask 3
111. happens if the span of the cell element is specified using the colspan and rowspan attributes just like in HTML or cols and rows attributes For instance the following XML code lt table gt lt UE gt lt td gt Cell 1 1 lt td gt lt td gt Cell 1 2 lt td gt lt td gt Cell 1 3 lt td gt lt tr gt lt tr gt lt td gt Cell 2 1 lt td gt lt td colspan 2 rowspan 2 gt Cell spanning 2 rows and 2 columns lt td gt lt tr gt lt tr gt lt td gt Cell 3 1 lt td gt lt tr gt lt table gt using the CSS table display table tr display table row td 146 lt oXygen gt XML Editor Developer Guide display table cell is rendered correctly Table 7 1 Built in Cell Spanning Cell 1 1 Cell 1 2 Cell 1 3 Cell 2 1 Cell spanning 2 rows and 2 columns Cell 3 1 Because in our schema the t d tag has the attributes row_span and column_span that are not automatically recognized by lt oXygen gt Author we will implement a Java extension which will provide information about the cell spanning See the section Configuring a Table Cell Span Provider Because the column widths are specified by the attributes width of the elements cust omco1 that are not automatically recognized by lt oXygen gt Author it is necessary to implement a Java extension which will provide information about the column widths See the section Configuring a Table Column Width Provider
112. i lt atts length i if xpointerElement equals atts i getValue if idVerifier hasIDType localName uri atts i getQName atts i getNamespace xpointerPathDepth startElementDepth xpointerPath length 1 break if xpointerPathDepth check if xpoint linkLocated true try int xpointerldx int stackIdx c startElementDepth er path matches with the current element path r xpointerPath length 1 n va ry int stopldx st while xpointerl int xpointerln urrentElementIndexStack size 1 artWithElementID 1 0 dx gt stopldx amp amp stackIdx gt 0 dex Integer parselnt xpointerPath xpointerldx int currentElementIndex Integer currentElementIndexStack get stackIdx intValue if xpointerIndex currentElementIndex linkLocated false break xpointerldx stackldx catch NumberFormatException e logger warn e e return linkLocated r 256 lt oXygen gt XML Editor Developer Guide IDElementLocator java package ro sync ecss extensions commons import ro sync ecss extensions api link Attr import ro sync ecss extensions api link ElementLocator import ro sync ecss extensions api link ExtensionUtil import ro sync ecss extensions api link IDTypeVerifier pk Implementation of an ElementLocator that treats the link as the value of
113. important type xs string gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs element name results gt lt xs complexType gt lt xs sequence maxOccurs unbounded gt lt xs element name entry gt lt xs complexType gt lt xs sequence gt lt xs element name test_name type xs string gt lt xs element name passed 135 lt oXygen gt XML Editor Developer Guide type xs boolean gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs schema gt Our use case is that several users are testing a system and must send report results to a content management system The Author customization should provide a visual editor for this kind of documents Writing the CSS We have to define a set of rules describing how the XML document is to be rendered into the lt oXygen gt Author This is done using Cascading Style Sheets or CSS on short CSS is a language used to describe how an HTML or XML document should be formatted by a browser CSS is widely used in the majority of websites Note For more information regarding CSS please read the specification http www w3 org Style CSS A tutorial is available here http www w3schools com css css_intro asp The elements from an XML document are displayed in the layout as a
114. in one of the fol lowing contexts e task context one of the current element ancestors is a task In this case an empty task will be inserted after the last child of the first concept s ancestor e task context the current element is a task In this case an empty task will be inserted at current caret position e topic context the current element is a dita s topic An empty task will be inserted at current caret position 111 Predefined document types e topic context one of the current element ancestors is a dita s topic An empty task will be inserted after the last child of the first ancestor that is a topic SP insert Reference inserts a new reference in the document A reference is a top level container for a reference topic This action is available in one of the following contexts e reference context one of the current element ancestors is a reference In this case an empty reference will be in serted after the last child of the first ancestor that is a reference e reference or dita context the current element is either a dita or a reference An empty reference will be inserted at caret position e topic context the current element is topic descendant of dita element An empty reference will be inserted at caret position e topic context the current element is descendant of dita element and descendant of topic element An empty reference will be inserted after the last child of the first ancestor that is a to
115. in the skeleton XML document created in a new editor panel when the OK button is pressed Add first Choice particle If it is selected the first element of an xs choice schema element is generated in the skeleton XML document created in a new editor panel when the OK button is pressed 19 Editing documents Figure 4 3 The Create an XML Document DTD Tab New XML Document Customize document XML schema DTD RNG RNC NRL NYDL URL file E samples frameworks docbook 4 4 dtd docbookx dtd iv a use relative paths Root Element article lv PublicID Description The Article element is a general purpose container for articles The content model is both quite complex and rather loose in order to accommodate the wide range of possible Article structures Although changes to the Article element have been discussed on several occasions no better model has been presented An Article is composed of a header and a Add optional content Add first Choice particle Complete the dialog as follows System ID Specifies the location of a Document Type Definition DTD Document Root Populated from the elements defined in the specified DTD enables selection of the element to be used as document root Public ID Specifies the PUBLIC identifier declared in the Prolog 20 Editing documents Figure 4 4 The Create an XML Document Relax NG Tab New XML Document cle C
116. insert a new element Add action or delete an existing one Delete action Delete action can be invoked on a selected table entry by pressing DEL or BACKSPACE The attributes of an element can be edited also in place in the editor panel by pressing the shortcut Alt Enter which pops up a small window with the same content of the Attributes view In the initial form of the popup only the two text fields Name and Value are displayed the list of all the possible attributes is collapsed Figure 5 7 Edit attributes in place Element imagedata Name Value A i tz 0 The small arrow button next to the Cancel button expands the list of possible attributes allowed by the schema of the document as in the Attributes panel 87 Authoring in the tagless editor Figure 5 8 Edit attributes in place full version Element imagedata Name fileref Value lake jpeg y y A Attribute Value width contentwidth depth contentdepth align valign scale scalefit entityref fileref flake jpeg x format srccredit id The Name field auto completes the name of the attribute the complete name of the attribute is suggested based on the prefix already typed in the field as the user types in the field Entities view This view displays a list with all entities declared in the current document as well as built in ones Double clicking one of the entities will insert it at the current cur
117. is driven by a CSS stylesheet which conforms to the version 2 1 of the CSS specification http www w3 org TR CSS21 from the W3C consortium Also some CSS 3 features like namespaces and custom extensions of the CSS specification are supported The CSS specification is convenient for driving the tagless rendering of XML documents as it is an open standard maintained by the W3C consortium A stylesheet conforming to this specification is very easy to develop and edit in lt oXygen gt as it is a plain text file with a simple syntax 82 Authoring in the tagless editor The association of such a stylesheet with an XML document is also straightforward an xml stylesheet XML processing instruction with the attribute type text css must be inserted at the beginning of the XML document If it is an XHTML document that is the root element is a html element there is a second method for the association of a CSS stylesheet an element link with the href and type attributes in the head child element of the html element as specified in the CSS specification http www w3 org TR REC htm140 present styles html h 14 3 2 There are two main types of users of the Author mode developers and content authors A developer is a technical person with advanced XML knowledge who defines the framework for authoring XML documents in the tagless editor Once the framework is created or edited by the developer it is distributed as a deliverable component ready to p
118. is opened from menu Window Preferences gt Author Data Sources Table Filters Here you can choose which of the table types will be displayed in the Database Explorer view Figure 15 53 Table Filters Preferences Page Table Filters Table types shown in Database Explorer ALIAS GLOBAL TEMPORARY LOCAL TEMPORARY SYNONYM O SYSTEM TABLE TABLE VIEW 2 Note Table types filtering depends on the driver implementation Archive The Archive preferences panel is opened from menu Window Preferences gt Author Archive Figure 15 54 The Archive preferences panel Archive 27 Archive backup options No backup O Single file backup O Incremental backup C Show archive backup dialog Archive types Extensions Type Description zip zip ZIP archive jar ear war jar Java archive odb odf odg odm odp ods odt otg odf Open Document Format ODF docx pptx xlsx dotx docm dotm ppt zip Office Open XML OOXML epub odf IDPF The following options are available in the Archive preferences page 383 Configuring the application The following archive backup op tions are considered default options for backup in the Archive Backup dialog Show archive backup dialog Archive types table No backup Single file backup Incremental backup Perform no backup of the archive before save This means that the file will be saved directly in the archive without
119. it Note that this action works only if both cells have the same column span m Split Cell To The Left splits the cell from current caret position in two inserting a new empty table cell to the left Note that this action works only if the current cell spans over more than one column The column span of the source cell will be decreased with one at Split Cell To The Right splits the cell from current caret position in two inserting a new empty table cell to the right Note that this action works only if the current cell spans over more than one column The column span of the source cell will be decreased with one Las Split Cell Above splits the cell from current caret position in two inserting a new empty table cell above Note that this action works only if the current cell spans over more than one row The row span of the source cell will be decreased with one Split Cell Below splits the cell from current caret position in two inserting a new empty table cell below Note that this action works only if the current cell spans over more than one row The row span of the source cell will be decreased with one Generate IDs allows you to generate ID for the current selection or for the element at caret position if the element appears in ID Generation dialog 124 Predefined document types Figure 6 13 ID generation dialog ID Pattern StlocalName _S uuid Element name div In
120. leaders The Unicode is required by modern standards such as XML Java ECMAScript JavaScript LDAP CORBA 3 0 WML etc and is the official way to implement ISO IEC 10646 It is supported in many operating systems all modern browsers and many other products The emergence of the Unicode Standard and the availability of tools supporting it are among the most significant recent global software technology trends Incorporating Unicode into client server or multi tiered applications and websites offers significant cost savings over the use of legacy character sets As a modern XML Editor lt oXygen gt provides support for the Unicode standard enabling your XML application to be targeted across multiple platforms languages and countries without re engineering Internally the lt oXygen gt XML Editor uses 16bit characters covering the Unicode Character set Opening and saving Unicode documents On loading documents lt oXygen gt receives the encoding of the document from the Eclipse platform This is then used to instruct the Java Encoder to load support for and save using the code chart specified While in most cases you will use UTF 8 simply changing the encoding name will cause the file to be saved using the new encoding The appendix Unicode Character Encoding provides a matrix that matches common names with Java Names It also explains what you should type in the XML prolog to cause the document to be saved as the required encoding
121. line before the word that breaks the limit and indent the next line This will minimize the need of reformatting the document If checked it indents the new line introduced when pressing Enter If checked it inserts a new indented line between start and end tag If checked it detects the line width automatically when the document is opened When checked the Format and indent the document on open operation will format and indent the document before opening it in the editor panel Defines the point at which the Format and Indent Pretty Print function will perform hard line wrapping So if set to 100 Pretty Print will wrap lines at the 100th space inclusive of white spaces tags and elements If checked the undo buffer is cleared The undo action can now only undo the Format and Indent action The XML Format preferences panel is opened from menu Window gt Preferences gt Author Editor Format XML Figure 15 13 The XML format preferences panel XML Format and Indent XML fe Preserve empty lines C Expand empty elements O Preserve text as it is O Sort attributes Preserve line breaks in attributes _ Add space before slash in empty elements C Break line before attribute s name Preserve space elements XPath Strip space elements XPath xsl text address literallayout programlisting screen screenshot synopsis pre Indent Indent when typing in preserve space elements Indent on paste
122. lt oXygen gt XML Author 10 3 User Manual for Eclipse SyncRO Soft Ltd lt oXygen gt XML Author 10 3 User Manual for Eclipse SyncRO Soft Ltd Copyright 2002 2009 SyncRO Soft Ltd All Rights Reserved Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks Where those designations appear in this book and SyncRO Soft Ltd was aware of a trademark claim the designations have been printed in caps or initial caps While every precaution has been taken in the preparation of this book the publisher assumes no responsibility for errors or omissions or for damages resulting from the use of the information contained herein Third party software components are distributed in the lt oXygen gt XML Author installation packages including the Java Runtime Environment JRE DocBook DTD and stylesheets This product includes software developed by the Apache Software Foundation http www apache org http www apache org the Apache FOP Xerces XML Parser and Xalan XSLT These products are not the property of SyncRO Soft Ltd To the best knowledge of SyncRO Soft Ltd owners of the aforesaid products granted permission to copy distribute and or modify the software and its documents under the terms of the Apache Software License Version 1 1 Other packages are used under the GNU Lesser General Public License Users are advised that the JRE is provided as a free software but in accorda
123. lt person id two worker gt lt person id three wvorker gt lt name gt lt family gt WVorker lt family gt lt given gt Three lt given gt lt name gt lt email gt threefoxygenxml com lt email gt lt link manager Big Boss gt lt person gt z lt person id four vorker gt To toggle the folded state of an element click on the special mark displayed in the left part of the document editor next to the start tag of that element or click on the action r Toggle fold Ctrl Alt Y available from the context menu Other menu actions related to folding of XML elements are available from the context menu of the current editor Document Folding Close Other Folds Ctrl NumPad Fold all the sections except the current element 47 Editing documents Document Folding Bes Collapse Child Folds Fold the sections indented with one level inside the current element Document Folding E5 Expand Child Folds Ctrl NumPad Cmd NumPad Unfold the sections in dented with one level inside the current element Document Folding lt 5 Expand All Ctrl NumPad Cmd NumPad on Mac OS Unfold all the sections inside the current element Document Folding gt Toggle Fold Alt Shift Y Cmd Alt Y on Mac OS Toggles the state of the current fold You can use folding by clicking on the special marks displayed in the left part of the document editor Outline View The Outline view has the following av
124. manager view You can use this action to refresh and update titles for all referred topics For complex operations which cannot be performed in the simplified DITA Maps view like editing a relationship table you can open the map in the main editing area See more about editing a map in the main edit area here The additional edit toolbar can be shown by clicking the Show Hide additional toolbar expand button located on the general toolbar The following edit actions can be performed on an opened DITA Map 4 Insert Topic Reference Ed Insert Topic Heading El Insert Topic Group Edit properties Inserts a reference to a topic file See more about this action here Inserts a topic heading See more about this action here Inserts a topic group See more about this action here Edit the properties of a selected node See more about this action here 65 Editing documents Edit other attributes X Delete Move Up Y Move Down Promote Demote Edits all the attributes of a selected node A dialog is presented allowing the user to see and edit the attributes of the selected node See here for more details about editing attributes Deletes the selected nodes Moves the selected nodes in front of their respective previous siblings Moves the selected nodes after their next respective siblings Moves the selected nodes after their respective parents as a siblings Moves the selected nodes as chi
125. method is used Inclusive with comments If selected the inclusive with comments canonicalization method is used XPath The XPath expression provides the fragments of the XML document to be signed ID Provides ID of the XML element to be signed 332 Digital signature Envelope If selected the enveloping signature is used Detached If selected the detached signature is used Output Specifies the output file path where the signed XML document will be saved Open in editor If checked the output file will be opened in the editor Verifying the signature The user can select a file to verify its signature in the following dialog displayed by the action Verify Signature available from editor panel context menu Source Figure 13 3 Verifying signature dialog a Verify signature Input URL xml editor_6 0 0 samples personal signed xml verify signature Cancel URL Specifies the location of the document for which to verify the signature If the signature is valid a dialog displaying the name of the signer will be opened If not an error message will show details about the problem 333 Chapter 14 Text editor specific actions lt oXygen gt XML Author provides user actions common in any text editor Finding and replacing text in the current file The Find All Elements dialog The Find All Elements dialog opened with the menu entry Edit gt Find All Elements assists you in defining sea
126. new project and click the Finish button The files are organized in a XML project usually as a collection of folders They are created and deleted with the usual Eclipse actions The currently selected files associated to the lt oXygen gt pluginin the Package Explorer view can be validated against a schema of type Schematron XML Schema Relax NG NRL NVDL or a combination of the later with Schematron with one of the actions Validate and Validate With available on the Batch Validation submenu of the right click menu of the Package Explorer view This together with the logical folder support of the project allows you to group your files and validate them very easily 53 Editing documents If the resources from a linked folder in the project have been changed outside the view you can refresh the content of the folder by using the Refresh action from the contextual menu The action is also performed when selecting the linked resource and pressing F5 key You can also use drag and drop to arrange the files in logical folders but not in linked folders Also dragging and dropping files from the project tree to the editor area results in the files being opened Including document parts with Xinclude XInclude is a standard for assembling XML instances into another XML document through inclusion It enables larger documents to be dynamically created from smaller XML documents without having to physically duplicate the content of the sm
127. oasis open org docbook xml 4 3 docbookx dtd gt lt chapter gt lt title gt Getting started lt title gt lt section gt lt title gt Section title lt title gt lt para gt Para text lt para gt lt section gt lt chapter gt Main article file lt xml version 1 0 gt lt DOCTYPE article PUBLIC OASIS DTD DocBook XML V4 3 EN http www docbook org xml 4 3 docbookx dtd lt ENTITY xinclude SYSTEM frameworks docbook dtd xinclude mod gt Sxinclude A lt article gt lt title gt Install guide lt title gt 54 Editing documents lt para gt This is the install guide lt para gt lt xi include xmlns xi http www w3 org 2001 XInclude href introduction xml gt lt xi fallback gt lt para gt lt emphasis gt FIXME MISSING XINCLUDE CONTENT lt emphasis gt lt para gt lt xi fallback gt lt xi include gt lt article gt T In this example the following is of note e The DOCTYPE Decl defines an entity that references a file containing the information to add the xi namespace to certain elements defined by the DocBook DTD e The href attribute of the xi include element specifies that the introduction xml file will replace the xi include element when the document is parsed e Ifthe introduction xml file cannot be found the parse will use the value of the xi fallback element a message to FIXME If you want to include only
128. off XML tags completely when editing an XML document Key Features and Benefits The offers the following key features and benefits Multiplatform availability Windows Mac OS X Linux Non blocking operations you can perform validation and Solaris transformation operations in background Visual WYSIWYG XML editing mode based on W3C Visual DITA Map editor CSS stylesheets Closely integration of the DITA Open Toolkit for gener Support for latest versions of document frameworks ating DITA output DocBook and TEI Chapter 2 Installation This section explains platform requirements and installation procedures It also provides instructions on how to obtain and register a license key how to perform upgrades and uninstall the application if required If you need help at any point during these procedures please send email to lt support oxygenxml com gt Installation Requirements Platform Requirements Minimum run time requirements are listed below e Pentium Class Platform e 256 MB of RAM e 300 MB free disk space Operating System Tools and Environment Requirements Operating System Windows Windows 98 or later Mac OS minimum Mac OS X 10 4 UNIX Linux All versions flavors Tools Installation packages are supplied in compressed archives Ensure you have installed a suitable archive extraction utility with which to extract the archive The MD5 sum is available on the Download page http www oxygenxm
129. one Setting a Title for the CSS makes it the author s preferred stylesheet Checking the Alternate checkbox makes the CSS an alternate stylesheet oXygen Author fully implements the W3C recommendation regarding Associating Style Sheets with XML docu ments For more information see http www w3 org TR xml stylesheet http www w3 org TR REC html40 present styles html h 14 3 2 61 Editing documents XML Refactoring actions context menu of current editor XML Refactoring Surround with tag a Alt Shift E Cmd Alt E on Mac OS Selected Text in the editor is marked with the specified start and end tags context menu of current editor XML Refactoring Surround with last lt tag gt oa Alt Shift Cmd Alt on Mac OS Selected Text in the editor is marked with start and end tags of the last Surround in action context menu of current editor XML Refactoring Rename element amp Alt Shift R Cmd Alt R on Mac OS The element from the caret position and the elements that have the same name as the current element can be renamed according with the options from the Rename dialog context menu of current editor XML Refactoring Rename prefix lt amp The prefix of the element from the caret position and the elements that have the same prefix as the current element can be renamed according with the options from the Rename dialog Figure 4 40 Rename Prefix Dialog Rename xs http www w3 0rg 1999 XSL Tra
130. one document at a moment when the cursor must move between several marked positions A bookmark can be placed with one of the menu items available on the menu Edit Bookmarks Create or with the menu item Edit gt Bookmarks gt Bookmarks Quick Creation or with the keyboard shortcuts associated with these menu items and visible on the menu Edit gt Bookmarks A bookmark can be removed when a new bookmark is placed in the same position as an old one or with the action Edit gt Bookmarks Remove All The cursor can go to a bookmark with one of the actions available on the menu Edit gt Bookmarks Go to Position information tooltip When the caret is positioned next to an element tag a tooltip will be shown for a couple of seconds displaying the po sition of the caret relative to the current element context Here are the common situations that can be encountered e The caret is positioned before the first children of the current node 90 Authoring in the tagless editor Figure 5 12 Before first child y Position In sect3 Before title en the caret is p e The caret is positioned between the start and end of two sibling nodes Figure 5 13 Between two siblings In sect3 BP After title before para fjg e The caret is positioned after the last child of the current node Figure 5 14 After last child e The caret is positioned in an empty node Figure 5 15 Empty node The no
131. operation When checked the Format and Indent operation will add a space before the closing slash of an empty element for instance an empty br will appear as lt br gt If checked the Format and Indent Pretty Print function will break the line before the attribute s name This list contains simplified XPath expressions for the names of the elements for which the contained white spaces like blanks tabs and newlines are preserved by the Format and Indent operation exactly as before applying the operation The allowed XPath expressions are of one of the form e author e listing e chapter abstract title e xs documentation The namespace prefixes like xs in the previous example are treated as part of the element name without taking into account its binding to a namespace This list contains the names of the elements for which contiguous white spaces like blanks tabs and newlines are merged by the Format and Indent operation into one blank If checked automatic tags indentation while editing will take place for all ele ments including the ones that are excluded from Pretty Print default behaviour When unchecked indentation while editing will not take place in elements that have the xml space attribute set on preserve or are in the list of Preserve Space Elements Indent paste text corresponding to the indent settings set by the user This is useful for keeping the indent style of text copied from other document
132. or attribute 31 Editing documents value insertion makes sense Such positions are anywhere within a tag name or at the beginning of a tag name in an XML document XML Schema DTD or Relax NG full or compact syntax schema anywhere within an attribute name or at the beginning of an attribute name in any XML document with an associated schema and within attribute values or at the beginning of attribute values in XML documents where lists of possible values have been defined for that element in the schema associated with the document The content of the Content Completion assistant is dependent on the element structure specified in the DTD XML Schema Relax NG full or compact syntax schema or NRL NVDL schema associated to the edited document The number and type of elements displayed by the assistant is dependent on the current position of the cursor in the structured document The child elements displayed within a given element are defined by the structure of the specified DTD XML Schema Relax NG full or compact syntax schema or NRL NVDL schema All elements that can t be child elements of the current element according to the specified schema are not displayed Inside Relax NG documents the Content Completion assistant is able to present element values if such values are specified in the Relax NG schema Also in Relax NG documents the Content Completion assistant presents additional values of type ID for an anyURI data type It p
133. outline tree popup menu allow to quickly insert new tags in the document at the place of the element currently selected in the Outline tree The Append Child submenu lists the names of all the elements which are allowed by the schema associated with the current document as child of the current element The Insert Before and Insert After submenus of the Outline tree popup menu list the elements which are allowed by the schema associated with the current document as siblings of the current element inserted immediately before respectively after the current element Edit attributes for the selected node A dialog is presented allowing the user to see and edit the attributes of the selected node See here for more details about editing attributes The Toggle comment item of the outline tree popup menu is the same item as in the editor popup menu with the same name It encloses the currently selected element of the outline tree in an XML comment if the element is not commented or un comments it if it is commented The Cut Copy and Delete items of the popup menu execute the same actions as the Edit menu items with the same name on the elements currently selected in the outline tree Cut Copy Paste Document Tag Selection The Outline view can also be used to search for a specific tag s location and contents in the edited document Intuitively by selecting with the left mouse button the desired tag in the Outline view the document is scrolled to the p
134. outline view the first selector that starts with that sequence will be selected Folding in CSS stylesheets In a large CSS stylesheet document some styles may be collapsed so that only the needed styles remain in focus The same folding features available for XML documents are also available in CSS stylesheets 80 Editing documents Figure 4 56 Folding in CSS stylesheets mlTitle miChapter yearcaption month color 000000 text decoration none font family helvetica arial sans serif verdana FONT SIZE 12px FONT WEIGHT normal datethread indexlink 1ink lt Q Formatting and indenting CSS stylesheets pretty print If the edited CSS stylesheet becomes unreadable because of the bad alignment of the text lines the pretty print operation available for XML documents is also available for CSS stylesheets It works in the same way as for XML documents and is available as the same menu and toolbar action Other CSS editing actions The CSS editor type offers a reduced version of the popup menu available in the XML editor type that means only the folding actions the edit actions and a part of the source actions only the actions To lower case To upper case Capitalize lines Changing the user interface language lt oXygen gt comes with the user interface translated in English French German Italian Japanese and Dutch If you want to use lt oXygen gt in o
135. over more than one row The row span of the source cell will be decreased with one 2 Note DITA supports CALS table model similar with DocBook document type in addition to the simpletable element specific for DITA 4 Caution Column specifications are required for table actions to work properly e Generate IDs allows you to generate ID for the current selection or for the element at caret position if the element appears in ID Generation dialog Figure 6 8 ID Generation dialog le de ID Pattern S localName _Suuid Element name or class value topic topic In this dialog you can specify the elements for which lt oXygen gt should generate an ID You can choose to automat ically generate an ID for these elements by selecting Auto generate ID s for elements You can choose a pattern for the generated ID using the field ID Pattern If the element already has an ID this ID is preserved All actions described above are available in the contextual menu main menu DITA submenu and in the Author custom actions toolbar 115 Predefined document types Templates Default templates available for DITA topics are stored in frameworksDir dita templates topic folder They can be used for easily creating a DITA s concept reference task or topic These templates are available when creating new documents from templates DITA Composite New DITA Composite DITA Concept New DITA Concept
136. parameters so that you can execute the scenario right away without further customization Tip If you want to transform your DITA topics to various formats using the DITA Open Toolkit you can open them in the DITA Maps Manager view using the Open button located on the internal toolbar and transform them from here Customizing the DITA scenario The Parameters tab In the Scenario Edit Parameters Tab you can customize all the parameters which will be sent to the DITA OT build file 71 Editing documents Figure 4 48 Edit DITA Ant transformation parameters Edit DITA Scenario Scenario Name hierarchy XHTML Type XHTML Parameters Filters Advanced Output Name Description Value A args input The path and name of the input fi 4cF args outext The output file extension name fo html args xhtml toc The root file name of the output index dita dir The absolute path of the toolkit s saiga a u a All the parameters that can be set to the DITA OT build files for the chosen type of transformation eg XHTML are listed along with their description The values for some important parameters are already filled in You can find more information about each parameter in the DITA OT Documentation http dita ot sourceforge net doc DITA antscript html Using the toolbar buttons you can Add Edit or Remove a parameter Figure 4 49 Edit DITA parameters dialog Edit
137. scenario list contains the scenario we defined earlier SDF to HTML Click on it then choose Transform now The HTML file should be saved in the same directory as the XML file and opened in the browser 182 lt oXygen gt XML Editor Developer Guide Figure 7 31 Selecting the predefined scenario Configure Transformation Scenario El ss IB Note The key symbol indicates that the scenario is read only It has this state because the scenario was loaded from a Document Type Association The content authors can still change parameters and other settings if they are duplicating the scenario and edit the duplicate In this case the copy of the scenario is created in the user local settings Configuring Extensions You can add extensions to your Document Type Association using the Extensions tab from the Document Type dialog Figure 7 32 Configure extensions for a document type Schema Classpath Author Templates Catalogs Transformation Extensions Extensions bundle simple documentation framework SDFExtensionsBu Individual extensions deprecated use an Extensions bundle instead Content completion handler Choose Reset Link target element finder Choose Reset Drag and drop listener Choose Reset References resolver Choose Reset CSS styles filter Choose Reset Cell spanning provider Choose
138. select between two user roles Content author and Developer When the selected role is Content author you can modify only the properties of the Document Type Associations stored in the user preferences The externally stored associations cannot be modified and you will have to duplicate them in order to further customize these associations The Developer user can change any document type association Document types table The table presents the currently defined document type associations The columns are Document type Contains the name of the document type Enabled When checked the corresponding document type associ ation is enabled it is analyzed when trying to determine the type of a document opened in lt oXygen gt Storage Presents the location where the document type association is stored When expanding a Document Type Association its defined rules are presented A rule is described by Namespace Specifies the namespace of the root element from the association rules set any by default If you want to apply the rule only when the root element is in no namespace you must leave this field empty remove the ANY_VALUE string Root local name Specifies the local name of the root element any by default File name Specifies the name of the file any by default Public ID Represents the Public ID of the matched document 339 Configuring the application New Edit Delete Up Down Enable DTD XML Schema pro c
139. series of boxes Some of the boxes contain text and may flow one after the other from left to right These are called in line boxes There are also other type of boxes that flow one below the other like paragraphs These are called block boxes For example consider the way a traditional text editor arranges the text A paragraph is a block because it contains a vertical list of lines The lines are also blocks But any block that contains inline boxes is arranging its children in a horizontal flow That is why the paragraph lines are also blocks but the traditional bold and italic sections are represented as inline boxes The CSS allows us to specify that some elements are displayed as tables In CSS a table is a complex structure and consists of rows and cells The table element must have children that have table row style Similarly the row elements must contain elements with table cell style To make it easy to understand the following section describes the way each element from the above schema is formatted using a CSS file Please note that this is just one from an infinite number of possibilities of formatting the content report This element is the root element of the report document It should be rendered as a box that contains all other elements To achieve this we set its display type to block Additionally we are setting some margins for it The CSS rule that matches this element is report display block margin lem
140. space preserve is set then the white spaces are preserved e Ifthe CSS property white space is set to pre for the node style then the white spaces are preserved e If the text node contains other non white space characters then the white spaces are normalized e If the text node contains only white spaces e If the node has a parent element with the CSS display property set to inline then the white spaces are normalized e If the left or right sibling is an element with the CSS display property set to inline then the white spaces are normalized e If one of its ancestors is an element with the CSS display property set to table then the white spaces are striped e Otherwise the white spaces are ignored Save documents The Author editor will try to format and indent the document while following the white space handling rules e If text nodes are inside an element context where the xml space preserve is set then the white spaces are written without modifications e Ifthe CSS property white space is set to pre for the node style then the white spaces are written without any changes 98 Authoring in the tagless editor e In other cases the text nodes are wrapped Also when formatting and indenting an element that is not in a space preserve context additional Line Separators and white spaces are added as follows e Before a text node that starts with a white space e After a text node that ends with a white sp
141. sves seus aes ob E TE EEEN EE EE EE IEE 49 The popup menu of the Outline tree oooconocnnccnnccnncnnncnnocnnccnnccnnccnnccnnccnncnnnoss 50 Document Tag Selection sses aes svet ede cslesetenggacaser dant eens aact denn E E e wetness 50 Grouping documents in XML projects 2 0 0 0 cece eee cece c cence ee ceeeceeeeeeeca seca eeaa cess cea eeaeeeneeeeeeeeees 51 Large Documents os ise cat derwudess seveddes ss Senses vote ebee os sinwcs dy E E cs Suease pee A EEE NE Ee eE 51 Creating an included paris A A aa ended 51 Creating a MEW projectes iria eden R TEE elias EE R EE 52 Including document parts with XInclude oocoooccnncnnccnnccnncnnccnnccnnccnnconnconnconnconnconncnnnnnnncnnnenoss 54 Working with XME Catalogs esp enserra TE ten vesquesedeepsevenshs yesatees S EREE R 56 Formatting and indenting documents pretty print oooconocnnccnnccnnncnncnnocnnccnnconnccnnccnnccnnconnconinnnnss 56 VIEWING status Informati n iesea vey sera eE indian da be sawn save kas tuseduasyebidesdyeetevndesn dactencseereduuss 59 XME editor Specific ACHONS tii ta iia ahd ect ede 59 Edit ACHONS st litoral lei 59 Select ACTIONS viii E o A nares 59 OS O 59 XME document actin diia A Ia eed 61 XML Refactoring ActionSksa per a e Sedevepetenmesneeseatensetaegens Sere 62 SmartrCd ling usado do ead nga atta ee O O 63 Syntax highlight depending on namespace prefix ocoooccocccncnnccnnccnnconnconncnnnccnncnnnconaconinonoss 63 Editing DITA Maps A A E etme A E
142. the Add Site dialog Press the OK button Select the checkbox oXygen XML Author for Eclipse and press the Install button Press the Next button in the following install pages You must accept the Eclipse restart at the end of the installation Paste the license information received in the registration email when prompted This will happen when you use one of the wizards to create an XML project or document when you open or create a document associated with lt oXygen gt or when accessing the lt oXygen gt Preferences The oXygen XML Author plugin is installed correctly if you can create an XML project with the New Project wizard of the oXygen XML Author plugin started from menu File gt New gt Other gt oXygen gt XML Project Procedure 2 3 Eclipse 3 3 plugin installation the zip archive method 1 2 Download _ http www oxygenxml com InstData EclipseAuthor com oxygenxml author_10 3 0 zip the zip archive with the plugin Unzip the downloaded zip archive in the plugins subdirectory of the Eclipse install directory Installation 3 Restart Eclipse Eclipse should display an entry com oxygenxml author 10 3 0 in the list available from Window Preferences Plug in Development Target Platform Procedure 2 4 Eclipse 3 4 plugin installation the zip archive method 1 Download http www oxygenxml com InstData EclipseAuthor com oxygenxml author_10 3 0 zip the zip archive with the plugin 2
143. the Author mode of the XML editor 351 Configuring the application Add optional content Add first Choice particle Case sensitive search Cursor position between tags Show all entities Insert the required attributes Insert the fixed attributes Show recently used items Maximum number of recent items shown Learn attributes values Learn on open document Learn words Dynamic Abbrevi ations available on CTRL SPACE When checked lt oXygen gt will insert automatically the optional elements from the DTD or XML Schema This option is applied also in the Author mode of the XML editor When checked lt oXygen gt will insert automatically the first Choice particle from the DTD or XML Schema This option is applied also in the Author mode of the XML editor When it is checked the search in the content completion window when you type a character is case sensitive a and A are different characters This option is applied also in the Author mode of the XML editor When checked lt oXygen gt will set the cursor automatically between tags Even if the auto inserted elements have attributes that are not required the position of cursor can be forced between tags When checked lt oXygen gt will display a list with all the internal and external entities declared in the current document when the user types the start character of an entity reference i e amp When checked lt oXygen gt will inse
144. the Register button opens the lt oXygen gt XML Author License dialog that allows you to insert a new license key Figure 15 3 lt oXygen gt XML Author License dialog e lt oXygen gt XML Author Obtain a license key TF you do not have a license key you can obtain it in one of the Following ways Request a free 30 day trial license key Request a FREE license Purchase a permanent license key BUY Now If you have a registration code obtain a license key Request license For registration code Use a license key After you received the license key either trial or permanent paste it below Note that the license key usually received in a registration email is composed of nine lines of text Paste Registration_Name test Company Syncro Category Professional Component Author Version 9 Number_of_Licenses 1 Date 01 01 2008 Duration 30 SGN MCOCFQCObsN 7XhsMOKIWIhllaPhUBjPLWwWIUa6EvbvHnpZA60JMIFX zbeu5Khgl Show hidden files and directories Show system hidden files and folders in the file and directory browsers This setting is not available on Mac OS X 337 Configuring the application Fonts The Fonts preferences panel is opened from menu Window gt Preferences gt Author Fonts Figure 15 4 The Fonts preferences panel Fonts Ga v Text Map to text font O Customize Courier New 10 Author Author default Font Times New Roman 14 This is a text sam
145. the archive you can use the Collapse ZIP Archive action located in the contextual menu for the expanded archive Any file opened from the archive expanded in the EFS will be closed when the archive in unmounted Warning The ZIP support needs the IBM437 character set to be properly installed in the Java Runtime Environment in order to be able to navigate open ZIP archives If you encounter the following error message when expanding 297 Working with Archives oXygen Plugin x The Oxygen archive ZIP support will not work because the Java Virtual Machine does not contain a necessary charset IBM437 ZIP archives Eclipse does not have the character set library properly installed then the JRE used to run If you open an archive as an Eclipse editor the archive will be unmounted when the editor is closed M Important If a file extension is not known by lt oXygen gt as a supported archive type you can add it from the Archive preferences page Figure 11 2 Browsing an archive t a B xX EH samples_ zip 2 o EH samples_ zip ES import 3 samples 2 gt El fe sample1 css La sample1 xhtml fe sample2 css La sample2 xhtml fe sample3 css fe sample3 xhtml cvs 3 debugger 3 dita 5 docbook 3 fo import amp jsp 3 nvdl E E JE EE E e The following operations are available on the Archive Browser s toolbar New folder Create a new folder as child of the se
146. the output PDF Embedding the fonts is necessary to ensure your document is portable On Windows the fonts are located into the C Windows Fonts directory On Mac they are placed in Lib rary Fonts To install a new font on your system is enough to copy it in the Fonts directory 279 Transforming documents Generate font metrics file Generate a FOP font metrics file from the TrueType font file This example reads the Windows Arial Unicode MS file and generates an arialuni xml font metrics file in the current directory FOP includes an utility application for this task I assume you have opened a terminal or command line console and changed the working directory to the oxygen install directory The FOP files are stored in the lib subdirectory of the Oxygen install directory Create the following script file in the Oxygen installation directory The relative paths specified in the following script file are relative to the Oxygen installation directory so if you decide to create it in other directory you have to adapt the file paths For the Mac OS X tt fConvert sh bin sh export LIB lib export CMD java cp SLIB fop jar LIB avalon framework 4 2 0 jar SLIB xercesImpl jar export CMD CMD org apache fop fonts apps TIFReader export FONT_DIR Library Fonts SCMD SFONT_DIR Arialuni ttf Arialuni xml For Linux tt fConvert sh bin sh export LIB lib export CMD java cp SLIB fop jar SLIB avalon framework 4 2
147. the right to create files and folder inside the oXygen installation directory If you do not have this right you will have to install another copy of the program in a folder you have access to the home directory for instance or your desktop You can download the all platforms distribution from the oXygen website and extract it in the chosen folder To test your framework distribution you will need to copy it in the frameworks directory of the newly installed application and start oXygen by running the provided start up script files We should copy the created schema files abs xsdand sdf xsd sdf xsd being the master schema to the schema directory and the CSS file sdf css to the css directory Association Rules We must specify when oXygen should use the files created in the previous section by creating a document type asso ciation Open the Document Type dialog by following the procedure 1 Open the Options Dialog and select the Document Types Association option pane 2 Select the Developer user role from the User role combo box at the top of the dialog This is important because it will allow us to save the document type association in a file on disk instead of lt oXygen gt options 3 Click on the New button In the displayed dialog fill in the following data Name Enter SDF This is the name of the document type Description Enter Simple Documentation Framework This is a short description helping the other users u
148. the template to use the HTTP URLs like this lt xml version 1 0 encoding UTF 8 gt lt xml stylesheet type text css href http www mysite com reports test_report css gt lt report xmlns xsi http ww w3 org 2001 XMLSchema instance xsi noNamespaceSchemaLocation http www mysite com reports test_report xsd gt lt title gt Test report title lt title gt lt description gt The alternative is to create an archive containing the test_report xml test_report css and test_re port xsd and send it to the content authors Advanced Customization Tutorial Document Type Associations lt oXygen gt Author is highly customizable Practically you can associate an entire class of documents grouped logically by some common features like namespace root element name or filename to a bundle consisting of a CSS stylesheets validation schemas catalog files templates for new files transformation scenarios and even custom actions This is called a Document Type Association Creating the Basic Association In this section we will create a Document Type Association for a set of documents As an example we will create a light documentation framework similar to DocBook and create a complete customization of the Author editor You can find the complete files that were used in this tutorial in the Example Files Listings First step XML Schema Our documentation framework will be very simple The documents will be eithe
149. then the element has been found public boolean startElement String uri String localName String name Attr atts boolean linkLocated Increase curren false startElementDepth lement document depth if endElementDepth startElementDepth The current element is the first child of the parent currentElementIndexStack push new Integer 1 else Another element in the parent element currentElementIndexStack push new Integer lastIndexInParent 1 if startWithElementID This the case when xpointer path starts with an element ID String xpointerElement xpointerPath 0 for int i 0 i lt atts length i if xpointerElement equals atts i getValue if idVerifier hasIDType localName uri atts i getQName atts i getNamespace xpointerPathDepth startElementDepth xpointerPath length 1 break 192 lt oXygen gt XML Editor Developer Guide if xpointerPathDepth startElementDepth check if xpointer path matches with the current element path linkLocated true try int xpointerldx xpointerPath length 1 int stackIdx currentElementIndexStack size 1 int stopldx startWithElementID 1 0 while xpointerIdx gt stopIdx amp amp stackIdx gt 0 int xpointerlndex Integer parselnt xpointerPath xpointerldx int currentElementIndex
150. to query for all example nodes contained in the section 2 node of a DocBook XML document we would use the following XPath expression chapter sect1 sect2 example If an example node is found in any section 2 node a result will be returned to the message panel For each occurrence of the element node a record will be created in the result list In our example an XPath query on the file oxygen xm1 determined that oxygen xml chapter 1 sect1 3 sect2 7 example 1 Which means In the file oxygen xml first chapter third section level 1 seventh section level 2 the example node found is the first in the section Note a If your project is comprised of a main file with ENTITY references to other files you can use XPath to return all the name elements of a certain type by querying the main file The result list will query all referenced files Important If the document defines a default namespace then lt oXygen gt will bind this namespace to the first free prefix from the list default defaultl default2 etc For example if the document defines the default namespace xm Ins something and the prefix default is not associated with a namespace then you can match tags without prefix in a XPath expression typed in the XPath console by using the prefix default For example to find all the level elements when the root element defines a default namespace you should execute in the XPath console the expression default level To d
151. to the name of the parent directory current file name the name of the current edited document without extension and parent directory current file the absolute file path of the current edited document current file as URL the absolute file path of the current edited document as URL Path Separator The separator which can be used on different operating systems between libraries specified in the class path Time Stamp The current Unix time on the computer which can be used to save transformation results in different output files on each transform 389 Chapter 16 Common problems 16 1 Before installing Oxygen XML Editor Author I had no problems viewing XML files in Internet Explorer but now Internet Explorer opens an XML file in Oxygen XML Editor Author How can I view XML files in Internet Explorer again riei tec on edbcay segue is 390 16 2 I associated the ext extension with lt oXygen gt in Eclipse Why does an ext file opened with the Oxygen XML Editor not have syntax highlight 0 eee cece eens eens ce eeceeeeeeeeaeecaeeea sean sean eees 390 16 1 Before installing Oxygen XML Editor Author I had no problems viewing XML files in Internet Explorer but now Internet Explorer opens an XML file in Oxygen XML Editor Author How can I view XML files in Internet Explorer again XML files are opened in Oxygen because Internet Explorer uses the Windows file associations for opening files and you associated XML
152. transparent A sample document rendered using these rules document lt IDOCTYPE root lt ELEMENT root ANY gt lt IENTITY ent Some entity gt gt xml stylesheet type text css href test css Some text A comment CDATA section Some entity Additional Properties Folding elements foldable and not foldable child properties lt oXygen gt Author allows you to declare some elements to be foldable collapsible This is especially useful when working with large documents organized in logical blocks editing a large DocBook article or book for instance To define the element whose content can be folded by the user you must use the property foldable true When collapsing an element it is useful to keep some of its content visible like a short description of the collapsed region The property not foldable child is used to identify the child elements that are kept visible It accepts as value an element name or a list of comma separated element names If the element is marked as foldable fo1d able true but it doesn t have the property not foldable child or none of the specified non foldable children exists then the element will still be foldable In this case the element that will be kept visible when folded will be the before pseudo element Note Both foldable and not foldable child are non standard properties and are recognized only by lt oXygen gt Author 219 lt oXygen gt XML Editor Developer
153. type Name Description Output Encoding Error Encoding Working directory Combo box allowing you to choose the transformer type There are two options XSLT engines and XQuery engines The name of the transformer displayed in the dialog for editing transformation scenarios Text description of the transformer The encoding of the characters sent to the output stream of the transformer The encoding of the characters sent to the error stream of the transformer The start directory of the transformer executable program The following editor variables are available for making the path to the working directory independent of the input XML file e homeDir the user home directory in the operating system e S c d the path to the directory of the current file e pd the path to the directory of the current project e S oxygenInstallDir the lt oXygen gt install directory 377 Configuring the application Command line The command line that must be executed by lt oXygen gt to perform a transformation with the engine The following editor variables are available for making the items of the com mand line the transformer executable the input files independent of the input XML file e S xm1 the XML input document as a file path e S xmlu the XML input document as a URL e xs1 the XSL XQuery input document as a file path e xslu the XSL XQuery input document as a URL e out the output docu
154. ube hous neue ns 221 The bas u EDO FUMCHOM ids sec sees cab ie 222 The parent url fUNction mind id a 222 The Capita LFS UNC A vedas bene RRA eb gee 222 The uppercase Mco iii ec sha i eee hel ee ees ed dee ces 222 The LOwe LEASES PUNCHON srs ia ade 222 The GonGat MUNCH A ia 222 The replace JUDO ici ti il recia 223 The unparsed entity urid function oococconocccnnoncnnnncnncnonnnncnnnnonnnnnncnnnnnnns 223 Theattributes TUNCHION lia 224 Example Files Listings 00 A E A A A ii E 224 The Simple Documentation Framework Files ooocooncnncnnccnnccnnccnnconnccnnccnnconnconncnnncnnncnnncnaronoss 224 XML Schema les ui a 224 SOE NN 224 ADS XS nt iris rias 226 NN secs 50s geawecggecscecs Shave ec dup Giehe sees see iebes tee E E E EEEE eae sedate 8 226 SOE OS S N 226 AML Files ud iia 228 SGh samples ml tdi rn reis 228 1X lt oXygen gt XML Author 10 3 User Manual for Eclipse A osaessweasses aserhesnewansspe ted bay ween age nk a e A E yden uber vs cedee es N dy aueeeo eee ERRES 230 SOE ON 230 O OO 232 TnsertImagsoperat ron aa in 232 QueryDatabase0peration JaVa cccnccconcncnnoncnncncnnoncnnancncononccncncnnoncnnenccnonons 236 SDEEXtensionsBundle Jaa Sasna rs 239 SDFSchemaManagerFilter JAVA ocococoncnconcncnnoncnncncnnoncnnoncnrnnonconcncnninconencnss 241 TableCel lSpanProvider a Java nirs es reod aS nee Erei EPEE E PUET IE ara PRAA eas 242 TableColumnWidthProvider Javas etene
155. want to learn about the child elements of listitem and their nesting rules Once we have correctly inserted the required child element and nested it in accord ance with the XML rules the document will become valid on the next validation test Caching the Schema Used for Validation If you don t change the active editor and you don t switch to other application the schema associated to the current document is parsed and cached at the first validate action and is reused by the next Validate document actions without re parsing it This increases the speed of the validate action starting with the second execution if the schema is large or is located on a remote server on the Web To reset the cache and re parse the schema you have to use the s Reset cache and validate action Validate As You Type lt oXygen gt can be configured to mark validation errors in the edited document as you modify it using the keyboard If you enable the Validate as you type option any validation errors and warnings will be highlighted automatically in the editor panel after the configured delay from the last key typed with underline markers in the editor panel and small rectangles on the right side ruler of the editor panel in the same way as for manual validation invoked by the user 40 Editing documents Figure 4 23 Validate as you type on the edited document fo personal schema xml 3 fe personal xsd te sfs Model 23 1
156. we intend to edit we can proceed to create a distributable framework package for our content authors 150 lt oXygen gt XML Editor Developer Guide Figure 7 6 The Document Type Dialog Name DF Description A simple Documentation Framework Storage Internal O External D workspace eXml frameworks sdf sdf framework o Rules Namespace Root local name File name Public ID Java class x a Schema Classpath Author Templates Catalogs Transformation Extensions The schema defined here is used only if there is no schema detected in the XML file Schema type XML Schema y Schema URI S frameworks sdf sdf xsd py Organizing the Framework Files First create a new folder called sdf from Simple Documentation Framework in oXygen_installation_dir ectory frameworks We will use this folder to store all files related to our documentation framework Let s or ganise it a bit by creating the following folder structure oxygen frameworks sdf schema css 1 Important The frameworks directory is the container where all the oXygen framework customizations are located Each subdirectory contains files related to a specific type of XML documents schemas catalogs stylesheets CSS files etc Distributing a framework means delivering a framework directory 151 lt oXygen gt XML Editor Developer Guide M Important We assume you have
157. with the Apache FOP http xml apache org fop index html Formatting Objects Processor for rendering your XML documents to PDF FOP is a print and output independent formatter driven by XSL Formatting Objects FOP is implemented as a Java application that reads a formatting object tree and renders the resulting pages to a specified output 278 Transforming documents i Tip To include PNG images in the final PDF document you need the JIMI http java sun com products jimi or JAI http java sun com products java media jai libraries For TIFF images you need the JAI http java sun com products java media jai library For PDF images you need the fop pdf images library http www jeremias maerki ch download fop pdf images These libraries are not bundled with lt oXygen gt JIMI and JAI due to Sun s licensing Using them is as easy as downloading them and creating a external FO processor based on the built in FOP libraries and the extension library The external FO processor created in Preferences will have a command line like java cp S oxygenInstallDir lib xercesImpl jar S oxygenInstallDir lib fop jar S oxygenInstallDir lib avalon framework 4 2 0 jar oxygenInstallDir lib batik all 1 7 jar oxygenInstallDir lib commons i0 1 3 1 Jjar S oxygenInstallDir lib xmlgraphics commons 1 3 1 jar S oxygenInstallDir lib commons logging 1 0 4 jar S oxygenInstallDir lib saxon9sa jar S oxygenInstallDir lib saxo
158. xs complexType ys complexType xs annotation xs complexType xs annotation 259 Grid Editor Layouts Grid and Tree The grid editor has two modes for the layout The default one is the grid layout This smart layout of the grid editor detects the recurring elements in the XML document and creates tables having as columns the children including the attributes of these elements In this way it is possible to have tables nested in other tables reflecting the structure of your document Figure 8 3 Grid Layout lt xml version 1 0 encoding UTF 8 Y test P table MU tr Did first last 3 rows 410001 Jhon Doe 2 10002 Mark Ewing A A A 3 10003 Dave Flint The other layout mode is tree like This layout does not create any table it presents the structure of the document directly Figure 8 4 Tree Layout lt xml version 1 0 encoding UTF 8 test M table Y tr id 10001 first Jhon ra last Doe Y tr id 10002 first Mark A last Ewing tr id 10003 first Dave A A A last Flint You can switch between the two modes using the contextual menu Grid mode Tree mode Navigating the grid When you open a document first in the grid tab the document is collapsed so that it shows just the root element and its attributes Figure 8 5 Initial configuration of grid tab fe personal xml 27 lt xml version 1 0 encoding UTF 8 E lt DOCTYPE personnel gt personnel
159. you can open them in the DITA Maps Manager view using the Open button located on the internal toolbar and transform them from here S Note A map opened from WebDAV can be locked when it is opened in DITA Maps Manager by checking the option Lock WebDAV files on open to protect it from concurrent modifications on the server by other users If other user tries to edit the same map he will receive an error message and the name of the lock owner The lock is re leased automatically when the map is closed from lt oXygen gt DITA Maps Manager The following general actions can be performed on an opened DITA Map I Open B Open URL H Save apply Transformation Scenario 4 Configure Transformation Scen ario Refresh References 30Open map in editor i Tip Allows opening the DITA Map in the DITA Maps Manager view You can also open a DITA Map by dragging it in the DITA Maps Manager from the file system explorer Allows opening remote DITA Maps in the DITA Maps Manager view See Open URL for details Allows saving the currently opened DITA Map Allows the user to start the DITA ANT Transformation scenario associated with the opened map For more transformation details see here Allows the user to configure a DITA ANT Transformation scenario for the opened map For more transformation details see here Sometimes after a topic was edited and its title changed the topic s title needs to be also updated in the DITA Maps
160. you should be aware that en abling this feature will result in a very long time necessary for rendering the transformation result in the XHTML result viewer panel This drawback appears due to the built in Java XHTML browser implementation In this situations if you wish to see the XHTML result of the transformation you should use an external browser by checking the Open in browser checkbox Check box Show As XML If this is checked lt oXygen gt will display the transformation result in an XML viewer panel at the bottom of the lt oXygen gt window with syntax highlight specific for XML documents Check box Show As SVG If this is checked lt oXygen gt will display the transformation result in a SVG viewer panel at the bottom of the lt oXygen gt window by rendering the result as a SVG image Text field Image URLs are relative If Show As XHTML is checked this text field specifies the path for resolving to image paths contained in the transformation result XSLT Stylesheet Parameters The global parameters of the XSLT stylesheet used in the transformation scenario are configured from the dialog available from the Parameters button 275 Transforming documents Figure 9 5 Configure parameters dialog Configure parameters Name Value page width lt xsl choose gt lt xsl when test page orie paper type Ad lt Description The page width is generally calculated from the paper type and page
161. 0 O ven N OE seve hehetemmeouenea phase teeewenteenetes 108 LEPE A aa ata desde ame ESNS 108 Catalo SS xiii iden O NO 108 Transformation Scenarios ccscelecccecsees ccadeeveccceuesecsclucereccdeecdccddvesevcccvesdcccualancdanes ye edad 108 The DocBook Targetset document type 20 00 cece eee cee cece e ie EEEN E ERTE eens een E EE EEE EOE 109 Associaton TUNES toni A A op eect side Aden ias 109 A E RON 109 Alithor Extensions ai ria aE od veneee deve yt 0d 04 AE ed dy du eved eve ye EAE eedes 109 Templates error ins tri ateepeaeessgntedepspieen tees 109 The DITA Topics document ty PERA A A A A ie 109 ANSSOCIALION TUIES iria ii indeed 109 SCHEMA A A AAEE RE EAEAN EE 109 AUTO EXTENSIONS tn ug wen dee RE TE R E E E weed NEEE RSEN 110 LEPE uma A A A A ia 116 A ssagene e Axadeu stdin teeut dina dvb aaen stead heb den edew E ed daceay onthes Rt 116 Transformation Scenarios ossessioni ieir od decduecteccane cd ce daecnnecdenscaccouseauccavsdebecener 116 The DITA MAP document ty persiey cases tees teee sewn asepyeonstor eaeteces bare gto states PUTA PERNE EEEE R gees 116 Associaton reS soie ror i E A A oad ae ads fas ab E SER eee 116 NA 117 IS A NN 117 Templates o nostra frotan Joanot pisos 118 Catalogs ii A A E ibi 118 Transformation Scenarios renias nie ci Qeevedengeerederadee ther eeoed irreal 118 The XATMI document PS ii SE A I ERA ENS 118 ASSOCIATION TUS econo nat tienes 118 SA A IA a A 119 CSS O NOS 119 AUthOr extensions A e aaa 119 Te
162. 0 jar SLIB xercesImpl jar export CMD SCMD org apache fop fonts apps TTFReader export FONT_DIR Library Fonts SCMD SFONT_DIR Arialuni ttf Arialuni xml For Windows tt fConvert bat set LIB lib set CMD Java cp SLIBS fop jar sLIB avalon framework 4 2 0 jar SLIB xercesImpl jar set CMD CMD org apache fop fonts apps TIFReader set FONT_DIR C Windows Fonts SCMD SFONT_DIR Arialuni ttf Arialuni xml The FONT_DIR can be different on your system Make sure it points to the correct font directory If java executable is not in the PATH you will have to specify the full path for java Execute the script On Linux and Mac OS X you have to use sh ttfConvert sh from the command line Note If Oxygen was installed by an administrator user and now it is used by a standard user who does not have write permission in the Oxygen installation folder for example on Windows Vista or Linux then the output location of the font metrics file should be a directory where the user has write permission for example S CMD SFONT_DIR Arialuni ttf C temp_dir Arialuni xml 280 Transforming documents If the font has bold and italic variants you will have to convert those also For this you can modify the script by adding two more lines SCMD SFONT_DIR Arialuni Bold ttf Arialuni Bold xml SCMD SFONT_DIR Arialuni Italic ttf Arialuni Italic xml In our case the font Arial Unicode MS is not having a Bold and Italic varia
163. 0ae9aSS amp DisplayLang en http www microsoft com downloads details aspx FamilyID 9655156b 356b 4a2c 857c e62f50ae9a55 amp DisplayLang en Saxon NET http weblog saxondotnet org is the port of Saxon 9B XSLT pro cessor to the NET platform and it is available on a Mozilla Public License 1 0 MPL from the Mozilla http www mozilla org MPL MPL 1 0 html site In order to use it you have to unzip in the lt oXygen gt install folder the Sax on NET distribution which you can download from http saxon sourceforge net http www saxondotnet org saxon net downloads Saxon NET 1 0 RC1 zip You should have the NET Framework version 1 1 already installed on your system otherwise you get this warning Saxon NET requires NET Framework 1 1 to be installed You can get the NET Framework version 1 1 from Microsoft web site ht tp www microsoft com downloads Thank You aspx family1d 262d25e3 f589 4842 8157 034dle7cf3a3 amp displayLang en http www microsoft com downloads Thank You aspx familyId 262d25e3 f589 4842 8 157 034d1e7cf3a3 amp displayLang en Intel XML Software Suite http www intel com software xml is a suite of runtime libraries for Linux and Windows operating systems It is available on a commercial license from Intel After installing the Intel XML Software Suite you will have to configure it in the lt oXygen gt preferences 290 Transforming documents Note There is no integrated XML Catal
164. 1 thor ment me alyzed it is z thorNode node has references F EL trValue g null AuthorNode NODE_TYPE_ Element node tLocalName tAttribute location Returns the name of the node that contains th EMENT he node to have references param node The node that contains references return The display name of the node xpanded referred content 248 lt oXygen gt XML Editor Developer Guide String displayNam ref fragment if node getType AuthorNode NODE_TYPE_ELEMENT AuthorElement element AuthorElement node if ref equals element getLocalName AttrValue attrValu lement getAttribute location if attrValue null displayName attrValue getValue return displayName Resolve the references of the node The returning SAXSource will be used for creating the referred content using the parser and source inside it param node The clone of the node param systemID The system ID of the node with references param authorAccess The author access implementation param entityResolver Th ntity resolver that can be used to resolve lt ul gt lt li gt Resources that are already opened in editor For this case the InputSource will contains the editor content lt 1li gt lt li gt Resource
165. 1060 html http www oracle com technology software tech java sqlj_ dbc htdocs jdbc_111060 html and use it for configuring an Oracle data source Download the PostgreSQL 8 3 JDBC driver called postgresql 8 3 603 jdbc3 jar from the PostgreSQL website http jdbc postgresql org download html and use it for configuring a PostgreSQL data source Copy the jar files from the TigerLogic JDK lib directory from the server side to the lt oXygen gt install directory as described in the procedure for configuring a TigerLogic data source Copy the jar files from the SDK TaminoAPI4J lib subdirectory of the Tamino database install directory to the lt oXygen gt install directory as described in the procedure for configuring a Tamino data source Copy the jar files from the Documentum xDb X Hive DB database install directory to the lt oXygen gt install directory as described in the procedure for configuring an XHive data source A MySQL driver file is included in the Oxygen kit The installer creates the file mysql jar in the folder Oxygen install folder 1ib When creating a new data source select the type Generic JDBC and add the file Oxygen install folder lib mysql jar in Driver files If you want to connect 382 Configuring the application to a MySQL 5 server you may need the latest driver from the MySQL website http dev mysql com downloads connector j 5 1 html Table Filters The Table Filters preferences panel
166. 55 Configuring the application Check well formedness on save Save all files before transformation or validation Clear undo buffer on save Code Templates If selected the lt oXygen gt plugin will perform a well formed check every time the user saves a document Save all opened files before validating or transforming an XML document In this way the dependencies are resolved for example when modifying both the XML document and its XML Schema If checked the undo action has no effect after you ve saved your document You can only undo the modifications made after you ve saved it Code templates are small document fragments that can be reused in other editing sessions lt oXygen gt comes with a large set of ready to use templates for XSL and XML Schema You can even share your code templates with your colleagues using the Export and Import functions To obtain the template list you have use the Content Completion on request shortcut key usually CTRL SPACE The Code Templates preferences panel is opened from menu Window Preferences gt Author Editor Templates Code Templates Figure 15 24 The Code Templates preferences panel 1 lt xs annotation gt 3 lt xs annotation gt ES Code Templates enc Name Editor Description A ad X5D Editor Annotation Documentation agn XSD Editor Attribute Group Name agr XSD Editor Attribute Group Reference all XSD Editor ALL an X5D Editor Attribute Name
167. ALL left ALL letter spacing ALL line height normal lt number gt lt length gt lt percentage gt in herit list style image ALL list style position ALL list style type disc circle square decimal lower roman up per roman lower latin upper latin lower alpha upper alpha none inherit lower greek armenian georgian list style list style type inherit list style position II list style image margin right margin left lt margin width gt inherit margin top margin bottom lt margin width gt inherit margin lt margin width gt inherit max height ALL max width lt length gt lt percentage gt none inherit supported for block level and replaced elements e g images tables table cells min height ALL min width lt length gt lt percentage gt inherit supported for block level and replaced elements e g images tables table cells outline color ALL outline style ALL outline width ALL outline ALL overflow ALL padding top padding right padding lt padding width gt inherit bottom padding left padding lt padding width gt inherit position ALL 212 lt oXygen gt XML Editor Developer Guide Name Supported Values Not Supported Values quotes ALL right A
168. Author CSS 2 1 features Supported selectors The following CSS level 2 1 selectors are supported by the lt oXygen gt Author 208 lt oXygen gt XML Editor Developer Guide Table 7 3 Supported CSS 2 1 selectors Expression Name Description Example Universal selector Matches any element E Type selector Matches any E element i e an element with the local name E EF Descendant selector Matches any F element that is a descendant of an E element E gt F Child selectors Matches any F element that is a child of an element E E first child The first child pseudo class Matches element E when E is the first child of its parent E lang c The lang pseudo class Matches element of type E if it is in human language c the document language specifies how language is determined E F Adjacent selector Matches any F element immediately preceded by a sibling element E E foo Attribute selector Matches any E element with the foo attribute set whatever the value E foo warning Attribute selector Matches any E element whose foo attribute value is exactly equal to warning E foo warning Attribute selector Matches any E element whose foo attribute value is a list of space separated values one of which is exactly equal to warning E langl en Attribute selector Matches any E element whose lang attribute has a hyphen sep arated list of values beginning from the le
169. CustomRule Description Checks if the current Document Type Association is matching the document Classpath frameworks isdFisdF jar The search classpath is defined in the Classpath tab located below the Rules section Number of classes found 2 To test the association open the sdf xm1 sample and validate it Schema Settings In the dialog for editing the Document Type properties in the bottom section there are a series of tabs The first one refers to the schema that is used for validation of the documents that match the defined association Rules M Important If the document refers a schema using for instance a DOCTYPE declaration or a xsi schemaLocation at tribute the schema from the document type association will not be used when validating Schema Type Select from the combo box the value XML Schema Schema URI Enter the value frameworks sdf schema sdf xsd We should use the frame works editor variable in the schema URI path instead of a full path in order to be valid for different lt oXygen gt installations 155 lt oXygen gt XML Editor Developer Guide M Important The frameworks variable is expanded at the validation time into the absolute location of the directory containing the frameworks Figure 7 10 The Schema panel The schema defined here is used only if there is mo schema detected in the XML file Schema type XML Schema I
170. DIOM PDF plugin HTML Help CHM DITA Map to HTML Help If you have installed HTML Help Workshop lt oXy gen gt detect and use this At the end of the transformation the chm file will be open Otherwise an error message is displayed but the hhp HTML Help Project file will be generated and you have to compile to obtain a chm file Note that HTML Help Workshop fails when the files used for transformation con tains diacritics in name This problem appear because the hhp file is generated with UTFS8 encoding and the hhc file read this file with another encoding JavaHelp DITA Map to JavaHelp Eclipse Help DITA Map to Eclipse Help Eclipse Content DITA Map to Eclipse Content RTF DITA Map to Rich Text Format 70 Editing documents TROFF DITA Map to Text Processor for Typesetters Docbook DITA Map to Docbook Configuring a DITA transformation Creating DITA Map transformation scenarios is similar to creating scenarios in the main editing area See here for more details When creating a new scenario you can choose the type of output the DITA OT ANT scenario will generate Figure 4 47 Select DITA Transformation type DITA Transformation Type Select the type of transformation XHTML PDF DITA OT PDF2 Idiom FO Plugin HTML Help JayaHelp Eclipse Help Eclipse Content DocBook RTF troff Depending on the chosen type of output lt oXygen gt will generate values for the default ANT
171. E SEESE EII deso boga ds 11 The lt oXypen gt Custom MENU sises corr tai ea E E a E E EE ES 12 The lt oXygen gt toolbar buttons oocoooccnoconcconccnnccnnnonoronoconccnnconnccnnccnnconnconncnnncnnncnnronase 12 The Editor pane ma reda Aira AA E AAA a a e 12 The Outline view its e rr ae i E area tel ade 13 The lt oXygen gt Text VIEW atodos das 13 The lt oXygen gt Browser VIEW 2 c 05c cessocsedesecuecasseneccteedoueccsuagecosvsesyccbvbabeccdssaeeagsovaeccses 13 The lt oXygen gt XPath Results View c ccscis sucess ass ccssess sosvensaecisscsaseousngpsesdcossesesevsasedavesn sess 14 Supported Editor fyPes esisin ense Ee ES jes esla Sees 14 lt oXygen gt Database perspective siiis sisenes r ie ea aan iio ano betes rr 14 4 ENE DOCUMENT e 17 Working with Unicode es i205 sess ssts gs vcssi ns sorse idilio if ias ESEESE SOEP EESE EATER sevetes iras 17 Opening and saving Unicode document oocooccnnccnnconnconnconncnnncnnnnnncnnnrnnncnn seca eeeeeeae eeu eeneeeneeeneees 17 Opening and closing docuMENtS sessi rierien raise OIE gee cebsge es Seed Ea E E seating peana 17 Creating new dOCUMENES iss Seci ee eeie ees E io 18 lt oXygen gt plugin wizards siss cesses ives iso cose sdaseisa ves sescasdivertesdeneecs SPASERE RRETA EIRP ORSR ESPO 18 Creating Documents based on Templates oooncooccnccnnccnnccnnconnconncnnnconnconnconncnnncnnncnnnnnnronoss 23 Saving COCUMENIS coronan tores ROT ea Prieta aii 24 Opening and Saving Remo
172. El System Table E Table Column The following actions are available in the view s toolbar The gt Filters button opens the Data Sources Table FiltersPreferences page allowing you to decide which table types will be displayed in the Database Explorer view The e Configure Database Sources button opens the Data Sources preferences page where you can configure both data sources and connections Below you can find a description of the contextual menu actions available on the Database Explorer levels Please note that you can also open an XML schema component in the editor by double clicking it To view the content of a table in the Table Explorer view double click one of its fields 307 Working with Databases Actions available at connection level Refresh performs a refresh of the selected node s subtree e Configure Database Sources opens the Data Sourcespreferences page where you can configure both data sources and connections Actions available at catalog level Refresh performs a refresh of the selected node s subtree Actions available at schema level Refresh performs a refresh of the selected node s subtree Actions available at table level Refresh performs a refresh of the selected node s subtree Edit opens the selected table in the Table Explorer View _JExport to XML opens the Export Criteria dialog XML Schema Repository level For relational databas
173. Figure 2 2 Floating license number exceeded License not available on server License rejected Existing users User bogdanlon 127 0 0 1 1 Close The error message contains information about the users who requested and successfully received the floating li censes How to install the lt oXygen gt XML Author license server as a Windows service In order to install the lt oXygen gt XML Author license server as a Windows service you should run the Windows installer downloaded from the URL provided in the registration email message containing your floating license key If you want to install start and uninstall yourself the server as a Windows service you can run the scripts created in the install folder from a command line console with the install folder of the license server as the current folder on Windows Vista you have to run the console as Administrator For installing the Windows service installWindowsService bat After installing the server as a Windows service use the following two commands to start and stop the license server startWindowsService bat stopWindowsService bat Uninstalling the Windows service requires the following command uninstallWindowsService bat The installWindowsService bat script installs the lt oXygen gt XML Author license server as a Windows service with the name oXygenLicenseServer and accepts two parameters the path of the folder containing the floating lice
174. HTML Help output 287 HTML output 286 Java Help output 287 PDF output 285 PS output 285 TXT output 286 XHTML output 287 custom XSLT processors 291 output formats 266 supported XSLT processors 288 Transformation scenario 267 Transformation Scenarios view 278 XSL FO processors 278 XSLT processors extensions paths 291 U Uninstalling the plugin 9 Upgrade 9 V Validating XML documents 37 against a schema 38 caching the schema used for validation 40 custom validation 41 marking validation errors 39 resolving references to remote schemas with an XML Catalog 46 validate as you type 40 validation actions 45 validation example 40 validation scenario 43 checking XML well formedness 37 W WebDAV Connection 327 actions at connection level 327 at file level 328 at folder level 328 configuration 327 X XHTML document type 118 association rules 118 Author extensions 119 catalogs 121 templates 121 transformation scenarios 121 CSS 119 schema 119 XML Outline view 48 document structure change 49 popup menu 50 document tag selection 50 modification follow up 49 outliner filters 49 XML document overview 49 XML Schema document type 129 association rules 130 XMLSpec document type 132 association rules 132 Author extensions 130 132 catalogs 132 133 templates 132 transformation scenarios 132 schema 132 XSLT document type 131 association rules 131 Author extensions 132
175. Hive DB specific files found in the Documentum xDb X Hive DB lib directory from the server side e antlr runtime 3 0 1 jar e icu4j jar e xhive jar If you like to use a bootstrap file when connecting to the database you need to additionally add the following JAR files found in the same place e fop jar e jsr173_api jar e lucene jar e mx4j jar e serializer jar e w3c jar 315 Working with Databases e xalan jar e xbean jar e xercesImpl jar xml apis jar 4 Click OK to finish the data source configuration Configuring Database Connections This section presents a set of procedures describing how to configure connections that use Native XML Database data sources How to configure a Berkeley DB XML Connection lt oXygen gt supports Berkeley DB XML versions 2 3 10 2 4 13 amp 2 4 16 Figure 12 11 The Connection Configuration Dialog pr Connection Name Berkeley Connection Data Source Berkeley Datasource v Connection Details Environment home directory c samples verbosity DEBUG O O Join existing environment 1 Goto Preferences gt Data Sources In the Connections panel click the New button 2 Enter a unique name for this connection and select one of the previously configured Berkeley data sources from the Data Source combo box 3 Fill in the Connection Details Environment home directory Path to the Berkeley DB XML s home directory Ve
176. IB represents the name B that belongs to NO NAMESPACE IC represents the name C in ANY namespace including NO NAMESPACE D represents the name D in the http example com foo namespace Example 7 6 Defining only prefixed namespaces Given the namespace declaration namespace sync http sync example org Then synclA represents the name A in the http sync example org namespace IB represents the name B that belongs to NO NAMESPACE IC represents the name C in ANY namespace including NO NAMESPACE D represents the name D in ANY namespace including NO NAMESPACE 214 lt oXygen gt XML Editor Developer Guide The attr function Properties Values Collected from the Edited Document In CSS Level 2 1 you may collect attribute values and use them as content only for the pseudo elements For instance the before pseudo element can be used to insert some content before an element This is valid in CSS 2 1 title beforel content Title id attr id If the title element from the XML document is lt title id titlel2 gt My title lt title gt Then the title will be displayed as Title id titlel2 My title In lt oXygen gt Author the use of attr function is not available only for the content property but for any other property This is similar to the CSS Level 3 working draft http www w3 org TR 2006 WD css3 values 200609 19 functional The arguments of the function are attr attribute_nam
177. ID Java class the namespace of the root element declared in the XML documents of the current document type A value of ANY_VALUE matches any namespace in an XML document Value may contain wildcards and editor vari ables Multiple values separated by comma are accepted The local name of the root element of the XML documents of the current document type A value of ANY_VALUE matches any local name of the root element Value may contain wildcards and editor variables Multiple values separated by comma are accepted The file name of the XML documents of the current document type A value of ANY_VALUE matches any file name Value may contain wild cards and editor variables Multiple values separated by comma are accepted The public ID of the XML documents of the current document type for a document validated against a DTD A value of ANY_VALUE matches any public ID Value may contain wildcards and editor variables Multiple values separated by comma are accepted The full name of a Java class that has access to all root element attributes and the above 4 values in order to decide if the document matches the rule An alternative to the rule we defined for our association is to write the entire logic in Java 1 Create a new Java project in your IDE Create the lib directory in the Java project directory and copy there the oxygen jar file from the oXy gen_installation_directory 1lib The o
178. LL table layout auto fixed inherit text align left right center inherit justify none underline II overline II line through inher blink it text decoration text indent ALL text transform ALL top ALL unicode bidi ALL vertical align baseline sub super top text top middle bot lt percentage gt lt length gt tom text bottom inherit visibility visible hidden inherit collapse white space normal pre nowrap pre wrap pre line width lt length gt lt percentage gt auto inherit supported for block level and replaced elements e g images tables table cells word spacing ALL z index ALL lt oXygen gt CSS Extensions Media Type oxygen The style sheets can specify how a document is to be presented on different media on the screen on paper speech synthesiser etc You can specify that some of the features of your CSS stylesheet should be taken into account only in the lt oXygen gt Author and ignored in the rest This can be accomplished by using the media type oxygen For instance using the following CSS b font weight bold display inline media oxygen b text decoration underline would make a text bold if the document was opened in a web browser who does not recognize media oxygen and bold and underlined in lt oXygen gt Author
179. NG schemas For documents that use an XML Schema or Relax NG schema the content assistant offers proposals for attributes and elements values that have as type an enumeration of tokens Also if a default value or a fixed value is defined in the XML Schema used in validation for an attribute or element then that value is offered in the content completion window 32 Editing documents If the edited document is not associated with a schema explicitly using the usual mechanisms for associating a DTD or XML Schema with a document or using a processing instruction introduced by the Associate schema action the content assistant will extract the elements presented in the pop up window from the default schema If the schema for the document is of type XML Schema Relax NG full syntax NVDL or DTD and it contains element attributes or attributes values annotations these will be presented when the content completion window is displayed if the option Show annotations is enabled Also the annotation is presented in a small tooltip window displayed automatically when the mouse hovers over an element or attribute annotated in the associated schema of the edited document In an XML Schema annotations are put in an lt xs annotation gt element lt xs annotation gt lt xs documentation gt Description of the element lt xs documentation gt lt xs annotation gt If the current element attribute in the edited document does not have an annota
180. OLAtlONS 3 jess cede isa Ba os A eo elas pol Gog ce a eee aa cea eee Pa ae es 353 PAU ates er nian a he sdanee sock gendee baer a oe dondouweden te veghae ain eaaoestwet Saat 353 Syntax Highlight A setiuciss adhe E a 354 Syntax Highlight Elements by Prefix ooocoooccnoconoconccnnocnncnnncnnncnnccnnconnconnconnconnconacnnnos 354 Op IV A AS ek Mion Sa de ane AEE eee aet sets 355 Code Templates crs ssdeseicens ves snes tee lecnteeet daa deeyed cp suved heak det Mensyedtdecds wedges eevee don Seven xeawesaasay 356 Document Templates cia OR 357 O A RR 357 Document Checkin pss cess dd id 359 Custom Validation ito iii da Rain 360 ESS Valida ia E EE Sedu in een tear ecestabae ede EON SeS 362 A O AN 362 XAML Catala A A ii 362 XML Parr iS a e AAN 363 Saxon SA Validation iii a E E ss 364 XSLFFO X QUEII oee verdes ines E E a E tit eae E ARAE EE SNEER NERENS 365 POOLE E O RAS ee O 365 DAKONG E EAS OEE EEEE ASEE EEE EE EEN 366 Saxon B SA sie estes a NEN NR 366 Saxon B SA Advanced options ocoooccoccnncnnocnnccnnconnconnccnnconnconnconncnnncnnncnnronoss 368 SIT PLOC iS A Mev R TES 368 MS XM O 370 MSXME NET a a N E E EA E AE T AEN oes 370 FO PrOCESS O O A E ten AEE E EREE NES 372 XPath eae urate A OE EN A E Meade ES 375 Custom Engines sitas e ea ea a dene e a das eE a a E labs e ia e ES 376 Intel XML Software Suite reesi a e e EN N E E E EEE E RSS 378 Data SOUPCES nedin en a ene ten a a a death ohne sneer bee ne ened T O E INEAN 378 Configur
181. PEENS Kn EE 94 Editing the XML markp onneen tastes ad sag Rae Sah a ates 94 Editing the XML content monien rita tea shes a a E E dese siri testa i n 95 Table layout and resizing vitoria caidas ae dotan 96 DOCBOOK errata ode 96 TAM Lees A Sv cca tela ubes ees Cade ca duacaned ath buade E wneeti aegis 97 DITA peso sacety cea coaseettens sooth ct ea a noi Wl ante a rain io 97 Refreshing the content 3 07220 pS eles eee IA el pia 97 Validation and error presenting sorne eee ene E r ence eeeeeeeaeeea seca eens eens een S ne 97 Whitespace handling vacia di UR 98 Minimize differences between versions saved on different computers ooooccnnconnconnccnncos 99 Change Track ip ise nenea i eatet ii Tati TEEN 99 Manating Chan ges xsc O 100 6 Predefined document types vin ed duet deh vad estan ss is Wedha ba iio 102 The DocBook V4 doctiment ty pee perennat secs dasdee suger ten sadasageudacwedondgongen estou de wuad aeaveeasunaeensas 102 Associaton TUES ich arse cise Speen dai A A oy coed ue ye A A id 102 Schema meern a ry cnrueds a des ohandeheeveseaeaneser gous eum tes te nee obey N E 103 AUthor extensions id A Pais cg DR A es daa E Aids diia 103 Templates ui tal aio fra des 107 Catalogs titi d or gatas Sedu hee bear sa 107 Transformation Scenarios eye nee e EE R EEE E AS Ee ici 107 The DocBook V5 doctiment Prisa ii ii its 108 ASSOCIALION TUE cio Ai tare a Gone aden seus 108 Schema saves hone A ON useing hy ade 108 AUThOF EXTENSIONS 2 05
182. R e 292 lt oXyeen gt s XPath console nrn eee a E e e a S a ferina des 292 Ls Working with Archena de 297 Using files directly from archives ssr iene e eE oea ES E ERNE ne NERS AE 297 Browsing and modifying archives structure coooconccnnccnnocnnnnnncnnnronccnnconnconnconnocnncnnncnnncnnncnnncnnnnnnneniss 297 Editing files from arehiveS piena E a a a dub ARE sibs aot AEE R eS 299 12 Working with Dat base sio nen E dass 301 Relational Database Support serorei er ena rra ena E n EE EA T ESE EDENE EN 301 Configuring Database Data Sources ooocooccncccnccnnconnconnconnconnconncnnncnnnrnnronronncnnconnccnncrnncnnncnnnoos 301 How to configure an IBM DB2 Data Source oooccooccnccnnccnncnnocnnccnnconnconnccnnccnnconnconncnnnconnss 301 How to configure a Generic JDBC Data Source oocooocnnccnnccnnccnncnnccnnccnnconnconnccnnconnconncinnces 302 How to configure a Microsoft SQL Server Data Source oocccoccnnccnnconnconcconacnnaconacnnccnnconose 302 How to configure a MySQL Data Source cooccccccnncnnccnnccnnconnccnnccnncnnnconnconnconcnnnrnnrcnaronose 302 How to configure an Oracle 11g Data Source coooccnocnnccnnccnncnnncnnocnnccnnconnccnnccnnccnnconacinicos 303 How to configure a PostgreSQL 8 3 Data Source ocoocccccccncnnccnnccnnccnnccnnccnnconnconnconaciniconoss 303 Configuring Database Connections ccc ceeeceeece ence ence ence sp SE p Ea sean eeaeeeneceeeeeeeeee ea 303 How to Configure an IBM DB2 Connection cooccoccc
183. R4 00001 unique constraint HR DEPT_ID_PK violated 151 5 60 141 6 70 Location SQL Query 271 i 80 251 3 90 171 9 100 E 171 10 110 171 11 120 aog Do 17 gt BONUS DEPT EMP DEPARTMENTS 23 311 Working with Databases The usual edit actions Cut Copy Paste Select All Undo Redo are available in the popup menu of the edited cell The contextual menu available on every cell has the following actions Set NULL sets the content of the cell to null This action is disabled for columns that cannot be null Z Insert row inserts an empty row in the table Duplicate row makes a copy of the selected row and adds it in the Table Explorer view You should note that the new row will not be inserted in the database table until all conflicts are solved Commit row commits the selected row X Delete row deletes the selected row e Copy copies the content of the cell e Paste performs paste in the selected cell Some of the above actions are also available on the Table Explorer toolbar _JExport to XML opens the Export Criteria dialog Refresh performs a refresh of the selected node s subtree Insert row inserts an empty row in the table Duplicate row makes a copy of the selected row and adds it in the Table Explorer view You should note that the new row will not be inserted in the database table until all conflicts are solved Commit row commits the selected row X Delete row delet
184. RI Resolver dass name cr The resolver classes must be present in the scenario extensions e URI Resolver class name Allows the user to specify a custom implementation for the URI resolver used by the XSLT Saxon 9 transformer r option when run from the command line The class name must be fully specified and the corresponding jar or class extension must be configured from the dialog for configuring the XSLT extension for the particular scenario e Collection URI Resolver class name Allows the user to specify a custom implementation for the Collection URI resolver used by the XSLT Saxon 9 transformer cr option when run from the command line The class name must be fully specified and the corresponding jar or class extension must be configured from the dialog for config uring the XSLT extension for the particular scenario XSLTProc The XSLTProc preferences panel is opened from menu Window gt Preferences Au thor XML XSLT FO XQuery XSLT XSLTProc 368 Configuring the application Figure 15 40 The XSLTProc preferences panel XSLTProc Enable Include processing C Skip loading the document s DTD Maximum depth in templates stack 500 C verbosity C Show version of libxml and libxslt used C Show time information C Show debug information C Show profile information C Show the list of registered extensions _ Refuses to write to any file or resource C Refuses to create directories
185. RI Title Alternate 2 Actions Sfframeworks dita css_classed my_dita css false 3 Menu 4 Contextual menu 5 Toolbar 6 Table support 7 References resolver a Ea Press OK in all the dialogs to validate the changes Now you can start editing DITA documents based on the new CSS stylesheet You can edit the new CSS stylesheet itself at any time and see the effects on rendering DITA XML documents in the Author mode by running the Refresh action available on the Author toolbar and on the DITA menu Document type sharing A document type can be shared between authors in two ways e save the document type at global level in the Document Type Association panel and distribute a zip file that includes all the files of the document type CSS stylesheets jar files with custom actions etc Each user will unzip the zip file in a subdirectory of the frameworks directory and will restart the application for adding the new document type to the list of the Document Type Association panel e save the document type at project level in the Document Type Association panel and distribute both the Oxygen project file and the files of the document type CSS stylesheets jar files with custom actions etc Each user will copy the files of the document type in the subdirectory of the frameworks directory that corresponds to the doc ument type and will load the Oxygen project file in the Project view CSS support in lt oXygen gt
186. S file Based on these files the lt oXygen gt Author can help the content author in loading editing and validating the test reports We have to create an XML file template a kind of skeleton that the users can use as a starting point for creating new test reports The template must be generic enough and refer the XML Schema file and the CSS stylesheet This is an example lt xml version 1 0 encoding UTF 8 gt lt xml stylesheet type text css href test_report css gt lt report xmlns xsi http ww w3 org 2001 XMLSchema instance xsi noNamespaceSchemaLocation test_report xsd gt lt title gt Test report title lt title gt lt description gt lt line gt This is the report lt important gt description lt important gt lt line gt lt description gt lt results gt lt en lt e lt en lt e try gt lt test_name gt Sample test1 lt test_name gt lt passed gt true lt passed gt ntry gt try gt lt test_name gt Sample test2 lt test_name gt lt passed gt true lt passed gt ntry gt 139 lt oXygen gt XML Editor Developer Guide lt results gt lt report gt The processing instruction xml1 st ylesheet associates the CSS stylesheet to the XML file The href pseudo attribute contains the URI reference to the stylesheet file In our case the CSS is in the same directory as the XML file The next step is to place the XSD file and the CSS file on a web server and modify
187. SPACE General Punctuation U 2 FIGURE SPACE General Punctuation U 2 PUNCTUATION SPACE General Punctuation U 2 THIN SPACE General Punctuation U 2 HAIR SPACE General Punctuation U 2 ZERO WIDTH SPACE General Punctuation U 2 LINE SEPARATOR General Punctuation U 2 PARAGRAPH SEPARATOR General Punctuation U 2 NARROW NO BREAK SPACE General Punctuation U 2 MEDIUM MATHEMATICAL SP General Punctuation A U 3 IDEOGRAPHIC SPACE CIK Symbols and Punctu O U F ZERO WIDTH NO BREAK SP Arabic Presentation Form Please reopen the files in editor to apply changes The Whitespaces dialog is used to add a new character as whitespace by specifying the hexa value the name and the character block 349 Configuring the application Figure 15 15 The add whitespace dialog Whitespaces Hexa value Character name Character block CSS The CSS Format preferences panel is opened from menu Window Preferences gt Author Editor Format CSS Figure 15 16 The CSS format preferences panel css er Indent class content C class body on new line C Add new line between classes Allow formating embedded C55 Indent class content If checked the class content is indented during a Format and Indent Pretty Print operation Class body on new line If checked the class body including the curly brackets are placed on a new line after a Pretty Print
188. Scenario action available on the menu XML and on the toolbar of the lt oXygen gt plugin You can use the 43 Editing documents default engine set in Preferences or use a custom validation scenario The list of reusable scenarios for documents of the same type as the current document is displayed Figure 4 25 Configure Validation Scenarios Configure Validation Scenario O O Use custom validation scenario Validation Scenario A validation scenario is created or edited in a special dialog opened with the New button or with the Edit one Figure 4 26 Edit a Validation Scenario Edit scenario Name chunk code URL of the file to validate Validation engine Validate as you type Extensions frameworks docbook xsl html chunk xsl Saxon6 5 5 frameworks docbook xsl html chunk xsl MSXML4 0 frameworks docbook xsl html docbook xsl Saxon6 5 5 Frameworks docbook xsl htmlhelp htmlhelp xsl MSXML NET Validate as you type is disabled in preferences The table columns are URL of the file to validate The URL of the main module which includes the current module and which is the entry module of the validation process when the current module is validated Validation engine One of the engines available in lt oXygen gt for validation of the type of document to which the current module belongs Validate as you type If this option is checked then the validation opera
189. Span new Integer rs catch NumberFormatException ex The attribute value was not a number return rowSpan The method hasColumnSpecifications always returns t rue considering column specifications always available 204 lt oXygen gt XML Editor Developer Guide public boolean hasColumnSpecifications AuthorElement tableElement return true The complete source code of our implementation is found in the Example Files Listings the Java Files section In the listing below the XML document contains the table element lt table gt lt header gt lt td gt Cc1 lt td gt lt td gt C2 lt td gt lt td gt C3 lt td gt lt td gt C4 lt td gt lt header gt lt tr gt lt td gt cs 1 rs 1 lt td gt lt td column_span 2 row_span 2 gt cs 2 rs 2 lt td gt lt td row_span 3 gt cs 1 rs 3 lt td gt lt tr gt lt tr gt lt td gt cs 1 rs 1 lt td gt lt tr gt lt tr gt lt td column_span 3 gt cs 3 rs 1 lt td gt lt tr gt lt table gt When no table cell span provider is specified the table has the following layout Figure 7 37 Table layout when no cell span provider is specified document article section para a Table showing different values for the column and row span when no span provider is specified x Text Grid Author When the above implementation is configured the table has the correct
190. T script that packages the classes dir ectory content into a jar archive named sdf jar lt xml version 1 0 encoding UTF 8 gt lt project name project default dist gt lt target name dist gt lt jar destfile sdf jar basedir classes gt lt fileset dir classes gt lt include name gt lt fileset gt lt jar gt lt target gt lt project gt Copy the sdf jar file into the frameworks sadf directory Add the sdf jar to the Author classpath To do this select SDF Document Type from the Document Type Association options page and press the Edit button Select the Classpath tab in the lower part of the dialog Press the Add button In the displayed dialog enter the location of the jar file relative to the lt oXygen gt frameworks directory If you are in the process of developing the extension actions you can also specify a path to a directory which holds compiled Java classes 154 lt oXygen gt XML Editor Developer Guide Figure 7 8 Adding a classpath entry Add resources to the classpath URL Frameworks sdf sdF jar 2 2 B Clear the rules we defined before by using the Remove button Press the Add button from the Rules section Press the Choose button that follows the Java class value The following dialog is displayed Figure 7 9 Selecting a Java association rule Operation El Class simple documentation framework
191. TE 64 Advanced Operatlons O 67 Ins rting a TopicReferenc ci nrar r ieee ak E E a Me Sade ded Man Seen Svcd 67 lt oXygen gt XML Author 10 3 User Manual for Eclipse Inserting a tl AAA ra shoes tuencd yy ooeede tub esge te eadapenwedas ph oee ches EEEE 68 Inserting a Topic GTO tii Ap o ap 69 Edit properties ss uses secstectas deplorable tire Uanedneestwecgaeaeel ose 69 Transforming DITA Maps focsdee sired oeSee sheds O eddie 70 Available Output Formats zs snene a a e vet esesh veley spe seae EES EEEE AOSS 70 Configuring a DITA transformation 20 0 0 00 cece a ence eee TE E T TEE E 71 Customizing the DITA scenario p eneee a E o E D ERa ESES 71 The Parameters tab iccciiscsgve live A a ries 71 TE FILLETS AAD orenac a E A aN ERE E EE TEER 72 The Advanced tab iia ii A te died 73 The OutputtaD heat lord ones i E daw ssaeettesl Saataucdaess suas 75 The FO Processortabuciuicin ii ad e eaten 76 Set a font for PDF output generated with Apache FOP oooccccccnccnnccnncnnoconccnnccnnccnncnnno 77 Running a DITA Map ANT transformation cceeceeecceeceeeceeece cece secs ees eeeeeeeeeeeeerenes 77 DITA OF customization SOPpport Pesi ionn wand sada ico deat aaron adri edad coat rie AA ANER IS 77 Support for transformation customizations 2 0 0 0 ee eee cee ee ee cee cece cece ne eeneeeeeeeeeeeeeeeeeaees 77 Using your own DITA OT toolkit from lt oXygen gt 00 0 0 cece cece nec cee ce cece een eeneeeneeeneees 77 Using your c
192. Templates y Customize document Templates Extension Description A xml Resource Description Framework xml Schema documentation links file xml Bri xml SDF book xml SMIL document xml SYG New Document xml TEI P4 Lite xml TEI P4 New Document xml TEL PS All x gt Configuring XML Catalogs You can add catalog files to your Document Type Association using the Catalogs tab from the Document Type dialog Important lt oXygen gt XML Editor collects all the catalog files listed in the installed frameworks No matter what the Document Type Association matches the edited file all the catalog mappings are considered when resolving external references 1 Important The catalog files settings are available for all editing modes not only for the Author mode In the XML sample file for SDF we did not used a xsi schemaLocation attribute but instead we let the editor use the schema from the association However there are cases in which we must refer for instance the location of a schema file from a remote web location In such cases the catalog may be used to map the web location to a local file system entry In the following section we will present an use case for the XML catalogs by modifying our sdf xsd XML Schema file from the Example Files Listings 179 lt oXygen gt XML Editor Developer Guide The sdf xml file refers the other file abs xsd through an import element
193. The drag and drop action in the Outline view can be disabled and enabled from the Preferences dialog i Tip You can select and drag multiple nodes in the Author Outliner tree The popup menu of the Outline tree Figure 5 4 Popup menu of the Outline tree BE Outline 3 v Ele 1 o amp 5 book http fdocbook org nsidocbook b Edit attributes Append child Insert before gt in Name Insert after E Select M cut Others gt Py Copy acknowledgements th Paste appendix Paste before article 5 0 Paste after bibliography Paste as Child chapter X Delete colophon dedication I Toggle Comment glossary Rename Element index part 4 Expand All preface Collapse All reference a eae LO Edit attributes for the selected node A dialog is presented allowing the user to see and edit the attributes of the selected node See here for more details about editing attributes The Append child Insert before and Insert after submenus of the outline tree popup menu allow to quickly insert new tags in the document at the place of the element correctly selected in the Outline tree The Append child submenu lists the names of all the elements which are allowed by the schema associated with the current document as child of the current element The effect is the same as typing the lt character and selecting an element name from the popup menu offered by the content completion assistant The Insert before and Insert
194. The name of the new container Container type At creation time every container must have a type defined for it This container type identifies how XML documents are stored in the container As such the container type can only be determined at container creation time you cannot change it on subsequent container opens Containers can have one of the following types specified for them Node container Whole document container Allow validation Xml documents are stored as individual nodes in the container That is each record in the underlying database contains a single leaf node its attributes and attribute values if any and its text nodes if any BDB XML also keeps the information it needs to reassemble the document from the individual nodes stored in the underlying databases This is the default and preferred container type The container contains entire documents the doc uments are stored without any manipulation of line breaks or whitespace If checked it causes documents to be validated when they are loaded into the container The default behavior is to not validate documents Index nodes If checked it causes indices for the container to return nodes rather than documents The default is to index at the document level This property has no meaning if the container type is whole document container Actions available at container level Refresh performs a refresh of the selected node s subtree
195. The value must be interpreted as a size expressed in pixels relative to the viewing device The value must be interpreted as a size expressed in millimeters The value must be interpreted as a size expressed in centimeters The value must be interpreted as a size expressed in inches 1 inch is equal to 2 54 centimeters The value must be interpreted as a size expressed in points The points used by CSS2 are equal to 1 72th of an inch The value must be interpreted as a size expressed in picas 1 pica is equal to 12 points This argument specifies a value that is used by default if the attribute value is missing This argument is optional 216 lt oXygen gt XML Editor Developer Guide Example 7 7 Usage samples for the attr function Consider the following XML instance lt sample gt lt para bg_color AAAAFF gt Blue paragraph lt para gt lt para bg_color red gt Red paragraph lt para gt lt para bg_color red font_size 2 gt Red paragraph with large font lt para gt lt para bg_color 00AA00 font_size 0 8 space 4 gt Green paragraph with small font and margin lt para gt lt sample gt The para elements have bg_color attributes with RGB color values like AAAAFF We can use the attr function to change the elements appearance in the editor based on the value of this attribute background color attr bg_color color The attribute ont_ size represents the font size in em units We can use this
196. This mode determines whether source documents should be parsed with schema validation enabled if an XML Schema is provided This determines whether source docu ments should be parsed with schema validation disabled Validation errors in the results tree Available only for Saxon SA If checked all validation errors are treated as treated as warnings warnings otherwise they are treated as fatal When creating a scenario that applies to an XML file lt oXygen gt fills the XML URL with the default variable currentFile This means the input for the transformation is taken from the currently edited file You can modify this value to other file path This is the case of currently editing a section from a large document and you want the transformation to be performed on the main document not the section You can specify in this case either a full absolute path file c project docbook test xml or a path relative to one of the editor variables like the current file directory S cfdu test xml When the scenario applies to XSL files the field XSL URL is containing currentFile Just like in the XML case you can specify here the path to a master stylesheet The path can be configured using the editor variables 272 Transforming documents Figure 9 3 The Configure Transformation Dialog FO Processor Tab Edit scenario Scenario XSLT FO Processor Output IV Perform FO Processing Name Docbook PDF
197. Thisisa Docbook HTHL transformation scenario For this press the gt spok aion 20 figure Configure transformation scenario 4 button or the shortcut gt 8 authorinitials title Lake in Fagaras CTRL SHIFT C 4 or PMETA SHIFT C 4 on Mac OS X then select Ebeginpage mediaobject the scenario Press POk4 E bibliolist imageobject To apply the stylesheet you have to press the Apply transformation Ebiblioref 4 0 para In order to preview scenario button or to press DCTRL SHIFT T4 PMETA SHIFT T4 E blockquote para To apply the stylesh on Mac OSX oe og ect iv A citation title CALS Tables and List Paita nto 3 gt Text Grid Author Caret Before After O writable Insert 2e AB ABr Although lt oXygen gt comes with already configured frameworks for DocBook DITA TEI XHTML you might need to create a customization of the editor to handle other types of documents For instance in the case you have a collection of XML document types used to define the structure of the documents that are used in your organisation and you want them visually edited by people who are not experienced in using XML There are several ways to customize the editor 1 Create a CSS file defining styles for the XML elements the user will work with and create XML files that refer the CSS through an xml stylesheet processing instruction 134 lt oXygen gt XML Editor Developer Guide 2 Fully configure a document type as
198. XPath Figure 15 45 The XPath preferences panel XPath avn V Unescape XPath expression XPath Default Namespace only for XPath version 2 0 No namespace Use the default namespace from the root element D Use the namespace of the root D This namespace Default prefix namespace mappings Prefix Namespace URI Unescape XPath expression When checked unescapes the entities found in the XPath expression For example the expression varlistentry starts with os amp x73 is equivalent with varlistentry starts with os s No namespace If checked lt oXygen gt will consider unprefixed element names in XPath expres sions evaluated in the XPath console as belonging to no namespace 375 Configuring the application Use the default namespace from the If checked lt oXygen gt will consider unprefixed element names in XPath expres root element sions evaluated in the XPath console as belonging to the default namespace de clared on the root element of the document Use the namespace of the root If checked lt oXygen gt will consider unprefixed element names in XPath expres sions evaluated in the XPath console as belonging to the same namespace as the root element of the document This namespace The user has the possibility to enter here the namespace of the unprefixed ele ments used in the XPath console Default prefix namespace mappings Associates prefixes to namespac
199. Y Validate document function ensures that your document is compliant with the rules defined by an associated DTD XML Schema Relax NG or Schematron schema XML Schema or Relax NG Schema can embed Schematron rules For Schematron it is possible to select the validation phase Note a Validation of an XML document against a W3C XML Schema containing a type definition with a minOccurs or maxOccurs attribute having a value larger than 256 limits the value to 256 and issues a warning about this restriction in the Message panel at the bottom of the lt oXygen gt window Otherwise for large values of the minOccurs and maxOccurs attributes the validator fails with an OutOfMemory error which practically makes lt oXygen gt unusable without a restart of the entire application Note a Validation of an XML document against a deeply recursive Relax NG schema may fail with a stack overflow error It happens very rarely and the cause is the unusual depth of the Relax NG pattern recursion needed to match an element of the document against the schema and the depth exceeds the default stack size allocated by the Java virtual machine The error can be overcome by simply setting a larger stack size to the JVM at startup using the Xss parameter for example Xss1m S Note Validation of an XML document against a W3C XML Schema or Relax NG Schema with embedded ISO Schematron rules allows XPath 2 0 in the expressions of the ISO Schematron rules This ensures t
200. a fragment of other file in the master file the fragment must be contained in a tag having an xml id attribute and you must use an XPointer expression pointing to the xml id value For example if the master file is lt xml version 1 0 encoding UTF 8 gt lt oxygen RNGSchema test rng type xml gt lt test gt lt xi include href a xml xpointer al xmlns xi http www w3 org 2001 XInclude gt lt test gt and the a xml file is lt xml version 1 0 encoding UTF 8 gt lt test gt lt a xml id al gt test lt a gt lt test gt after resolving the XPointer reference the document is lt xml version 1 0 encoding UTF 8 gt lt oxygen RNGSchema test rng type xml gt lt test gt lt a xml id al xml base a xml gt test lt a gt lt test gt 55 Editing documents The XInclude support in lt oXygen gt is turned on by default You can toggle it by going to the entry Enable XInclude processing in the menu Window Preferences oXygen XML XML Parser When enabled lt oXygen gt will be able to validate and transform documents comprised of parts added using XInclude Working with XML Catalogs When Internet access is not available or the Internet connection is slow the OASIS XML catalogs http www oasis open org committees entity spec html present in the list maintained in the XML Catalog Preferences panel will be scanned trying to map a remote system ID at document validation or
201. a skeleton document containing the document prolog a root element and possibly other child elements depending on the options specific for each schema type Use the following procedure to create documents The lt oXygen gt plugin installs a series of Eclipse wizards for easy creation of new documents Using these wizards you let lt oXygen gt fill in details like the system ID or schema location of a new XML document the minimal markup of a DocBook article or the namespace declarations of a Relax NG schema Procedure 4 1 Creating new documents l Select File gt New gt gt Other Ctrl N or press the T New toolbar button is displayed which contains the supported Document Types XML CSS File Figure 4 1 The New wizard New JE Select a wizard gt An XML wizard that creates sample XML file Wizards type filter text amp oxygen a fe CSS File New From Templates oF XML Project 31 ot XI i po Ai 3 xm Project v 2 Select a document type then click Next For example if XML was selected the Create an XML Document wizard is started 3 Type a name for the new document and press Next 4 The Create an XML Document dialog enables definition of a XML Document Prolog using the system identifier of a XML Schema DTD Relax NG full or compact syntax NRL Namespace Routing Language or NVDL Namespace based Validation Dispatching Language schema As not all XML documents are requ
202. abase schemas How to Configure a PostgreSQL 8 3 Connection 1 Zi 4 Go to Preferences gt Data Sources In the Connections panel click the New button Enter a unique name for this connection and select one of the previously configured PostgreSQL data sources from the Data Source combo box Fill in the Connection Details URL URL to the installed PostgreSQL engine User User name to access the PostgreSQL database engine Password Password to access the PostgreSQL engine Click OK Resource Management Database Explorer View This view presents in a tree like fashion the database connections configured in Preferences gt Data Sources You can connect to a database simply by expanding the connection node The database structure can be expanded up to column level lt oXygen gt supports multiple simultaneous database connections and the connections tree provides an easy way to browse them 306 Working with Databases Figure 12 3 Database Explorer View gt 0D a 4 82 wesys 02 OLAPSYS 9 93 crxsys 3 a HR E COUNTRIES E DEPARTMENTS gt El EMPLOYEES FB EMPLOYEE_ID DECIMAL GH FIRST_NAME VARCHAR FB LAST_NAME VARCHAR EX EMAIL VARCHAR GA PHONE_NUMBER VARCHAR EX HIRE_DATE DATE wm The following objects are displayed by the Database Explorer view b Connection O Catalog Q XML Schema Repository XML Schema Component 28 Schema El Table
203. able gt Cleanup resultSet close statement close connection close return fragmentBuffer toString Some of the values from the database table may contain characters that must be escaped in XML to ensure the fragment is well formed param object The object from the database return The escaped string representation AX A A F KF gt Se private String xmlEscape Object object String str String valueOf object return str replaceAll s amp amp replaceAll lt amp 1lt SDFExtensionsBundle java package simple documentation framework 239 lt oXygen gt XML Editor Developer Guide import ro sync import ro sync import ro sync import ro sync import ro sync import ro sync import ro sync import ro sync import ro sync import ro sync public class S public Stri return public String getDescriptio return public Author ecss ecss ecss ecss ecss ecss ecss ecss exml extensions editor xmleditor pageau api api api api api apl apl Aut Au Au Au St gti Tyt EXT contentcompletion xml Sche extensions j extensions extensions extensions extensions extensions extensions no CNO en NK rEx rReferenceR tensions maManagerFilter tateListener sio mentLoca commons DFExtensionsBundle extends ng getDocume ExtensionS
204. ace e Before and after CSS block nodes e Ifthe current node has an ancestor that is a CSS table element Editing documents You can insert space characters in any text nodes Line breaks are permitted only in space preserve elements Tabs are marked in the space preserve elements with a little marker Note CDATA sections comments processing instructions have by default the white space CSS property set to pre unless overridden in the CSS file you are using Also they are considered to be block nodes Minimize differences between versions saved on different computers The number of differences between versions of the same file saved by different content authors on different computers can be minimized by imposing the same set of formatting options when saving the file for all the content authors An example for a procedure that minimizes the differences is 1 Create an lt oXygen gt project file that will be shared by all content authors 2 Set your own preferences in the following panels of the Preferences dialog Editor Format and Editor Format XML 3 Save the preferences of these two panels in the lt oXygen gt project by selecting the button Project Options in these two panels 4 Save the project and commit the project file to your versioning system so all the content authors can use it 5 Make sure the project is opened in the Project view and open your XML files in the Author mode and save them 6 Commit the s
205. after submenus of the Outline tree popup 85 Authoring in the tagless editor menu list the elements which are allowed by the schema associated with the current document as siblings of the current element inserted immediately before respectively after the current element The Cut Copy and Delete items of the popup menu execute the same actions as the Edit menu items with the same name on the elements currently selected in the outline tree Cut Copy Paste You can insert a well formed element before after or as a child of the currently selected element by accessing the Paste before Paste after or Paste as Child actions The Toggle Comment item of the outline tree popup menu encloses the currently selected element of the outline tree in an XML comment if the element is not commented or removes the comment if it is commented Using the Rename Element action the element from the caret position and the elements that have the same name as the current element can be renamed according with the options from the Rename dialog The actions expand collapse the selection and all its children i Tip You can Copy Cut or Delete multiple nodes in the Outliner by using the contextual menu after selecting all the nodes in the tree Elements view Figure 5 5 The Elements View lt x Elements 3 para v E E acronym E action E address E anchor E application E author E authorinitials E beginp
206. age E bibliolist E biblioref E blockquote E calloutlist E caution E citation E citerefentry Mi Caret Before After Presents a list of all defined elements that you can insert in your document All elements from a sequence are presented but the invalid proposals which cannot be inserted in the current context are grayed out The upper part of the view features a combo box that contains the current element s ordered ancestors Selecting a new element in this combo box will update the list of the allowed elements in Before and After tabs Three tabs present information relative to the caret location e Caret shows a list of all the elements allowed at the current caret location Double clicking any of the listed elements will insert that element at the caret position e Before shows a list of all elements that can be inserted before the element selected in the combo box Double clicking any of the listed elements will insert that element before the element at the caret position 86 Authoring in the tagless editor e After shows a list of all elements that can be inserted after the element selected in the combo box Double clicking any of the listed elements will insert that element after the element at the caret position Double clicking an element name in the list surrounds the current selection in the editor panel with the start tags and end tags of the element If there is no select
207. ailable functions e the section called XML Document Overview e the section called Outliner filters e the section called Modification Follow up e the section called Document Structure Change e the section called Document Tag Selection Figure 4 31 The Outline View DE Outline 3 ill ule TIMO E personnel person Big Boss name e ei 7 e lt person id Big Boss gt o ii lt name gt 0 persc lt family gt Boss lt family gt 2 0 n lt given gt Big lt given gt t lt name gt given One email one oxygenxml com link Big Boss person two worker 2 0 person three worker name E email three oxygenxml com link Big Boss person four worker person five worker 48 Editing documents XML Document Overview The Outline view displays a general tag overview of the current edited XML Document It also shows the correct hierarchical dependencies between the tag elements making it easier for the user to be aware of the document s structure and the way tags are nested The Expand all and Collapse all items of the popup menu available on the outline tree enlarge or reduce the set of nodes of the edited document currently visible in the view The tree expansion action is a faster alternative to mouse clicks on the plus signs of the tree when one wants to access quickly a node deeply nested in the hierarchy of document nodes When a la
208. all the changes accepted This filtering will happen only if the selection is not entirely inside a tracked change D Tip For each change the author name and the modification time are preserved The changes are stored in the document as processing instructions and they do not interfere with validating and transforming it Managing changes You can review the changes made by you or other authors and then accept or reject them using the Track Changes A vy xy Y toolbar buttons ESPA or the similar actions from the Edit menu Track Changes Enable or disable track changes for the current document Accept Change Accept the change located at the caret position For an insert change this means keeping the inserted text and for a delete change this means removing the content from the document The action is also available in the Author page contextual menu Reject Change Reject the change located at the caret position For an insert change this means re moving the inserted text and for a delete change this preserving the original content from the document The action is also available in the Author page contextual menu Manage Tracked Changes This is a way to find and manage all changes in the current document 100 Authoring in the tagless editor Figure 5 25 Manage Tracked Changes a Description Inserted by John Doe Wed Jun 10 11 38 14 EEST 2009 The dialog offers the following actions Next Find the next chan
209. aller files in the main file XInclude is targeted as the replacement for External Entities The advantage of using XInclude is that unlike the entities method each of the assembled documents is permitted to contain a Document Type Declaration DOCTYPE Decl This means that each file is a valid XML instance and can be independently validated It also means that the main document to which smaller instances are included can be validated without having to remove or comment the DOCTYPE Decl as is the case with External Entities This is makes XInclude a more convenient and effective method for managing XML instances that need to be stand alone documents and part of a much larger work The main application for XInclude is in the document orientated content frameworks such as manuals and Web pages Employing XInclude enables authors and content managers to manage content in a modular fashion that is akin to Object Orientated methods used in languages such as Java C or C The advantages of modular documentation include reusable content units smaller file units that are easier to edited better version control and distributed authoring An example create a chapter file and an article file in the samples folder of the lt oXygen gt install folder and include the chapter file in the article file using XInclude Chapter file introduction xml lt xml version 1 0 gt lt DOCTYPE chapter PUBLIC OASIS DTD DocBook XML V4 3 EN http www
210. ally shown Note A custom validator cannot be applied on files loaded through an lt oXygen gt custom protocol plugin developed independently and added to lt oXygen gt after installation This applies also on columns of type XML You will be notified if the value you have entered in a cell is not valid and thus it cannot be updated e If the content of the edited cell does not belong to the data type of the column an Information dialog will appear notifying you that the value you have inserted cannot be converted to the SQL type of that field For example in the above figure DEPARTMENT_ID contains NUMBER values If a character or string was inserted you would get the following message Figure 12 8 Cell containing an invalid value Error x Cannot convert class java lang String to SQL type requested e If the constraints of the database are not met like primary key constraints for example an Information dialog will appear notifying you of the reason the database has not been updated For example if you d try to set the primary key DEPARTMENT_ID for the second record in the table to 10 also you would get the following message Figure 12 9 Duplicate entry for primary key 5 CIDE DEPARTMENT_ID NUMBER DEPARTMENT_NAME VARCHAR2 MANAGER_ID NUMB LOCATION_ID NUMB 0 10 ini j 171 1 20 57 181 sE Error E 3 40 24 4 50 Error O
211. alog by right clicking on a tree node and selecting the Change permissions menu item which brings up the following dialog 26 Editing documents Figure 4 10 FTP server change file permissions Change permissions Owner Write O Execute Group Read write JExecute Public Read write JExecute Permissions 644 This operation is not available on all servers The usual Unix file permissions Read Write and Execute are granted or denied in this dialog for the owner of the file the group of the owner and the rest of the users The aggregate number of the current state of the permissions is updated in the Permissions text field when a permission is modified with one of the check boxes Opening the current document in a Web browser To open the current document in the default Web browser installed on the computer use the action Open in browser available on menu XML and also on the Document toolbar It is useful for seeing the effect of applying an XSLT stylesheet or a CSS stylesheet on a document which specifies the stylesheet using an xml stylesheet processing instruction Closing documents To close documents use one of the following methods e File gt Close Ctrl F4 Closes only the selected tab All other tab instances remain e File gt Close All Ctrl Shift F4 Closes all opened documents If a document is modified or has no file a prompt to save not to save or cancel the save ope
212. ame of the first XSLT template that starts the XSLT transformation or the initial mode of transformation 270 Transforming documents Figure 9 2 The advanced options of Saxon SA Saxon B Saxon SA 9 1 0 3 Advanced options Version warnings not novw 7 DTD based validation of the source file v Cl Line numbering I Handling of recoverable stylesheet errors O Recover silently w0 Recover with warnings w1 O Signal the error and do not attempt recovery w2 Strip whitespaces O All sall Ignore signorable O None snone Initial mode Initial template Saxon 5 specific options Validation of the source file O Schema validation wal O Lax schema validation wlax Disable schema validation Validation errors in the result tree treated as warnings vw The advanced options specific for Saxon SA Saxon B are Allow calls on extension functions If checked the stylesheet is allowed to call external Java functions Version warnings If checked display a warning when it is applied to an XSLT 1 0 stylesheet DTD based validation of the source If checked the source XML file is validated against the declared DTD file Line numbering Include the line number in errors for the Handling of recoverable stylesheet Policy for handling recoverable errors in the stylesheet Allows the user to choose errors how dynamic errors will be handled Either one of the followin
213. ame dialog When working on a large document the folding support can be used to collapse some elements content leaving in focus only the ones you need to edit Foldable elements are marked with a small triangle painted in the upper left corner Hovering with the mouse pointer over that marker the entire content of the element is highlighted by a dotted border for quick identification of the foldable area When working on a suite of documents that refer to one another references external entities XInclude DITA conref etc the linking support is useful for navigating between the documents In the predefined customizations that are bundled with lt oXygen gt XML Author links are marked with an icon representing a chain link 4 When hovering with the mouse pointer over the marker the mouse pointer will change to indicate that the link can be followed and a tooltip will present the destination location Clicking on a followable link will result in the referred resource being opened in an editor The same effect can be obtained by using the action Open file at caret when the caret is in a fol lowable link element To position the cursor at the beginning or at the end of the document you can use Ctrl Home and Ctrl End respectively 89 Authoring in the tagless editor Displaying the markup In Author view the amount of displayed markup can be controlled using the following dedicated actions gt Full Tags with Attributes disp
214. ame matching tag Use content completion Use content completion Close the inserted element If it has no matching end tag Add element content C Add optional content C add first Choice particle Recently used entries Show recently used items Pr Case sensitive search O Cursor position between tags C Show all entities Insert the required attributes C Insert the fixed attributes om Maximum number of recent items shown Learn options Auto close the last opened tag Automatically rename matching tag Use Content Completion Close the inserted element If it has no matching tag Add element content Learn attributes values Learn on open document Learn words Dynamic Abbreviations available on CTRL SPACE If the Use Content Completion option is not checked and if this option is checked lt oXygen gt will close the last opened tag when lt is typed If checked lt oXygen gt will automatically rename the matching end tag when the start tag is modified in the editor When unchecked all Content Completion features are disabled When inserting elements from the Content Completion assistant both start and end tags are inserted When checked the end tag of the inserted element will be automatically added only if it is not already present in the document When checked lt oXygen gt will insert automatically the required elements from the DTD or XML Schema This option is applied also in
215. an XPointer element scheme otherwise it assumes it is an ID A non null IDTypeVeri fier will always be provided if a schema is associated with the document type The l ink string argument is the anchor part of the of the URL which is composed from the value of the link property specified for the link element in the CSS public ElementLocator getElementLocator IDTypeVerifier idVerifier String link ElementLocator elementLocator null try if link startsWith element xpointer element scheme elementLocator new XPointerElementLocator idVerifier link else Locate link element by ID elementLocator new IDElementLocator idVerifier link catch ElementLocatorException e logger warn Exception when creat lement locator for link link Cause e e return elementLocator 190 lt oXygen gt XML Editor Developer Guide The XPointerElementLocator implementation The XPointerElementLocator is an implementation of the abstract class ro sync ecss exten sions api link ElementLocator for links that have one of the following XPointer element scheme patterns element element ID locate the element with the specified id element 1 2 3 A child sequence appearing alone identifies an element by means of stepwise nav igation which is directed by a sequence of integers separated by slashes each integer n locat
216. ana X5D Editor Attribute Name Annotation documentation any XSD Editor ANY v sl gt Preview 2 lt xs documentation gt caret lt xs document gt You can define a code template for a specific type of editor or for all editor types New Define a new code template Edit Edit the selected code template Duplicate Duplicate the selected code template Delete Delete the selected code template Import Import a file with code templates Export Export a file with code templates 356 Configuring the application Document Templates The user can add template files in the templates folder of the lt oXygen gt install directory Directories to be scanned for additional templates can also be specified in the Document Templates option page The Document Templates preferences panel is opened from menu Window Preferences gt Author Editor Tem plates Document Templates Figure 15 25 Document Templates preferences panel Document Templates Pr Additional templates directories Choose templates directory Directory Spell Check The Spell Check preferences panel is opened from menu Window Preferences gt Author Editor Spell Check 357 Configuring the application Figure 15 27 Spell check preferences panel Spell Check Pr Automatic spell check C Apply spell checking on whole document Default language English ly XML language attributes Obey lang and xm
217. and drop it on another one in the same panel then the dragged element will be moved after the drop target element If you hold the mouse pointer over the drop target for a short time before the drop then the drop target element will be expanded first and the dragged element will be moved inside the drop target element after its opening tag You can also drop an element before or after another element if you hold the mouse pointer towards the upper or lower part of the targeted element A marker will indicate whether the drop will be performed before or after the target element If you hold down the CTRL key the performed operation will be copy instead of move The drag and drop action in the Outline view can be disabled and enabled from the Preferences dialog 49 Editing documents The popup menu of the Outline tree Figure 4 32 Popup menu of the Outline tree B Outline 3 gt lee lT On 7O article http docbook org ns docbook info secti title Inline Markup and Images para Append child gt t8dtjoxygenftxat 4 para Insert before gt info figur Insert after gt subtitle pare Editattributes title para titleabbrew 3 0 secti gt Toggle Comment yA title Ryc 0 pare ip a 4 0 item Cut para X Delete kat 4 para colspecs 3 0 tabl Expand All 0 pare Collapse All table hsides The Append Child Insert Before and Insert After submenus of the
218. and usage of the lt oXygen gt classpath while transforming Increasing the memory for the Ant process You can give custom JVM Arguments to the ANT process See here for more details Resolving topic references through an XML catalog If you customized your map to refer topics using URI s instead of local paths or you have URI content references in your DITA topic files and you want to resolve the URIs with an XML catalog when the DITA map is transformed then you have to add the catalog to lt oXygen gt The DITA Maps Manager view will solve the displayed topic refs through the added XML catalog and also the DITA map transformations for PDF output for XHTML output etc will solve the URI references through the added XML catalog DITA specializations support Important If you are using DITA specializations we recommend that you to activate the Enable DTD processing in document type detection checkbox in the Document Type Association page Support for editing DITA Map specializations In addition to recognizing the default DITA map formats map and bookmap the DITA Maps Manager can also be used to open and edit specializations of DITA Maps All advanced edit actions available for the map like insertion of topic refs heads properties editing allow the user to specify the element to insert in an editable combo Moreover the elements which appear initially in the combo are all the elements which are allowed to appear at the insert posi
219. andidates Stop Stops the detection of the driver candidates Edit Opens the Data Sources Drivers dialog allowing you to edit the selected driver See above the specifications for the Data Sources Drivers dialog in order to edit a data source there must be no connections using that data source driver Delete Deletes the selected Data Source Driver in order to delete a data source there must be no connections using that data source driver Figure 15 51 The Connections preferences panel Connections Enable Name URL A DB2 jdbc db2 10 0 0 16 50000 SAMPLE retriev O exist xmldb exist 10 0 0 16 8080 exist xmirpc A SQL Server jdbc sqlserver 10 0 0 16 instanceName 500 A Oracle 10g connect jdbc oracle thin 10 0 0 5 1521 ORACLE A MarkLogic New Exit Delete Limit the number of cells 2000 Maximum number of children for container nodes 200 Convert DB Structure to XML Schema S Note Checked connections will be visible in the Database Explorer View For performance issues you can set the maximum number of cells that will be displayed in the Table Explorer view Leave the field Limit the number of cells empty if you want the entire content of the table to be displayed By default this field is set to 2 000 If a table having more cells than the value set here is displayed in the Table Explorer view a warning dialog will inform you that the table is only partially shown In Oracle XML and Tamino database
220. ansforming documents NET 1 0 NET 2 0 Saxon NET Intel XML Software Suite 4e21 b05a 009d06457787 amp amp displaylang en http www microsoft com downloads details aspx FamilyID d7 158dee a83f 4e2 1 b05a 009d06457787 amp displaylang en A transformer based on the System Xml 1 0 library available in the NET 1 0 and NET 1 1 frameworks from Microsoft http msdn microsoft com xml It is available only on Windows You should have the NET Framework version 1 0 or 1 1 already installed on your system otherwise you get this warning MSXML NET requires NET Framework version 1 0 to be installed Exit code 128 You can get the NET Framework version 1 0 from Microsoft web site ht tp www microsoft com downloads details aspx FamilyID d7 15 8dee a83f 4e21 b05a 009d06457787 amp amp displaylang en http www microsoft com downloads details aspx FamilyID d7 158dee a83f 4e2 1 b05a 009d06457787 amp displaylang en A transformer based on the System Xml 2 0 library available in the NET 2 0 framework from Microsoft http msdn microsoft com xml It is available only on Windows You should have the NET Framework version 2 0 already installed on your system otherwise you get this warning MSXML NET requires NET Framework version 2 0 to be installed Exit code 128 You can get the NET Framework version 2 0 from Microsoft web site ht tp www microsoft com downloads details aspx FamilyID 9655 156b 356b 4a2c 857c ce62f5
221. any additional precautions Before any operation which modifies the archive is performed the archive contents will be duplic ated The duplicate file name will be origin alArchiveFileName bak and will be saved in the same directory Before each operation which modifies the archive is performed the archive contents will be duplic ated The duplicate file names will be origin alArchiveFileName bak dupNo and the files will be saved in the same directory Check this if you want to be notified for backup when modifying in archives The last backup option you chose will always be used as the default one This table contains all known archive extensions mapped to known archive formats You can edit the table to modify existing mappings or add your own extensions to the list of known archive extensions Figure 15 55 Edit the Archive extension mappings Archive Example odf odg zip Extensions docx pptx xlsx dotx docm dotm pptm Type zip ia Description Office Open XML OOXML You can map a list of extensions to an archive type supported in lt oXygen gt 4 Important You have to restart lt oXygen gt after removing an extension from the table in order for that extension to not be recognised anymore as an archive extension Network Connections Some networks use Proxy servers to provide Internet Services to LAN Clients Clients behind the Proxy may therefore only connect to the Intern
222. apses the selection and all its children gt Expand Children Action Expands all the children of the selection but not the selection Collapse Children Action Collapses all the children of the selection but not the selection Collapse Others Collapses all the siblings of the current selection but not the selection Specific Grid Actions In order to access these actions you can click the column header and choose from the contextual menu the item Table Sorting a Table Column You can sort the table by a specific column The sorting can be either ascending or descending 261 Grid Editor The icons for this pair of actions are 2 4 The sorting result depends on the data type of the column content and it can be different in case of number or text in formation The editor analyses automatically the content and decides what type of sorting to apply If there is present a mixed set of values in the column a dialog will be displayed allowing to choose the correct type Figure 8 6 Sort Type Dialog Sort as E Choose sort type G C Alphabetically Cancel Inserting a row to a table You can add a row by either a copy paste operation over a row or directly by invoking the action from the contextual menu Table Insert row The icon is amp A shorter way of inserting a new row is to move the selection over the row header and then to press ENTER The row header is the zone in the lef
223. atalog entry 46 Editing documents lt system systemId http www oasis open org docbook xml1 5 0 rng docbook rng uri rng docbook rng gt An XML catalog can be used also to map a W3C XML Schema specified with an URN in the xsi schemaLocation at tribute of an XML document to a local copy of the schema For example if the XML document specifies the schema with lt topic xmlns xsi http www w3 org 2001 XMLSchema instance xsi noNamespaceSchemaLocation urn oasis names tc dita xsd topic xsd 1 1 gt the URN can be resolved to a local schema file with a catalog entry like lt system systemId urn oasis inames tc dita xsd topic xsd 1 1 uri topic xsd gt Document navigation Navigating between XML elements located in various parts of the currently edited document is easy due to several powerful features Folding of the XML elements XML documents are organized as a tree of elements When working on a large document you can collapse some elements leaving in the focus only the ones you need to edit Expanding and collapsing works on individual elements expanding an element leaves the child elements unchanged Figure 4 30 Folding of the XML Elements D lt person id Big Boss gt lt person id one worker gt lt name gt lt family gt Worker lt family gt lt given gt One lt given gt lt name gt lt email gt onefoxygenxrml com lt email gt lt link manager Big Boss gt lt person gt
224. aths which appear as values in parameters are considered relative to the base directory The default value is the directory where the transformed map is located Temporary files directory This directory will be used to store pre processed temporary files until the final output is obtained Output folder The folder where the final output content will be copied Output file options The transformation output can then be opened in a browser or even in the editor if specified 75 Editing documents The FO Processor tab This tab appears only when selecting to generate PDF output using the IDIOM FO Plugin and allows you to choose the FO Processor Figure 4 53 FO Processor configuration tab Edit DITA Scenario Scenario Name sequence PDF2 Idiom FO Plugin Type PDF2 Idiom FO Plugin FO Processor Parameters Filters Advanced Output Processor Built in Apache FOP v Built in Apache FOP XEP You can choose between two processors Built in Apache FOP This processor comes bundled with lt oXygen gt You can find more information about it here XEP The RenderX http www renderx com XEP processor You can add it very easy from here If you select XEP in the combo and XEP was already installed in lt oXygen gt you can see the detected installation path appear under the combo XEP is considered as installed if it was detected from one of the following sources XEP was added as an
225. ation The signature binds the signer to the document because digitally signing a document requires the originator to create a hash of the message and then encrypt that hash value with his own private key Only the originator has that private key and he is the only one can encrypt the hash so that it can be unencrypted using his public key The recipient upon receiving both the message and the encrypted hash value can decrypt the hash value knowing the originator s public key The recipient must also try to generate the hash value of the message and compare the newly generated hash value with the unencrypted hash value received from the originator If the hash values are identical it proves that the originator created the message because only the actual originator could encrypt the hash value correctly XML Signatures can be applied to any digital content data object including XML see W3C Recommendation XML Signature Syntax and Processing http www w3 org TR xmldsig core An XML Signature may be applied to the content of one or more resources e Enveloped or enveloping signatures are over data within the same XML document as the signature e Detached signatures are over data external to the signature element the signature is detached from the content it signs This definition typically applies to separate data objects but it also includes the instance where the Signature and data object reside within the same XML document but are sibl
226. ation of Data SOULCES inna e E E E a AERA 379 Download links for database drivers eccceecceecceece cece cece cece eeae eee eeueeeeeeeeeeeeeeeeetaees 381 Table BIS A eck HR ee e N 383 O O wend AIEE 383 Network Connects ernn soeey rie N gee Sareea teed 384 COTAS EEE cha xed AS EE oN a awe 386 Scenarios Manabi ir da A cada eda eee cael plis 386 QUIE a ii 387 MIS A A lO 387 Automatically importing the preferences from the other distribution ooccooccnnccnnconcconncnnccnnncnnnoninonoss 388 Reset Global OPIO cti A DOS ea E E E ete ee edt ee 388 Scenarios Management oyee derea or dsspbenedeshs sua R gests ton despyens Shee AES PEE DEE tua see ph nee stes 388 Editor variable iii Ri EI id ee eb OS 388 16 Common problem Sre eeren e lesbian dedicate fas eE E a E AG SERA 390 INGER eor O E A EE E T rA TaN 391 xiii Chapter 1 Introduction Welcome to the User Manual of the lt oXygen gt XML Author 10 3 0 plugin for Eclipse This book explains how to use the 10 3 0 version of the lt oXygen gt XML Author plugin for Eclipse effectively to author XML documents visually ina WYSIWYG like way quickly and easily The lt oXygen gt XML Author plugin for Eclipse is a cross platform application for authors who want to edit XML documents visually without extensive knowledge about XML and XML related technologies The WYSIWYG like editor is driven by CSS stylesheets associated with the XML documents and offers the option to switch
227. ationException tensions api AuthorTableColumnWidthProvider tensions api WidthRepresentation tensions api node AuthorElement mnWidthProvider rTableColumnWidthProvider The method init is taking as argument the AuthorElement that represents the XML table element In our case the column widths are specified in col elements from the table element In such cases you must collect the span information by analyzing the table element public void init Auth this tableElement orElement tableElement AuthorElement colc if colChildren n for int i 0 i lt tableElement hildren tableElement getElementsByLocalName customcol ull amp amp colChildren length gt 0 colChildren length i AuthorElement colC if i 0 colsStartOffset if i colChildr colsEndOffset c Determine the AttrValue colWidth String colWidth if colWidthAttrib colWidth colWid Add WidthRepre spans over colWidthSpecs add E hild colChildren i colChild getStartOffset en length 1 olChild getEndOffset width for this col Attribute colChild getAttribute width null ute null thAttribute getValue sentation objects for the columns this customcol specification new WidthRepresentation colWidth true The method isTableAcceptingWidth should check if the table cells are td
228. atting and Indenting also called Pretty Print enables such documents to be neatly arranged in a manner that is consistent and promotes easier reading on screen and in print output Pretty print is in no way associated with the layout or formatting that will be used in the transformed document This layout and formatting is supplied by the XSL stylesheet specified at the time of transformation Procedure 4 5 To format and indent a document 1 Open or focus on the document that is to be formatted and indented 2 Select menu XML gt Format and Indent Ctrl Shift F Cmd Shift F on Mac OS or click the toolbar button Format and indent While in progress the Status Panel will indicate Pretty print in progress On completion this will change to Pretty print successful and the document will be arranged Note Pretty Print can format empty elements as an auto closing markup tag ex lt a gt or as a regular tag ex lt a gt lt a gt It can preserve the order or attributes or order them alphabetically Also the user may specify a list of elements for which white spaces are preserved exactly as before Pretty print and one with elements for which white space is stripped These can be configured from Options Preferences Editor Format Pretty Print requires that the structured document is Well Formed XML If the document is not Well Formed XML an error message is displayed The message will usually indicate that a problem has been
229. attribute The following HTML tags are recognized inside the text content of an XML Schema annotation p br ul li They are rendered as in an HTML document loaded in a web browser p begins a new paragraph br breaks the current line ul encloses a list of items li encloses an item of the list For DTD lt oXygen gt defines a custom mechanism for annotation using comments enabled from the option Use DTD comments as annotations The text of a comment with the following format will be presented on content completion lt doc Description of th lement gt 33 Editing documents The operation of the Content Completion assistant is configured by the options available in the options group called Content Completion Code templates You can define short names for predefined blocks of code called code templates The short names are displayed in the content completion window if the word at cursor position is a prefix of such a short name lt oXygen gt comes with a lot of predefined code templates but you can define your own code templates for any type of editor Content Completion helper panels Information about the current element being edited are also available in the Model panel and Attributes panel located on the left hand side of the main window The Model panel and the Attributes panel combined with the powerful Outline view provide spacial and insight information on the edited document The Model panel The Mo
230. ave Tags display mode Tags background color Tags foreground color Track Changes If checked a block range indicator will be shown in a stripe located in the left side of the editor When checked comments from the documents edited in Author mode will be hidden When checked processing instructions from the documents edited in Author mode will be hidden When checked doctype sections from the documents edited in Author mode will be hidden If unchecked images larger than 6 megapixels 24MB uncompressed will not be loaded and displayed in Author mode Please be aware that this option is unchecked by default because of the large amounts of application memory that images of high resolution can occupy As a result an OutOfMemory error could occur which would practically make lt oXygen gt unusable without a restart of the entire application When checked the references entities XInclude DITA conref etc will also display the content of the resources they refer The content of the document is formatted by applying the Format and Indent action on every switch from the author editor to the text editor of the same document Default display mode for element tags presented in Author mode You can choose between Full Tags with Attributes Full Tags Block Tags Inline Tags Partial Tags and No Tags Allows you to configure the author tags background color Allows you to configure the author tags foreground color The Au
231. ave an attribute with this name will be returned For any no attribute name just leave the field empty 334 Text editor specific actions Attribute value The attribute value The combo box beside this field allows you to specify that you are looking for an exact or partial match of the attribute value For any no attribute value select contains in the combo box and leave the field empty If you leave the field empty but select equals in the combo box only elements that have at least an attribute with an empty value will be found Case sensitive When this option is checked operations are case sensitive VI editor actions The Text mode editor implements many actions known from the VI text editor Ctrl Delete Meta Delete on Mac Delete next word Ctrl Backspace Meta Backspace Delete previous word on Mac Ctrl W Meta W on Mac Cut previous word Ctrl K Meta K on Mac Cut to end of line 335 Chapter 15 Configuring the application Importing Exporting Global Options In the lt oXygen gt preferences page Window gt Preferences gt oXygen you can find the Import Export preferences buttons which allow you to move your global preferences in XML format from one computer to another Preferences Once the application is installed you can use the Preferences dialog accessed from Options Preferences to customize the application for your requirements and network environment You can always revert modifications to
232. aved XML files to your versioning system When other content authors will change the files only the changed lines will be displayed in your diff tool instead of one big change that does not allow to see the changes between two versions of the file Change Tracking Track Changes is a way to keep track of the changes you make to a document You can activate change tracking for the current document by choosing Edit Track Changes or by clicking the Track Changes button located on the Author toolbar When Track Changes is enabled your modifications will be highlighted using a distinctive color The name of the author who is currently making changes and the colors can be customized from the Track Changes preferences page 99 Authoring in the tagless editor Figure 5 24 Change Tracking in lt oXygen gt Author Docbook 4 supports also the XHTML tables Sample XHTML Table with fixed width and proportional column widths col span 1 width 2 08 col span 1 width 0 46 Person Name Age Jane 26 Bart 24 Alexander pa John 25 gt They belengare all students of the computer science department irszrtedby John bos Wed Apr 08 16 10 32 EEST 2009 This is a list of useful gt XMLs links When hovering a change the tooltip will display information about the author and modification time If the selection in the Author contains track changes and you Copy it the clipboard will contain the selection with
233. btree Configure Database Sources opens the Data Sources preferences page where you can configure both data sources and connections Actions available at container level Refresh performs a refresh of the selected node s subtree 2 Add Resource adds a new XML resource to the selected container Add Container creates a new collection in the selected one X Delete removes the selected collection e Rename allows you to change the name of the selected collection e Move allows you to move the selected collection in a different location in the database tree Actions available at resource level Refresh performs a refresh of the selected resource S Open opens the selected resource in the editor e Rename allows you to change the name of the selected resource e Move allows you to move the selected resource in a different collection in the database tree X Delete removes the selected resource from the collection e Copy location allows you to copy to clipboard an application specific URL for the resource which can then be used for various actions like opening or transforming the resources e Properties allows the user to view various useful properties associated with the resource e Save As allows you to save the name of the selected binary resource as a file on disk 326 Working with Databases WebDAV Connection This section presents the procedure used to configure a WebDAV connect
234. can be saved at this point public void deactivated AuthorAccess authorAccess Store the option authorAccess getOptionsStorage setOption sdf custom option key optionValue Remove the option listener authorAccess getOptionsStorage removeOptionListener sdfOptionListener Remove document listeners authorAccess getDocumentController removeAuthorListener sdfAuthorDocumentListener Remove mouse listener authorAccess getEditorAccess removeAuthorMouseListener sdfMouseListener Remove caret listener authorAccess getEditorAccess removeAuthorCaretListener sdfCaretListener Other actions Configuring a Content completion handler You can filter or contribute to items offered for content completion by implementing the ro sync contentcom pletion xml SchemaManagerFilter interface import java util List import ro sync contentcompletion xml CIAttribute import ro sync contentcompletion xml CIElement import ro sync contentcompletion xml CIValue import ro sync contentcompletion xml Context import ro sync contentcompletion xml SchemaManagerFilter import ro sync contentcompletion xml WhatAttributesCanGoHereContext import ro sync contentcompletion xml WhatElementsCanGoHereContext import ro sync contentcompletion xml WhatPossibleValuesHasAttributeContext public class SDFSchemaManagerFilter implements S
235. ccessful displays If the transform fails the message XSL transformation failed is displayed as an error message in the Messages Panel The user can stop the transformation process if the transformer offers such support by pressing the Stop transformation button In this case the message displayed in the status bar will be Transformation stopped by user For the specific case of an XQuery transformation if you chose an NXD transformer pressing the Stop transformation button will have no effect as NXD transformers offer no such support PDF Output 1 2 8 9 Change directory to oxygen frameworks docbook xsl fo Select docbook xs1 click Open The dialog closes Select the FOP tab Check the Perform FOP option The remaining options are enabled Select the following options a XSLT result as input b PDF as method c Built in Apache FOP as processor Select the Output tab In the Save As field enter the output file name relative to the current directory YourFileName pdf_ or the path and output file name C FileDirectory YourFileName pdf Optionally uncheck the XHTML and XML check boxes in the Show As group Click Transform Now The transformation is started PS Output 1 2 Change directory to oxygen frameworks docbook xsl fo Select docbook xs1 click Open The dialog closes Select the FOP tab Check the Perform FOP option The remaining options are enabled 285 Transf
236. ch column The values can be represented in fixed units proportional units or per centages Figure 5 21 HTML table Sample HTML Table with fixed width and proportional column widths col span 1 width 2 0 col span 1 width 0 5 Jane 26 Bart 24 Alexander 22 gt They are all students of the computer science department DITA The DITA table layout accepts CALS tables and simple tables The simple tables accept only relative column width specifications by using the relcolwidth attribute of the sim pletable element Figure 5 22 DITA simple table Header 1 Header 2 Column 1 olumn 2 Refreshing the content On occasion you may need to reload the content of the document from the disk or reapply the CSS This can be performed by using the Reload action For refreshing the content of the referred resources you can use the action Refresh references This action affects the displayed referred content such as references XInclude DITA conref etc However this action will not refresh the expanded external entities to refresh those you will need to use the Reload action Validation and error presenting You can validate or check the XML form of the documents while editing them in Author Editor Validate as you type as well as validate on request operations are available Author editor offers validation features and configuring possib ilities similar to text editor You can read more about ch
237. checkbox set by default will use Saxon as transformation engine will perform no FO processing and will store the result in a file with the same URL as the edited document except the extension which will be changed to html The name and path will be preserved because the output file name is specified with the help of two editor variables cfd and cfn lt oXygen gt comes with preconfigured built in scenarios for usual transformations that enable the user to obtain quickly the desired output associate one of the built in scenarios with the current edited document and then apply the scenario with just one click Defining a new transformation scenario The Configure Scenario dialog is used to associate a scenario from the list of all scenarios with the edited document by selecting an entry from the list The dialog is opened by pressing the Configure Transformation Scenario button on the Transformation toolbar of the document view Once selected the scenario will be applied with only one click on the Apply Transformation button on the same toolbar Pressing the Apply Transformation button before associating a scenario with the edited document will invoke first the Configure Scenario dialog and then apply the selected scenario Open the Configure Transformation dialog by selecting XML Configure transformation scenario Alt Shift T C Cmd Alt T C on Mac OS Complete the dialog as follows 268 Transforming documents Figure 9 1 Th
238. chemaManagerFilter 188 lt oXygen gt XML Editor Developer Guide You can implement the various callbacks of the interface either by returning the default values given by lt oXygen gt or by contributing to the list of proposals The filter can be applied on elements attributes or on their values Attributes filtering can be implemented using the filterAttributes method and changing the default content completion list of ro sync contentcompletion xml CIAttribute for the element provided by the current ro sync contentcompletion xml WhatAttributesCanGoHereContext context For example the SDFSchemaManagerFilter checks if the element from the current context is the table element and add the frame attribute to the table list of attributes public List lt CIAttribute gt filterAttributes List lt CIAttribute gt attributes WhatAttributesCanGoHereContext context If the element from the current context is the table element add the attribute named frame to the list of default content completion proposals ContextElement contextElement context getParentElement if table equals contextElement getQName CIAttribute frameAttribute new CIAttribute frameAttribute setName frame frameAttribute setRequired false frameAttribute setFixed false frameAttribute setDefaultValue void attributes add frameAttribute return attributes The elements tha
239. chical container for resources and further sub collections There are two types of resources XML resource and non XML resource An XML resource represents an xml document or a document fragment selected by a previously executed XPath query Figure 12 17 The Database Explorer View iS Database Explorer 2 athe Tamino Connection a B myCollection 4 Personal_Info 3 B clients Con Schema 22 clients 22 clientsnonxml lt 0 gt clients 1 clients xml 2 prices xml i 3 contacts xml a clientsnonxml i 1 agenda js 2 copy dtd Ly 3 fax xsl i 4 logo gif collection Mi Below you can find a description of the contextual menu actions available on the Database Explorer levels explained for each connection Please note that you can open in the editor a resource or a schema component by double clicking it Berkeley DB XML Connection Actions available at connection level Refresh performs a refresh of the selected node s subtree 322 Working with Databases Configure Database Sources opens the Data Sources preferences page where you can configure both data sources and connections e Add container allows adding a new container Figure 12 18 Add Container Dialog Container configuration Name test Container type Node container O Whole document container Allow validation C Index nodes Name
240. cing the ones with more specific XPath selectors before the ones having more generic selectors For instance the expression person name Cris and age 24 is more specific than 160 lt oXygen gt XML Editor Developer Guide person name Cris The action mode using the first expression must be placed before the one using the second expression in the action modes list We decide that we can add sections only if the current element is either a book article or another section XPath expression Set the value to local name section or local name book or local name article Invoke operation A set of built in operations is available A complete list is found in the Author Default Op erations section To this set you can add your own Java operation implementations In our case we ll use the InsertFragmentOperation built in operation that inserts an XML frag ment at the caret position Configure the arguments by setting the following values fragment lt section xmlns http www oxygenxml com sample documentation gt lt title gt lt section gt insertLocation Leave it empty This means the location will be the element at the caret position insertPosition Select Inside The Insert Table Action We will create an action that inserts into the document a table with three rows and three columns The first row is the table header Similarly to the insert section action we will use the InsertF
241. ckup C Never ask me again You have the following backup before save options No backup Perform no backup of the archive before save This means that the file will be saved directly in the archive without any additional precautions Single file backup Before any operation which modifies the archive is performed the archive contents will be duplicated The duplicate file name will be originalArchiveFileName bak and will be saved in the same directory Incremental backup Before each operation which modifies the archive is performed the archive contents will be duplicated The duplicate file names will be originalArchiveFile Name bak dupNo and the files will be saved in the same directory Never ask me again Check this if you do not want to be notified again to backup The last backup option you chose will always be used as the default one You can re enable the dialog pop up from the Archive preferences page 300 Chapter 12 Working with Databases XML is a storage and interchange format for structured data and it is supported by all major database systems lt oXygen gt offers the means of managing the interaction with some of the widely used databases both relational ones and Native XML Databases By interaction one should understand browsing querying SQL execution support content editing importing from databases generating XML Schema from database structure Relational Database Sup
242. cnnconnconnccnncrnncnnncnnncnnncnnronoss 281 Set FOP configuration file in Oxygen oocoocccnccnnccnnccnnconnconoconncnnncnnncnnronoronncnnccnnccnnccnnioos 282 lt oXygen gt XML Author 10 3 User Manual for Eclipse Add new font t FO output i enana e a a shes sented pest vhed en root ciao 282 DocBook Stylesheets cti aie aaa ee RS 282 TERI Stylesheets coria trepa ae dan vaneney Seacaqeueedons RAE decoro A EAEE NEA 283 DITA OT Stylesheets eraen a EE o 284 Common transformations seese en a o oppermecede wade aE e Sen bee peetmesl tae 284 PDE Opus tl eset aS ae at Sad aA ae heh RO gan ss a Sat aes ba 285 PS Output erotica alain italia 285 A o ehh oe tm eyed st eS ead 286 HTME OUtput sos 6 35 socescehescasech e sp sudegsstee sabes int eed bee e A AE stops tuedespeees RESSE 286 HIME Help Outputs sissies essed Moles Sek aden eae ah ee eno eee ee 287 Java Help Output osito a a debuasenagou tam dee borro delta 287 XHTML Output a ida 287 Supported XSLT processors siesena suanessy tee ger pesenees saved shot wemessny Ser repro REE EEEE EEES 288 Configuring custom XSLT processors 2 0 0 0 00 ce cece cece ee E a E E ceca SE E E e EE ES 291 Configuring the XSLT processor extensions paths cece cece cee ceee cee ce eeca ceca cece eeae eeu eeneceneeeeeeeeees 291 10 Querying document sx 225 A E T peau A sd 292 Running XPath Ex pressions e meyes pee e a tee debpunes aE ESEE AE EAEE PEERS AARS 292 What is XPath ics ro ntin A e a
243. completion 79 folding 80 format and indent pretty print 81 other editing actions 81 Outline view 80 validation 79 Editing XML documents 28 associate a schema to a document 28 adding a processing instruction 29 learning a document structure 30 setting a default schema 28 document navigation 47 folding 47 outline view 48 editor specific actions 59 document actions 61 edit actions 59 refactoring actions 62 select actions 59 smart editing 63 source actions 59 syntax highlight depending on namespace prefix 63 formatting and indenting documents pretty print 56 grouping documents in XML projects 51 large documents 51 new project 52 including document parts with XInclude 54 status information 59 streamline with content completion 30 code templates 34 the Attributes panel 35 the Elements view 36 the Entities view 36 the Model panel 34 working with XML Catalogs 56 F find replace Author editor 92 Find All Elements dialog 334 FO document type 132 association rules 133 Author extensions 133 transformation scenarios 133 schema 133 G Getting started 11 help 11 perspectives 11 database 14 editor 11 supported types of documents 11 grid editor 259 add nodes 262 bidirectional text 265 clear column content 262 copy paste 263 drag and drop 263 duplicate nodes 262 insert table row 262 inserting table column 262 layouts grid vs tree 260 navigation 260 collapse a
244. connncnoconcnoroncnoroncnoroncnnroncnoroncnoroncnanononns 327 Actions available at folder level oooocoonnoccocnncnoconcnoconcnoroncnnroncnorononoroncnnroncnaroncnaronos 328 Actions avallable ate level nieto darte veterans 328 13 Digital SIA EN EE 329 OIE ts ci 329 Canonicalizino lesa sita A A A oe eee 330 Certificates surtir tii 331 SUM sd rd ida 332 Verifying the Signature tte sata 333 14 Texteditor specific actions isidro Re wee Ba Ge tea a 334 Finding and replacing text in the current file 00 0 cece cece ce ee cence eee eeeeeeceeeeeeeeaeeea teen sean eeaeeegs 334 The End All Elements alocada oes tab sie A E p da 334 WM CAI ACHONS vs RED lane 335 15 Configuring the application A A iaa 336 Importing Exporting Global Options ooocooccnccnnncnnccnnccnnconnccnnocnnccnncnnncnnnonnncnnncnnnrnnrnnnrnnncnnccnnccnninnn 336 Preferences oe ae een A A A AED by cate 336 RO 336 o O O 338 Document Type Association orse a dica bea wens eeds EA terna E NE A NEREO 338 Editor en areas a E A E ate cola 340 Parese a tit n EEN 341 AUDIO A e tage beeps ANE eee A A esa ce N a 342 Track Changes iniaa E a NE R ARE ENEA R 343 Mess ae ti O E A DES EE do ES 344 RS 344 A NO 346 AM trio letalidad foi 347 Whites paces Ad A SN 349 CSS oct delito fetes 350 TIN AS CHIP is dao 350 xii lt oXygen gt XML Author 10 3 User Manual for Eclipse Content Completion wessen vecistoessuadesey ded eee E ph veeateh Awanasaatengeesheu des 351 AMM
245. counter and a dot book gt section gt title before article gt section gt title beforel content Section counter sect To make the documents easy to read we will add a margin to the sections In this way the higher nesting level the larger the left side indent The margin is expressed relatively to the parent bounds section margin left lem margin top lem 144 lt oXygen gt XML Editor Developer Guide Figure 7 3 A sample of nested sections and their titles document book section title My Technical Book Section 1 XML Definition Extensible Markup Language In this section of the book I will explain different XIML applications Section 2 Accessing XML data XSLT Definition DExtensible stylesheet language transformation XSLT is a language for transforming XML documents into other XML documents 4 A list of XSL elements and what they do Text Grid Author In the above screenshot you can see a sample XML document rendered by our CSS The selection avoids the text that is generated by the CSS content property This happens because the CSS generated text is not present in the XML document and is just a visual aid Styling the table Element There are standard CSS properties used to indicate what elements are tables table rows and table cells What CSS is missing is the possibility to indicate the cell spanning lt oXygen gt Author
246. cribing information XHTML XHTML stands for eXtensible HyperText Markup Language a W3C http www w3c org MarkUp standard XHTML is aimed to replace HTML While almost identical to HTML 4 01 XHTML is a stricter and cleaner version of HTML XHTML is HTML defined as an XML application All formatting during a transformation is provided under the control of an Extensible Stylesheet XSLT Specifying the appropriate XSLT enables transformation to the above formats and preparation of output files for specific user agent viewing applications including HTML HTML stands for Hyper Text Markup Language and is a W3C Standard http www w3c org MarkUp for the World Wide Web HTML is a text file containing small markup tags The markup tags tell the Web browser how to display the page An HTML file must have an htm or html file extension An HTML file can be created using a simple text editor 266 Transforming documents HTML Help Micros oft HTML H e l1 p http msdn microsoft com library default asp url library en us htmlhelp html vsconHH 1 Start asp frame true is the standard help system for the Windows platform Authors can use HTML Help to create online help for a software application or to create content for a multimedia title or Web site Developers can use the HTML Help API to program a host application or hook up context sensitive help to an application JavaHelp JavaHelp software is a full featured platform independent exten
247. ction type of a container topicref to determine how its children are related to each other You can also express relationships among topicref s using group and table structures using topicgroup and reltable Relationships end up expressed as links in the output with each participant in a relationship having links to the other participants by default A reference to a topic file may be inserted both from the toolbar action and the contextual node actions The same dialog can be used to insert references to maps or links to non dita files like pdf s 67 Editing documents Figure 4 43 Insert Topic Reference Dialog Insert Topic Reference amp samples Select H E css URL tasks changingtheoil xml lv B B 2 5 debugger B S dita Target Changing the oil in your car task changeoil lv concepts 5 image amp out r Attributes gt taskbook gt tasks fs changingtheoil xml C Navigation title fe garagetaskoverview xml E organizing xml fet shovellinasnow xml Format fo spraypainting xml Scope fed takinggarbage xml fe washingthecar xml Collection type gt temp Ea composite xml fa cermience diaman Element name topicref iv El D E Href tasks changingtheoil xml Type File filter All Files Insert and close Cancel By using the Insert Topic Reference Dialog you can easily browse for and select
248. cument has a DTD or schema phase against which its content should be checked validation is performed Do not resolve external definitions By default MSXML NET resolves external definitions such as DTD external during parse phase subsets or external entity references when parsing source XML document and stylesheet document Using this option you can disable this behaviour Note that it may affect also the validation process Strip non significant whitespaces If checked strip non significant white space from the input XML document during the load phase Enabling this option can lower memory usage and improve transformation performance while in most cases creating equivalent output Show time information If checked the relative speed of various transformation steps can be measured time to load parse and build the input document time to load parse and build the style sheet document time to compile the style sheet in preparation for the transformation time to execute the style sheet Forces ASCII output encoding There is a known problem with NET 1 X XSLT processor Sys tem Xml Xsl XsITransform class it doesn t support escaping of characters as XML character references when they cannot be represented in the output encod ing That means that when you output a character that cannot be represented in output encoding it will be outputted as Usually this happens when output encoding is set to ASCII With this option checked the outpu
249. cursor is positioned inside a comment then the commented text is uncommented Select actions The Select actions are enabled when the caret is positioned inside a tag name e contextual menu of current editor Select gt Element Selects the entire current element e contextual menu of current editor Select gt Content Selects the content of the current element excluding the start tag and end tag contextual menu of current editor Select Attributes Selects all the attributes of the current element e contextual menu of current editor Select Parent Selects the parent element of the current element Source actions e contextual menu of current editor Source Escape Selection amp Escapes a range of characters by replacing them with the corresponding character entities 59 Editing documents Figure 4 37 Escape selection Escape Characters to Entities Con o M gt to amp gt V amp to amp amp V to amp quot V to amp apos Escape Unicode Characters starting with 255 coca contextual menu of current editor Source Unescape Selection Replaces the character entities with the cor responding characters Figure 4 38 Unescape selection Unescape Entities to Characters Convert i IV Bat to gt V amp amp to amp M amp quot to V amp apos to T Unescape Characters coca contextual menu of current e
250. d Big Boss gt ES N XPath xPath 2 0 y So lt family gt Boss lt lt given gt Big lt gi Expression lt name gt personnel child person index of linki manager Boss gt 0 lt email gt chief oxyge Si manager lt link subordinates E subordinates lt person gt lt person id one worker lt name gt lt family gt Worker lt given gt One lt gi p History lt name gt Ipersonnel child person index of link manager Boss gt 0 lt email gt onefoxygenx lt link manager Big lt person gt lt person id two worker lt name gt lt family gt Worker Execute Cancel lt given gt Two lt gi lt name gt lt email gt twofoxygenxml com lt email gt lt link manager Big Boss gt lt person gt The evaluation of the XPath expression tries to resolve the locations of documents referred in the expression through the XML catalogs which are configured in Preferences and the current XInclude preferences for example when eval uating the collection URIofCollection function XPath 2 0 If you need to resolve the references from the files returned by the collection function with an XML catalog set up in the lt oXygen gt preferences you have to specify in the query which is the parameter of the collection function the name of the class of the XML catalog enabled parser for parsing these collection files The class name is ro sync xml parser CatalogEnabledXMLReader and you specify
251. d gt format number lt td gt lt td gt The lt i gt format number lt i gt function converts its first argument to a string using the format pattern string specified by the second argument and the decimal format named by the third argument or the default decimal format if there is no third argument lt td gt lt tr gt lt tr gt lt td gt current lt td gt lt td gt The lt i gt current lt i gt function returns a node set that has the current node as its only member lt td gt lt tr gt lt tr gt lt td gt generate id lt td gt lt td gt The lt i gt generate id lt i gt function returns a string that uniquely identifies the node in the argument node set that is first in document order lt td gt lt tr gt lt table gt lt section gt lt section gt lt section gt lt title gt Documentation frameworks lt title gt lt para gt One of the most important documentation frameworks is Docbook lt para gt lt image href http www xmlhack com images docbook gif gt lt para gt The other is the topic oriented DITA promoted by OASIS lt para gt lt image href http www oasis open org images standards oasis_standard jpg gt lt section gt lt book gt XSL Files sdf xsl lt xml version 1 0 encoding UTF 8 gt lt xsl stylesheet xmlns xsl http www w3 org 1999 XSL Transform version 2 0 230 lt oXygen gt XML Editor Developer Guide xpath default
252. d the jars to the Author class path For this Open the options Document Type Dialog select SDF and press the Edit button Select the Classpath tab in the lower part of the dialog Click on the Actions label The action properties are ID Name Menu access key Description Toolbar icon Menu icon Shortcut key An unique identifier for the action Use clients_report The name of the action Use Clients Report Use the letter r Enter the text Connects to the database and collects the list of clients Enter here frameworks sdf TableDB20 gif mes We assume the image TableDB20 gif for the toolbar action is already present in the frameworks sdf directory Leave empty We will use Ctrl Shift c Let s set up the operation The action will work only if the current element is a section XPath expression Invoke operation Set the value to local name section In this case we ll use our Java operation we defined earlier Press the Choose button then select simple documentation framework QueryDatabaseOpera tion Once selected the list of arguments is displayed In the figure below the first argument jdbc_driver represents the class name of the MySQL JDBC driver The connection string has the URL syntax jdbc lt database_host gt lt data base_port gt lt database_name gt The SQL expression used in the example is SELECT userID email FROM users but it can be any val
253. d the saved scenarios using Import Transformation Scenarios option All the imported scenarios will have added to the name the word import Note The scenarios are exported imported from in the global options not from the project options So be aware that the list of scenarios kept at the project level are not affected Editor variables An editor variable is a shorthand notation for a file path or directory path It is used in the definition of a command the input URL of a transformation the output file path of a transformation the command line of an external tool etc to make the command generic When the same command is applied the notation is expanded so that the same command has different effects depending on the actual value of the notation The following editor variables can be used in lt oXygen gt commands 388 Configuring the application S frameworks S frameworksDir S home S homeDir cfdu cfd S cfin S cf S currentFileURL S ps S timeStamp the path of the frameworks subdirectory of the lt oXygen gt install directory as URL the path of the frameworks subdirectory of the lt oXygen gt install directory the path of the user home directory as URL the path of the user home directory current file directory url the path of the current edited document up to the name of the parent directory as URL current file directory the path of the current edited document up
254. data db2 ex presos down load htm 1 http www 306 ibm com software data db2 express download html in the DB2 Clients and Development Tools category select the DB2 Driver for JDBC and SQLJ download link fill the download form and download the zip file Unzip the zip file and use the db2jcc jar and db2jcc_license_cu jar files in lt oXygen gt for configuring a DB2 data source Copy the jar files from the eXist database install directory to the lt oXygen gt install directory as described in the procedure for configuring an eXist data source Download Java and NET XCC distributions XCC Connectivity Packages from http xqzone marklogic com download XCC Details about configuring a MarkLogic data source are here Both SQL Server 2005 and SQL Server 2008 are supported Download the SQL Server 2005 JDBC driver called sql jdbc jar from the Microsoft website http www microsoft com downloads details aspx familyid C47053EB 3B64 4794 950D 81E1EC91C1BA amp displaylang en and use it for configuring an SQL Server data source Download the SQL Server 2008 JDBC driver called sqljdbc4 jar from the Microsoft website http www microsoft com down loads details aspx familyid f9 14793a 6fb4 475f 9537 b8fcb776befd amp display lang en and use it for configuring an SQL Server data source Download the Oracle 11g JDBC driver called ojdbc5 jar from the Oracle website http www oracle com technology software tech java sqlj_jdbc htdocs jd bc_11
255. dation Validate to validate all selected files with their declared schemas e Select contextual menu of Navigator or Package Explorer view Batch Validation Validate With to select a schema and validate all selected files with that schema XML gt Clear validation markers Alt Shift V X Cmd Alt V X on Mac OS or click the toolbar button X Clear validation markers to clear the error markers added to the Problems view at the last validation of the current edited document Also you can select several files in the views like Package Explorer Navigator and validate them with one click by selecting the action Validate selection or the action Validate selection with available from the contextual menu of that view the submenu Batch Validate If there are too many validation errors and the validation process is long you can limit the maximum number of reported errors Resolving references to remote schemas with an XML Catalog When a reference to a remote schema must be used in the validated XML document for interoperability purposes but a local copy of the schema should be actually used for validation for performance reasons the reference can be resolved to the local copy of the schema with an XML catalog For example if the XML document contains a reference to a remote schema docbook rng lt oxygen RNGSchema http www oasis open org docbook xm1 5 0 rng docbook rng type xml1 gt 1t can be resolved to a local copy with a c
256. de set the result is called canonical XML with comments In an uncommented canonical form comments are removed including delimiter for comments outside document element These three operations Digital Signing Canonicalization and Verification of the signature are available from the Tools menu or from the Editor contextual menu gt Source Canonicalizing files The user can select the canonicalization algorithm to be used for his document from the following dialog displayed by the action Canonicalize available from editor panel context menu Source 330 Digital signature Figure 13 1 Canonicalization settings dialog fa Canonicalize Input URL file C eclipse plugins com oxygenx x Canonicalize options Exclusive Exclusive with comments Inclusive Inclusive with comments XPath fftext a Output File nt projects eXmlsamples personal_can_ec xmll Canonicalize Cancel URL Specifies the location of the input URL Exclusive If selected the exclusive uncommented canonicalization method is used Exclusive with comments If selected the exclusive with comments canonicalization method is used Inclusive If selected the inclusive uncommented canonicalization method is used Inclusive with comments If selected the inclusive with comments canonicalization method is used XPath The XPath expression provides the fragments of the XML document to be signed Output Specifies the outpu
257. ded te ovade nus OSEA 128 The Open Office ODF document ty Pex ssn e E a a e a E E E E 128 ASSOCIAtION TUNES a A EE E NETER 129 SCHEMA A Aa 129 The OASIS XML Catalog document type sssr ipe E E EA E EE E EEE EE 129 ASSOCIATION TUIES A dis 129 Schema sie ai oc a e ed E S Ea E Shs bobbed obey EEE AR EE Ee EAA ENEE NEAS 129 The XML Schema document type oyen e E RN Er TEE E EE E SEARS TERRENI ET see 129 Association Tules ia E TE 130 Author CXTENSIONS Aia 130 The RelaxNG doctiment typer tit ood do A fed a EA A 130 ASSOC1AtION TUES ti aa 130 AUthOrEXtenSIONS A a E ios 130 The NV DE document ty Pectoral lirio a ceba e R anodes tirados toria ia 130 Association Tules eina E a E N E E a E ATO NNE E RETRA 130 ANO EXTENSIONS T E tenets A N a e a E N e e ea E Aa a Nna AE ET a 131 The Schematron documenttype isis A iii ONST 131 Associaton TUES nit nd 131 AUthor Extensions a a Aia aia 131 The Schematron 1 document type rsrsrs ieee shee ssenten tosh suns spbeed shoes ewan ses nin gosh on ias EEES SEE Sa 131 Association TUNES 535223 voles A EA A AE ens eae dy Sotaees 131 Author EXTENSIONS aso ida 131 The XSLT document fy pe tota io A EE E TE E EE ANES 131 ASSOCIALION TUES a A dada 131 AUthOr EXTENSIONS aia its 132 The XMLSpec doc ment type ssh saesussevagwegdaradwesawenyobd aeagawesdenttevddadaeebsaensy E EE EIA 132 Association TUNES nomine eds 132 SCHEMA caa a a e e e a a A aE 132 A uth r EXTENSIONS insae ii ii di Pi SEE 132 Templates
258. ded to access the Author features 2 Create the class simple documentation framework InsertImageOperation This class must implement the ro sync ecss extensions api AuthorOperation interface The interface defines three methods doOperation getArguments and getDescription 1 The doOperation method is invoked when the action is performed either by pressing the toolbar button selecting the menu item or through the shortcut It takes as arguments an object of type AuthorAccess and a map or argument names and values 2 The getArguments method is used by lt oXygen gt when the action is configured it returns the list of argu ments name and type that are accepted by the operation 3 The getDescription method is also used by lt oXygen gt when the operation is configured and its return value describes what the operation does Here is the implementation of these three methods pk Performs the operation 169 lt oXygen gt XML Editor Developer Guide public void doOperation AuthorAccess authorAccess ArgumentsMap arguments throws IllegalArgumentException AuthorOperationException JFrame oxygenFrame JFrame authorAccess getParentFrame String href displayURLDialog oxygenFrame if href length 0 Creates the image XML fragment String imageFragment lt image xmlns http www oxygenxml com sample documentation href href gt Inserts this fragm
259. del panel presents the structure of the current edited tag and tag documentation defined as annotation in the schema of the current document Open the Model panel from Window gt Show View gt Other oXygen Model view Figure 4 17 The Model View ES Model 3 E Ss lt xs complexType gt Namespace http fwwwy w3 org 2001 XMLSchema Content element only Attributes name string Required true Whitespace collapse Pattern o amp N E mixed boolean abstract boolean final Union block Union Did ID Model xs annotation 0 1 xs simpleContent xs complexContent xs group xs all xs choice xs sequence 0 1 xs attribute xs attributeGroup 0 UNBOUNDED xs anyAttribute 0 1 Defines a top level complex type Complex Type Definitions provide For Constraining element information items by providing Attribute Declarations governing the appearance and content of attributes Constraining element information item children to be empty or to conform to a specified element only or mixed content model or else constraining the character information item children to conform to a specified simple type definition vw The Element Structure panel The element structure panel shows the structure of the current edited or selected tag in a Tree format The information includes the name model and attributes the currently edited tag may have The allowed a
260. des in the previous cases are displayed in the tooltip window using their names When one of them is a text node it will be presented using sequence You can deactivate this feature by unchecking Options gt Preferences Editor Author Show caret positioned info checkbox Even if this option is disabled you can trigger the display of the position tooltip by pressing Shift F2 S Note The position information tooltip is not displayed if one of the modes Full Tags with Attributes or Full Tags is selected Displaying referred content The referred content entities XInclude DITA conref etc will be resolved and displayed by default You can control this behavior from the Author options page The referred resources are loaded and displayed inside the element or entity that refers them however the displayed content cannot be modified directly 91 Authoring in the tagless editor When the referred resource cannot be resolved an error will be presented inside the element that refers them instead of the content If you want to make modifications to the referred content you must open the referred resource in an editor The referred resource can be opened quickly by clicking on the link marked with the icon 4 which is displayed before the referred content The referred resource is resolved through the XML Catalog set in Preferences To update the displayed referred content so that it reflects the latest modifications of
261. display the time necessary for running the transformation If checked the Warnings view will display debug information about what tem plates are matched parameter values etc If checked lt oXygen gt will display in the Warnings view the URL of all the files loaded during transformation If checked lt oXygen gt will display in the Warnings view a table with all the matched templates and for each template the match XPath expression template name number of template modes number of calls execution time 369 Configuring the application Show the list of registered extensions If checked lt oXygen gt will display in the Warnings view a list with all the re gistered extension functions extension elements and extension modules Refuses to write to any file or re If checked the XSLTProc processor will not write any part of the transformation source result to an external file on disk If such an operation is requested by the pro cessed XSLT stylesheet the transformation ends with a runtime error Refuses to create directories If checked the XSLTProc processor will not create any directory during the transformation process If such an operation is requested by the processed XSLT stylesheet the transformation ends with a runtime error MSXML The MSXML preferences panel is opened from menu Window Preferences Au thor XML XSLT FO XQuery XSLT MSXML Figure 15 41 The MSXML preferences panel MSXML 3 0 4 0 Pp
262. ditor 2 Associate the ext extension with the Oxygen XML content type go to Windows gt Preferences gt General gt Content Types and for the Text gt XML gt oXygen XML content type add ext to the File associations list 3 Press the OK button of the Eclipse preferences dialog When a ext file is opened the icon of the editor and the syntax highlight should be the same as for XML files opened with the Oxygen XML Editor 390 Index Symbols lt oXygen gt CSS extensions lt oXygen gt CSS custom functions 221 attributes 224 base uri 222 capitalize 222 concat 222 local name 221 lowercase 222 name 221 parent url 222 replace 223 unparsed entity uri 223 uppercase 222 url 221 additional properties folding elements 219 link elements 220 supported features from CSS Level 3 additional custom selectors 217 attr function 215 namespace selectors 214 A Archives 297 browse 297 edit 299 file browser 297 modify 297 Author editor 82 Attributes view 87 Change Tracking 99 content author role 83 contextual menu 92 edit content 95 edit markup 94 editing XML 94 Elements view 86 Entities view 88 external references 91 find replace 92 navigation 88 bookmarks 90 display the markup 90 Outline view 84 position information tooltip 90 reload content 97 roles content author developer 83 validation 97 whitespace handling 98 versi
263. ditor Source Indent selection Ctrl I Cmd I on Mac OS Corrects the indent ation of the selected block of lines contextual menu of current editor Source Format and Indent Element Ctrl I Pretty prints the element that surrounds the caret position contextual menu of current editor Source Import entities list 1 Shows a dialog that allows you to select a list of files as sources for external entities The DOCTYPE section of your document will be updated with the chosen en tities For instance if choosing the file chapterl xml and chapter2 xml the following section is inserted in the DOCTYPE lt ENTITY chapterl SYSTEM chapterl xml gt lt ENTITY chapter2 SYSTEM chapter2 xml gt 60 Editing documents Double click on an element or processing instruction If the double click is done before the start tag of an element or after the end tag of an element then all the element is selected by the double click action If it is done after the start tag or before the end tag then only the element content without the start tag and end tag is selected contextual menu of current editor Join and normalize The action works on the selection It joins the lines by re placing the line separator with a single space character It also normalizes the whitespaces by replacing a sequence of such characters with a single space XML document actions contextual menu of current editor Show Definition mov
264. document containing the section must not define again the DTD lt section gt here comes the section content lt section gt Note won The indicated DTD and the element names section chapter are used here only for illustrating the inclusion mechanism You can use any DTD and element names you need When splitting a large document and including the separate parts in the master file using external entities only the master file will contain the Document Type Definition the DTD or other type of schema The included sections can t define again the schema because the main document will not be valid If you want to validate the parts separately you have to use XInclude for assembling the parts together with the master file Creating an included part Open a new document of type XML with no associated schema You can type in the edited document the root element of your section For example if you are using DocBook it can be lt chapter gt lt chapter gt or lt section gt lt section gt Now if you are moving the cursor between the tags and press lt you will see the list of element names that can be inserted 51 Editing documents Figure 4 33 Content Completion list over a document with no schema lt xml version 1 0 encoding UTF 8 gt lt book gt lt title gt lt al lt ti E abbrev An abbreviation especially one followed by a period lt art E acronym Category Traditional Publish
265. dow If an output message of the external validation engine warnings errors fatal errors etc spans between three to five lines of text and has the following format then the message is linked to a location in the validated document so that a click on the message in the output view highlights the location of the message in an editor panel containing the file referred in the message This behavior is similar to the linked messages generated by the default built in validator The format for linked messages is e Type FIEIW the string Type followed by a letter for the type of the message fatal error error warning this line is optional in a linked message e SystemID a system ID of a file the string SystemID followed by the system ID of the file that will be opened for highlighting when the message is clicked in the output message usually the validated file the schema file or an included file e Line a line number the string Line followed by the number of the line that will be highlighted e Column a column number the string Column followed by the number of the column where the highlight will start on the highlighted line this line is optional in a linked message e Description the text of the message the string Description followed by the text content of the message that will be displayed in the output view Validation Scenario A complex XML document is usually split in smaller interrelated modules which do no
266. dows XP platforms It can be used for transformation lt oXygen gt use the Microsoft XML parser through its command line tool m s x s l gt e x e http msdn microsoft com library default asp url library en us dnxml html msxsl asp Because msxsl exe is only a wrapper Microsoft Core XML Services MSXML must be installed on the computer otherwise you get an corresponding warning You can get the latest Microsoft XML parser from Microsoft web site ht tp www microsoft com downloads details aspx FamilyId 3 144B72B B4F2 46DA B4B6 C5D7485F2B428 displaylang en http www microsoft com downloads details aspx FamilyId 3144B72B B4F2 46DA B4B6 C5D7485F2B424displaylang en MSXML NET http msdn microsoft com xml is available only on Windows NT4 Windows 2000 and Windows XP platforms It can be used for transform ation lt oXygen gt performs XSLT transformations and validations using NET Framework s XSLT implementation System Xml Xsl XslTransform class through the nxslt http www tkachenko com dotnet nxslt html command line utility The nxslt version included in lt oXygen gt is 1 6 You should have the NET Framework version 1 0 already installed on your system otherwise you get this warning MSXML NET requires NET Framework version 1 0 to be installed Exit code 128 You can get the NET Framework version 1 0 from Microsoft web site ht tp www microsoft com downloads details aspx FamilyID d7 158dee a83f 289 Tr
267. dthRepresentation gt getCellWidth AuthorElement cellElement int colNumberSta int colSpan List lt WidthRepresentation gt toReturn null int size colWidthSpecs size if size gt colNumberStart amp amp size gt colNumberStart colSpan toReturn new ArrayList lt WidthRepresentation gt colSpan for int i colNumberStart i lt colNumberStart colSpan i Add the column widths toReturn add colWidthSpecs get i return toReturn The methods commit TableWidthModificationand commitColumnWidthModifications are used for committing changes made to the width of the table or its columns when using the mouse drag gestures public void commitTableWidthModification AuthorDocumentController authorDocumentControlle int newTableWidth String tableCellsTagName throws AuthorOperationException if td equals tableCellsTagName if newTableWidth gt 0 if tableElement null String newWidth String valueOf newTableWidth 200 lt oXygen gt XML Editor Developer Guide authorDocumentController setAttribute width new AttrValue newWidth tableElement else throw new AuthorOperationException Cannot find th lement representing the table public void commitColumnWidthModifications AuthorDocumentController authorDocumentControll WidthRepresentation colWidths String tableCellsTagName throws AuthorOperationExcept if td equals
268. e or the empty string if the user canceled the URL selection private String displayURLDialog JFrame parentFrame final JDialog dlg new JDialog parentFrame Enter the value for the href attribute true JPanel mainContent new JPanel new GridBagLayout The text field GridBagConstraints cstr new GridBagConstraints cstr gridx 0 cstr gridy 0 cstr weightx 0 cstr gridwidth 1 cstr fill GridBagConstraints HORIZONTAL mainContent add new JLabel Image URI cstr cstr gridx 1 cstr weightx 1 final JTextField urlField new JTextField urlField setColumns 15 mainContent add urlField cstr Add the Browse button cstr gridx 2 cstr weightx 0 JButton browseButton new JButton Browse browseButton addActionListener new ActionListener pk Shows a file chooser dialog EA public void actionPerformed ActionEvent e JFileChooser fileChooser new JFileChooser fileChooser setMultiSelectionEnabled false Accepts only the image files fileChooser setFileFilter new FileFilter public String getDescription return Image files public boolean accept File f String fileName f getName return f isFile amp amp fileName endsWith jpeg fileName endsWith jpg fileName endsWith gif fileName endsWith png fileName endsWith svg
269. e Find and Install Select the checkbox Search for new features to install and press the Next button From the dialog Update sites to visit press the button Add update site or New Remote Site Enter the value http www oxygenxml com InstData Eclipse site xml into the URL field of the New Update Site dialog Press the OK button Select the checkbox oXygen XML Author and press the Next button Select the new feature to install oXygen XML Editor and XSLT debugger and press the Next button in the following install pages You must accept the Eclipse restart Paste the license information received in the registration email when prompted This will happen when you use one of the wizards to create an XML project or document when you open or create a document associated with lt oXygen gt or when accessing the lt oXygen gt Preferences The oXygen XML Author plugin is installed correctly if you can create an XML project with the New Project wizard of the oXygen XML Author plugin started from menu File gt New gt Other gt oXygen gt XML Project Procedure 2 2 Eclipse 3 4 plugin installation the Update Site method E 2 Start Eclipse Choose the menu option Help Software Updates Available Software Press the button Add Site in the tab Available Software of the dialog Software Updates Enter the value http www oxygenxml com InstData Eclipse site xml into the Location field of
270. e article lt ANY gt lt ANY gt Rule lt ANY gt lt ANY gt JJOASI DocBookS Y E proje FO M E proje SVG M E proje TEI P4 CA E proje Rule TEI 2 lt ANY gt lt ANY gt Rule lt ANY gt lt ANY gt TEIP4 TEIPS A E proje XHTML M E proje XMLSpec A E proje DITAMap Y E proje DITAVAL A E proje C Enable DTD XML Schema processing in document type detection The DocBook V4 document type DocBook is a very popular set of tags for describing books articles and other prose documents particularly technical documentation Association rules A file is considered to be a DocBook document when either of the following occurs e root element name is a book or article e public id of the document contains OASIS DTD DocBook XML 102 Predefined document types Schema The schema used for DocBook documents is in frameworks docbook dtd docbookx dtd where frameworks is a subdirectory of the lt oXygen gt install directory Author extensions The CSS file used for rendering DocBook content is located in frameworks docbook css docbook css Specific actions for DocBook documents are B Bold emphasized text emphasizes the selected text by surrounding it with lt emphasis role bold gt tag Italic emphasized text emphasizes the selected text by surrounding it with lt emphasis role italic gt tag U Underline emphasized text emphasizes t
271. e attribute_type default_value attribute_name attribute_type default_value attribute_name The name of the attribute This argument is required attribute_type The type of the attribute This argument is optional If it is missing the type of the argument is considered st ring This argument indicates what is the meaning of the attribute value and helps to perform conversions of this value lt oXygen gt Author accepts one of the following types color The value represents a color The attribute may specify a color in different formats lt oXygen gt Author supports colors specified either by name red blue green etc or as an RGB hexadecimal value FFEEFF url The value is an URL pointing to a media object lt oXygen gt Author supports only images The attribute value can be a complete URL or a relative one to the XML document integer The value must be interpreted as an integer number The value must be interpreted as a float number length The value must be interpreted as an integer percentage The value must be interpreted relative to another value length size expressed in percents em The value must be interpreted as a size 1 em is equal to the font size of the relevant font ex The value must be interpreted as a size 1 ex is equal to the height of the x character of the relevant font 215 lt oXygen gt XML Editor Developer Guide default_value px cm in pt pe
272. e uri attrLocalName attrUri elementFound true return elementFound 258 Chapter 8 Grid Editor Introduction In the grid editor the XML document is displayed as a structured grid of nested tables in which the text content can be modified by non technical users without editing directly the XML tags The tables can be expanded and collapsed with a mouse click to show or hide the elements of the document as needed Also the document structure can be changed easily with drag and drop operations on the grid components The tables can be zoomed using Ctrl Ctrl Ctrl 0 or Ctrl mouse wheel Figure 8 1 The Grid Editor version 1 0 encoding UTF 8 ersonnel lt m gt You can switch between the text tab and the grid tab of the editor panel with the two buttons Text and Grid available at the bottom of the editor panel Tf the edited document is associated with a schema DTD XML Schema Relax NG etc the editor offers content completion for the element and attributes names and values If you choose to insert an element that has required content it will be inserted automatically including the subtree of needed elements and attributes To display the content completion popup you have to start editing for example by double clicking the cell When editing pressing CTRL SPACE redisplays the popup Figure 8 2 Content Completion in Grid Editor xs annotation xs complexType xs annotation
273. e 7 35 Table layout when no column width provider is specified When the above implementation is configured the table has the correct layout Figure 7 36 Columns with custom widths Configuring a Table Cell Span Provider In our documentation framework the table element can have cells that span over multiple columns and rows As explained in the Styling the Table Element section which describes the CSS properties needed for defining a table we need to indicate lt oXygen gt Author a method to determine the cell spanning If we use the cell element attributes rowspan and colspan or rows and cols lt oXygen gt can determine the cell spanning automatically In our example the td element uses the attributes row_span and column_span that are not recognized by default We will need to implement a Java extension class for defining the cell spanning Create the class simple documentation framework TableCellSpanProvider This class must implement the ro sync ecss extensions api AuthorTableCellSpanProvider interface import ro sync ecss extensions api AuthorTableCellSpanProvider import ro sync ecss extensions api node AttrValue import ro sync ecss extensions api node AuthorElement public class TableCellSpanProvider implements AuthorTableCellSpanProvider 203 lt oXygen gt XML Editor Developer Guide The method init is taking as argument the AuthorElement that represents the XML table element In our case
274. e Configure Transformation Dialog XSLT Tab Edit scenario Scenario Name Docbook PDF XSLT FO Processor Output XML URL currentFileURL Wt O eee x t O eee XSL URL 4 frameworks docbook xsl Fo docbook xsl More about currentFileURL use xml stylesheet declaration Transformer Saxon SA 9 1 0 3 lv Append header and footer Cancel Specifies an input XML file to be used for the transformation Please note that this URL is resolved through the catalog resolver If the catalog does not have a mapping for the URL then the editor will try to use the file directly Note If the transformation engine is Saxon 9 and a custom URI resolver is configured for Saxon 9 in Preferences then the XML input of the trans formation is passed to that URI resolver The following buttons are shown immediately after the input field Insert Editor Variables Browse for local file Browse for remote file Browse for archived file Opens a pop up menu allowing to intro duce special lt oXygen gt editor variables in the XML URL field Opens a local file browser dialog allow ing to select a local file name for the text field Opens a URL browser dialog allowing to select a remote file name for the text field Opens a zip archive browser dialog allow ing to select a file name from a zip archive that will be inserted in the text field 269
275. e General L ayo t epeei notoria criterios yon 143 Styling the sectron Element ariei aa Mise i eae it 143 Sa Elemente Senara n daceoy ers lt agee ddan E EEES 145 Styling the Inline Elements a a e cece eee e cence cece E E aN E E EEEN E EEEa 147 Styling Elements from other Namespace oocooccnoconnccnnccnnconeconncnnaconcnnnronoronccnnccnnicnno 147 Styling UMASS Tapas ta na 148 Marking elements as foldable ocoooncccnoccnnnccnnnccnnnnccnnncnnnocononconnccnonnconnnncnnninns 149 Marking elements as MOKS 0 00 0 cee eee cece cece i a E KEE E ESEE ESO EEE 150 Third Step The ASSOCIA lO os ioes eran n iaa e aE E E AE S 150 Organizing the Framework Files oooocococcnnccnnconoconoconocnnncnnccnnnnnncnnnrnnncnnconncinncinns 151 Association Rules acc seer saant seis hesegee ero E nani Onis eR pa TOS pa EE ins lean guie 152 Java API Rules implemented in Java ooooconncnnccnnccnnccnncnnncnnccnnccnnccnnccnnccnnions 153 Schema Settings sera e ofayiemnags dheed tarro aaa adn cisnes 155 Author CSS Settings sti ia UA 156 Testing the Document Type Association ocoooccnnconoconcconncnnncnnonnnnnnnronoronocnnccnncinninnno 157 Packaging and Deploying ssop n pore r ee T EEN E Er E E EN ER O 157 Author Settings pnei eaa n op a e a EE S E E O AEI EERS ESE 158 Configuring Actions Menus and Toolbars cece cece eee cece ce eece cece cena cena eeneeeeeeeneeenes 158 ThE Insert SECHOMACHON eioen eee aces svat hess vob snce neat EN E sen
276. e XML Base specification http www w3 org TR xmlbase for more details The parent url function This function evaluates the parent URL of an URL received as string parent url url url url The url as string The capitalize function This function capitalizes the first letter of the text received as argument capitalize text text text The text for which the first letter will be capitalized The uppercase function This function transforms to upper case the text received as argument uppercase text text text The text to be capitalized The lowercase function This function transforms to lower case the text received as argument lowercase text text text The text to be lower cased The concat function This function concatenates the received string arguments concat str_1 str_2 SETA ds x str_2 str_1 str_n The string arguments to be concatenated 222 lt oXygen gt XML Editor Developer Guide The replace function This function has two signatures e replace text target replacement text target replacement This function replaces each substring of the text that matches the literal target string with the specified literal replace ment string text The text in which the replace will occur target The target string to be replaced replacement The string replacement e replace text target replacement isRegExp text target replac
277. e dependent on the CSS Profile selected in the Options Pref erences CSS Validator page Profile combo box The CSS 2 1 set of properties and property values is used for most of the profiles excepting CSS 1 and CSS 3 for which specific proposal sets are used CSS Outline View The CSS Outline View presents the import declarations of other stylesheet files and all the selectors defined in the current CSS document The selector entries can be presented in the order they appear in the document or sorted by element name used in the selector or the entire selector string representation The selection in the outline view can be synchronized with the caret moves or the changes made in the stylesheet document When selecting an entry from the outline view the corresponding import or selector will be highlighted in the CSS editor Figure 4 55 CSS Outline View Oz Outline 23 OQ e y ay Element import Jxhtmifcssfcals_table css A import Folds css warning gt important gt tip gt caution gt note gt methodparam gt before methodsynopsis gt before destructorsynopsis gt before constructorsynopsis gt before fieldsynopsis gt before ooexception gt before oointerface gt before e o 0 a o 0 o 0 o e 0 e The selectors presented in the CSS Outline View can be quickly found using key search When you press a sequence of character keys while the focus is in the
278. e dialog as follows URL Specifies the location of a NRL schema NRL Figure 4 6 The Create an XML Document NVDL Tab New XML Document ls ay Customize document XML schema DTD RNG RNC NRL N DL gt URL File E samples samples nvdl xhtml xforms nvdl lv B Root Element Prefix Description use relative paths e queer y Namespace https fwww w3 org 2002 xforms j Definition of bind container Add optional content Add First Choice particle Complete the dialog as follows URL Specifies the location of a Namespace based Validation Dispatching Language schema NVDL Document Root Populated from the elements defined in the specified NVDL document enables selection of the element to be used as document root 22 Editing documents Namespace Specifies the document namespace Prefix Specifies the prefix for the namespace of the document root Description Shows a small definition for the currently selected element Creating Documents based on Templates Templates are documents containing a predefined structure They provide starting points on which one can rapidly build new documents that repeat the same basic characteristics lt oXygen gt installs a rich set of templates for a number of XML applications You may also create your own templates and share them with other users The New from Templates wizard enables you to select predefined templat
279. e e a e cada s analice ost eeu lesa ntes Mat SES 82 Authoring XML documents without the XML tags 20 0 0 cece cece ee cc ence eece ence eeceeeeaeeeaeeeaeeea een eeaeeegs 82 The Content Author Tole ve cotorra nieta ini ve oss titi isa 83 AUTOR VIEWS A A E ids ia 84 Outline VIEW se hai cede e E sewed heaaiwedaens souk hat det dnenth es hee devo sensuous Sacegeb igen auth eaguns 84 XML Document Overview senenin E cece enecce cece cece cena R E EE EER EE aE S 84 Modification FOMOWSUp sssrds eeens ghee E R E E EE E Ea EUS asepsia 85 Document Structure Change iii ii eben E dos N 85 The popup menu of the Outline tree oooconoccnccnnccnnccnncnnncnnoconccnnconnccnnccnnccnnconncinncos 85 Elements EW A O iia 86 ATITIDULES VIEW despreciar aserto gus pinos darnos EE E IEE altos 87 Entities VIEW Loi a AA hse Sia ee oe 88 CIN O NO 88 Navigating the document content ooooccnccnnconnccnnconnconnconnconncnnornncnnncnnccnnronnccnncnnnconncnnncnnnss 88 Displaying the Markup ero sccssecsseewece ede shop nenas o pe suagds AEE E RR tere de 90 Bookmarks sti RAR ede ads pes 90 Position informati n tooltip seee a a ne er E E A S EE N EEES 90 Displaying referred Content ria o r EE EEE E EEA E EO EEREN 91 Finding and replacing text preiero taap e E SEE AOE ne REEE EE AE SEER sta 92 Contextual menu ici teks eee Ts eel ia ada 92 lt oXygen gt XML Author 10 3 User Manual for Eclipse Editing XML in lt oXygen gt Author rgen ee cece eee ce ee ce Eo ESSE O
280. e edge indicates that you want to index the portion of the path where two nodes meet e Node type e element an element node in the document content e attribute an attribute node in the document content e metadata a node found only in a document s metadata content e Key type e equality improves the performances of tests that look for nodes with a specific value e presence improves the performances of tests that look for the existence of a node regardless of its value e substring improves the performance of tests that look for a node whose value contains a given substring e Syntax types the syntax describes what sort of data the index will contain and is mostly used to determine how indexed values are compared Actions available at resource level Refresh performs a refresh of the selected resource 325 Working with Databases S Open opens the selected resource in the editor e Rename allows you to change the name of the selected resource e Move allows you to move the selected resource in a different container in the database tree X Delete removes the selected resource from the container e Copy location allows you to copy to clipboard an application specific URL for the resource which can then be used for various actions like opening or transforming the resources eXist Connection Actions available at connection level Refresh performs a refresh of the selected node s su
281. e file that contains the menu image Insert frameworks sdf Section16 gif Shortcut key A shortcut key combination for triggering the action To define it click in the text field and press the desired key combination We can choose Ctrl Shift s Note The shortcut is enabled only by adding the action to the main menu of the Author mode which contains all the actions that the author will have in a menu for the current document type At this time the action has no functionality added to it Next we must define how this action operates An action can have multiple operation modes each of them activated by the evaluation of an XPath version 2 0 expression Note The XPath expression of an operation mode is evaluated relative to the current element The current element is the one where the caret is positioned In fact there is hierarchy of elements containing the caret position but we are considering only the closest one A simple expression like title is a relative one and checks if the current element has a title child element To check that the current element is a section we can use the expression local name section Note lt oXygen gt Author determines the operation to be executed by iterating through the defined operation modes The first operation whose XPath expression matched the current document context gets executed while the others are being ignored Make sure you order correctly your operations by pla
282. e the cursor to the definition of the current element in the schema associated with the edited XML document DTD XML Schema Relax NG schema NRL schema contextual menu of current editor gt Copy XPath Ctrl Shift Copy XPath expression of current element from current editor to clipboard contextual menu of current editor Go to the matching tag amp Moves the cursor to the end tag that matches the start tag or vice versa contextual menu of current editor Go after Next Tag Ctrl Close Bracket Moves the cursor to the end of the next tag contextual menu of current editor gt Go after Previous Tag Ctrl Open Bracket Moves the cursor to the end of the previous tag XML Associate XSLT CSS Stylesheet 52 Inserts an xml stylesheet processing instruction at the beginning of the document referencing either an XSLT or a CSS file depending on the user selection Either reference is useful for rendering the document in a Web browser when the action Open in browser is executed Referencing the XSLT file is also useful for automatic detection of the transformation stylesheet when there is no scenario associated with the current document Figure 4 39 Associate XSLT CSS stylesheet dialog Associate XSLT CSS Stylesheet 655 XSLT URL file E samples personal_compact css x E E 2 Title compact Alternate When associating the CSS the user can also specify the title and if the stylesheet is an alternate
283. e without alias cannot be extracted from the keystore 331 Digital signature To set the options for a certificate or to validate it go to Options gt Preferences Certificates S Note A certificate without alias stored in a PKCS 12 keystore together with other certificates with or without alias cannot be always extracted correctly from the keystore due to the missing alias Such a certificate should be the only certificate of a PKCS 12 keystore Signing files The user can select the type of signature to be used for his document from the following dialog displayed by the action Sign available from editor panel context menu Source Figure 13 2 Signature settings dialog Sign Input URL 20Files Oxygen 20XML 20Editor 209 2 samples personal xml la la Transformation Options O None O Exclusive O Exclusive with comments Inclusive O Inclusive with comments XPath personnel 1D personal ID Envelope Detached Output File C runtime EclipseApplication samples samples personal signed xml B Open in editor URL Specifies the location of the input URL None If selected no canonicalization algorithm is used Exclusive If selected the exclusive uncommented canonicalization method is used Exclusive with comments If selected the exclusive with comments canonicalization method is used Inclusive If selected the inclusive uncommented canonicalization
284. ece cece ceee cece cece cece ceca cen eeeeeeeeeeeceeeeaeeeaeeeaeeea sean sean eeaes 4 Named User license registration vasos conos ni sith aora bet a E E pos otros sos 4 How floating concurrent licenses work oooococcnoccconococononocononocononocononoconororo nono ro nroronaroconanoronos 5 How to install the lt oXygen gt XML Author license server as a Windows service ocoooccoccccccno 7 How to release a floating license occoooccccncccnnccnonoconnnccnnnccnnnnccnnornnonccnnnnconnccnnnnccnnancnnnioos 8 License registration with a registration code ocoooccnncnnccnncnnoconccnnconnconnconnccnnconnconnconnrnnncnnrcnaraninnns 8 Unregistering the license key cima wack Bete cess oe ees ieee eS ee EE E V E E ea 8 Upgrading the lt oXygen gt XML Author application 2 2 0 0 0 ee cece eens ce eeceeeee eee eee eeeeeeaeeea eens eeaaeeaes 9 Uninstalling the Eclipse plugin s susesivo re ouise iins Ese Teton KEEA cece ES EEEE E EESE REEE EESE ESEE 9 Performance problems sssrini keete a e E a E E a T E basse E E E EEEE E ES 10 Large documents o eeir on r E ocd iii e 10 External processes citarse Erie cei a A EPEE E Eao EE EITTEA KENS SE EEES NESS 10 de Getting Started soei nr rd EEE E EE EE AS Lio 11 Supported types Of documents ssepe nana bake E P a EE a Ea TE E EE EEES 11 Getting help siren n rno A EEEE AEA EE F 11 Perspective Srednia in EE A aE AE A E EEE EENAA 11 lt oXygen gt XML perspecti Vense rsi eu oe KEE EEE EEEE EESE geles lo di E
285. ecked the first XML catalog which lt oXygen gt will use to resolve system IDs at document validation and URI references at document transformation will be a default built in catalog which maps such references to the built in local copies of the local DocBook and TEI frameworks and the schemas for XHTML SVG and JSP documents You can also add or configure catalogs for each of the defined document types from Document Type Association preferences page When you add delete or edit an XML catalog to from the list you must sometimes reopen the current edited files which use the modified catalog so that the changes take full effect XML Parser The XML Parser preferences panel is opened from menu Window gt Preferences gt Author XML XML Parser Figure 15 33 The XML Parser preferences panel XML Parser ons XML Parser Features http apache org xml features validation schema full checking _Jhttp apache org xml features honour all schemaLocations XML Parser Properties Ignore the DTD for validation if a schema is specified XInclude Options Enable Include processing Base URI fix up Language fix up RELAX NG Check ID IDREF C check feasibly valid Schematron Schematron XPath Version 1 0 2 0 150 Schematron C Optimize visit no attributes Cl Allow Foreign elements allow Foreign use Saxon SA schema aware For xslt2 query binding http apache org xml features valid This option sets the schema full chec
286. ecking the XML form of documents in section Checking XML form A detailed description of the document validation process and its configuration is described in section Validating Documents 97 Authoring in the tagless editor Figure 5 23 Error presenting in lt oXygen gt Author editor Here are some useful links regarding XML E Xerces Attribute name must be declared for element type para vhttp Awww xml com4 v Text Grid Author 2 0 Problems 3 Results o 1 error O warnings O infos Description Resource Path tE Errors 1 item Xerces Attribute name must be declared for element type para sample xml sample samples docbook A fragment with a validation error or warning will be marked in the editor panel by underlining the error region with ared color The same will happen for a validation warning only the color will be yellow instead of red Status messages from every validation action are logged into the Console view Whitespace handling There are several major aspects of white space handling in the lt oXygen gt Author editor when opening documents or switching to Author mode saving documents or switching from Author mode to another one and editing documents Open documents When deciding if the white spaces from a text node are to be preserved normalized or stripped the following rules apply e Ifthe text node is inside an element context where the xml
287. ect gt lt imageobject gt lt imagedata entityref graphic scale 50 gt lt imageobject gt lt mediaobject gt The CSS should use the functions url attr and unparsed entity uri for displaying the image in the Author mode Note Note that the scale attribute of the imagedata element will be considered without the need of a CSS customization and the image will be scaled accordingly 148 lt oXygen gt XML Editor Developer Guide imagedata entityref content url unparsed entity uri attr entityref To take into account the value of the width attribute of the imagedata and use it for resizing the image the CSS can define the following rule imagedata width width attr width length Figure 7 4 Samples of images in Author document book section title Section 3 Documentation frameworks One of the most important documentation frameworks is Docbook 2 The other is the topic oriented DITA promoted by OASIS OASIS STANDARD Text Grid Author Marking elements as foldable You can specify what elements are collapsible The collapsible elements are rendered having a small triangle icon in the top left corner Clicking on this icon hides or shows the children of the element In our case we will mark the section elements as foldable We will leave only the tit le child elements visible section foldable true not foldable child title 149 lt oX
288. ed date1 xml fog relaxNG test rng fa personal xml fe personal xsd fo personal xsl bad merenmal vral PP eo Rename Delete Ne Note The FTP part is using passive access to the FTP servers Make sure the server you are trying to connect to is supporting passive connections Also the UTF 8 encoding is supported and can be configured for communication with the FTP server if the server supports it Files can be opened through the Secure FTP SFTP protocol using the regular user password mechanism or using a private key file and a passphrase The user password mechanism has precedence so for using the private key and passphrase you have to remove the password from the dialog used to browse the server repository and leave only the user name The private key file and the passphrase must be set in the SFTP user preferences Note WebDAV access is available only if you check the Enable the HTTP WebDAV protocols option from Window gt Preferences oXygen Network Configuration page The proxy settings set in Window gt Preferences Gen eral Network Connections are valid also in the lt oXygen gt plugin that is if an HTTP proxy server a SOCKS proxy server or a list with excepted host names is set there any HTTP WebDAV connection made with the lt oXygen gt plugin will take into consideration these settings 25 Editing documents To open the remote files choose from the main menu File gt Open URL
289. ed for the output stream of the FO processor which will be displayed in a results panel at the bottom of the lt oXygen gt window Error Encoding The encoding used for the error stream of the FO processor which will be displayed in a results panel at the bottom of the lt oXygen gt window Working directory The directory in which the intermediate and final results of the processing will be stored Here you can use one of the following editor variables S homeDir The path to user home directory cfd The path of current file directory If the current file is not a local file the directory will be the user s Desktop directory pd The project directory oxygenInstallDir The lt oXygen gt installation directory Command line The command line that will start the FO processor specific to each processor Here you can use one of the following editor variables method The FOP transformation method pdf ps txt fo The input FO file 374 Configuring the application out The output file pd The project directory frameworksDir The path of the frameworks subdirectory of the lt oXygen gt install directory oxygenInstallDir The lt oXygen gt installation directory S ps The separator which can be used on different oper ating systems between libraries specified in the class path XPath The XPath preferences panel is opened from menu Window Preferences gt Author XML XSLT FO X Query
290. ed with an URN in the xsi schemaLocation at tribute of an XML document to a local copy of the schema For example if the XML document specifies the schema with lt topic xmlns xsi http www w3 org 2001 XMLSchema instance xsi noNamespaceSchemaLocation urn oasis names tc dita xsd topic xsd 1 1 gt the URN can be resolved to a local schema file with a catalog entry like lt system systemId urn oasis names tc dita xsd topic xsd 1 1 uri topic xsd gt An XML Catalog file can be created quickly in lt oXygen gt starting from the two XML Catalog document templates called OASIS XML Catalog 1 0 and OASIS XML Catalog 1 1 and available in the document templates dialog creating from templates User preferences related to XML Catalogs can be configured from Window Preferences toXygen XML XML Catalog Formatting and indenting documents pretty print In structured markup languages the whitespace between elements that is created by use of the Space bar Tab or multiple line breaks insertion from use of the Enter is not recognized by the parsing tools Often this means that when structured markup documents are opened they are arranged as one long unbroken line what seems to be a single paragraph 56 Editing documents While this is perfectly acceptable practice it makes editing difficult and increases the likelihood of errors being intro duced It also makes the identification of exact error positions difficult Form
291. ee 35 The Elements VIEW st ea E dei R E A EE AE EERE RE 36 Th Entities VIEW citan a A in ET 36 NE AMA AT 37 Checking XML well formedness ennerien issiron ri e EEE e E SEEI EAE EET rI EEEE EEE Eo rei 37 Validating XML documents against a schema oocooocnnocnncnnncnnncnnccnnconnccnnccnnccnnconncnnncnnncnnnes 38 Marking Validation Errors aola E E EE ER a Pa Wn A 39 Validation Example sss ar Ba anu E a a A a Ea OANE 40 Caching the Schema Used for Validation ooooocccoccnnccnnccnnconnconnconncnnaconononccnnccnncnnns 40 Nalidate As You Type esac o p e E a e see be SOE ER ayes NES 40 Custom validation of XML documents ocoooccnccnnccnnccnnconoconccnnconnconnccnnconnconnconnconaconass 41 Linked output messages of an external engine oooooccnnccnnconnconnconocnnncnnncnnccninnnns 43 Validation SCD ei ds 43 Validation Actions in the User Interface oooconocnnccnnccnncnnncnnocnnccnnconnconnccnnccnnconncnnncos 45 Resolving references to remote schemas with an XML Catalog ooocccoccnnccnnconnconnconnoos 46 Document ayication iii da ia an tne AE 47 Folding of the XML elements oocooccocnnccoconcnoconcnoroncnoroncnnroncnnroncnnroncnnroncnnroncnnroncnnroncnanes 47 Outline Vi Wisteria nido ome ce sour Tabs 48 XML DockmentOverview miis ai 49 Gutliner MILES versatil italia 49 Modification FollowW UP oocooccccccnccnnccnnccnnccnnccnnccnnconncnnncnnncnnnrnnnrnnrnnnronncnnccnncinnicnn 49 Document Structure Change eo oss sevge ene sop vere
292. efine default mappings between prefixes that can be used in the XPath console and namespace URIs go to the XPath Options user preferences panel and enter the mappings in the Default prefix namespace mappings table The same preferences panel allows also the configuration of the default namespace used in XPath 2 0 expressions entered into the XPath toolbar and the creation of different results panels for XPath queries executed on different XML docu ments To apply a XPath expression relative to the element on which the caret is positioned use the action XML editor contex tual menu XML Document gt Copy XPath Ctrl Shift also available on the context menu of the main editor panel to copy the XPath expression of the element to the clipboard and the Paste action of the contextual menu of the XPath console to paste this expression in the console Then add your relative expression and execute the resulting complete expression 295 Querying documents The popup menu available on right click in the Expression panel of the XPath expressions dialog offers the usual edit actions Cut Copy Paste Select All On Windows the context menu can be displayed with the mouse on a right click or with the keyboard by pressing the special context menu key available on Windows keyboards 296 Chapter 11 Working with Archives lt oXygen gt offers the means to manipulate files directly from ZIP type archives By manipulation one should unde
293. eger specifing what is the width of the cell representing in the table layout the cell element a7 public Integer getColSpan AuthorElement cell Integer colSpa n null AttrValue attrValue cell getAttribute column_span if attrValue null The attribute was found attrValue getValue String cs if cs null try colSpan new Integer cs catch NumberFormatException ex The attribute value was not a number 242 lt oXygen gt XML Editor Developer Guide return colSpan Extracts the integer specifing what is the height in rows of the cell representing in the table layout the cell element f public Integer getRowSpan AuthorElement cell Integer rowSpan null AttrValue attrValue cell getAttribute row_span if attrValue null The attribute was found String rs attrValue getValue if rs null try rowSpan new Integer rs catch NumberFormatException ex The attribute value was not a number return rowSpan return true considering the column specifications always available ed public boolean hasColumnSpecifications AuthorElement tableElement return true Ignored We do not extract data from the lt code gt table lt code gt element dl public void init AuthorElement table public String getDescription return Implementat
294. elated3 lt conbody gt Kam gt Href value exml samples dita concepts oil xml oilconcept body2 e File Reference inserts an xref element with the value of attribute format set to xml e Web Link inserts an xref element with the value of attribute format set to html and scope set to external 110 Predefined document types Related Link to Topic inserts a link element inside a related links parent Related Link to File inserts a link element with the format attribute set to xml inside a related links parent Related Link to Web Page inserts a link element with the attribute format set to html and scope set to external inside a related links parent Note The actions for inserting references described above are grouped inside link toolbar actions group S Insert Section Step inserts a new section step in the document depending on the current context A new section will be inserted in either one of the following contexts e section context when the value of class attribute of the current element or one of its ancestors contains topic or b section e topic s body context when the value of class attribute of the current element contains topic body A new step will be inserted in either one of the following contexts e task step context when the value of class attribute of the current element or one of its ancestors contains task step e tas
295. electing Auto generate ID s for elements You can choose a pattern for the generated ID using the field ID Pattern If the element already has an ID this ID is preserved All actions described above are available in the contextual menu main menu Docbook4 submenu and in the Author custom actions toolbar Templates Default templates are available for DocBook 4 They are stored in frameworksDir docbook templates Docbook 4 folder and they can be used for easily creating a book or article with or without XInclude These templates are available when creating new documents from templates Docbook 4 Article New Docbook 4 Article Docbook 4 Article with XInclude New Docbook 4 XInclude aware Article Docbook 4 Book New Docbook 4 Book Docbook 4 Book with XInclude New Docbook 4 XInclude aware Book Catalogs The default catalog is stored in frameworksDir docbook catalog xml Transformation Scenarios The following default transformation scenarios are available 107 Predefined document types e DocBook4 gt DocBook5 Conversion converts a DocBook4 compliant document to DocBookS DocBook HTML transforms a DocBook document into a HTML document DocBook PDF transforms a DocBook document into a PDF document e DocBook HTML chunk transforms a DocBook document in multiple HTML documents The DocBook V5 document type Customization for DocBook V 5 is similar with that for DocBook V 4 with the following except
296. elements making it easier for the user to be aware of the document s structure and the way tags are nested It also allows the user to insert or delete nodes using pop up menu actions 84 Authoring in the tagless editor Modification Follow up When editing the Outline view dynamically follows the modifications introduced by the user showing in the middle of the panel the node which is currently being modified This gives the user a better insight on location inside the document and how the structure of the document is affected by one s modifications Document Structure Change Entire XML elements can be moved or copied in the edited document using only the mouse in the Outline view in drag and drop operations If you drag an XML element in the Outline view and drop it on another one in the same panel then the dragged element will be moved after the drop target element If you hold the mouse pointer over the drop target for a short time before the drop then the drop target element will be expanded first and the dragged element will be moved inside the drop target element after its opening tag You can also drop an element before or after another element if you hold the mouse pointer towards the upper or lower part of the targeted element A marker will indicate whether the drop will be performed before or after the target element If you hold down the CTRL key after dragging there will be performed a copy operation instead of a move one
297. ema specifies the path to the NRL schema associated with the current document NVDLSchema specifies the path to the NVDL schema associated with the current document SCHSchema specifies the path to the SCH schema associated with the current document Learning document structure When working with documents that do not specify a schema or for which the schema is not known or does not exist lt oXygen gt is able to learn and translate it to a DTD which in turn can be saved to a file in order to provide a DTD for Content Completion and document validation In addition to being useful for quick creation of a DTD that will be capable of providing an initialization source for the Content Completion assistant This feature can also be used to produce DTDs for documents containing personal or custom element types When it is opened a document that does not specify a schema lt oXygen gt automatically learns the document structure and uses it for Content Completion To disable this feature uncheck the checkbox Learn on open document from Preferences Procedure 4 3 To create a DTD 1 Open the structured document from which a DTD will be created 2 Select menu XML gt Learn Structure Ctrl Shift L to read the mark up structure of the current document so that it can be saved as a DTD using the Save Structure option lt oXygen gt will learn the document structure when finished displaying words Learn Complete in the Message Pane of the Editor Sta
298. email gt email one oxygenxml com slink manager Big Boss gt link lt person gt manager Big Boss If the pasted text contains multiple lines of tab separated values it can be considered as a matrix of values By pasting this matrix of values into the grid editor the result will be a matrix of cells If the operation is performed inside existing cells the values from these cells will be overwritten and new ones will be created if needed This is useful for example when trying to transfer data from Excel like editors into grid editor 264 Grid Editor Figure 8 9 Copying tab separated values into grid id email 1 Big Boss chief oxygenxml com 1d1 Email Id2 Email2 143 Email3 Bidirectional Text Support in the Grid Editor If you are editing documents employing a different text orientation you can change the way text is rendered and edited in the grid cells For this you can use the shortcut CTRL SHIFT O to toggle from the default left to right text orientation to the right to left orientation Note that this change applies only to the text from the cells not to the layout of the grid editor Figure 8 10 Default left to right text orientation lt xml version 1 0 encoding UTF 8 2 sample Hex 9 rows 19 dle iy gg Ey el Ll ay yp Lois Quan el m n vol conversar parla Unicode 170270 210 277 AYN owanw Unicode Ha a vil g besz lni akar azt Unicode ul mondja Quando il mondo vu
299. ement isRegExp This function replaces each substring of the text that matches the target string with the specified replacement string text The text in which the replace will occur target The target string to be replaced replacement The string replacement isRegExp If true the target and replacement arguments are considered regular expressions in PERL syntax if false they are considered literal strings The unparsed entity uri function This function returns the uri value of an unparsed entity name unparsed entity uri unparsedEntityName unparsedEntityName unparsedEntityName The name of an unparsed entity defined in the DTD This function can be useful to display images which are referred with unparsed entity names Example 7 11 CSS for displaying the image in Author for an imagedata with entityref to an unparsed entity imagedata entityref content url unparsed entity uri attr entityref 223 lt oXygen gt XML Editor Developer Guide The attributes function This function concatenates the attributes for an element and returns the serialization attributes Example 7 12 attributes For the following XML fragment lt element attl x xmlns a 2 x amp quot gt theattributes function will return att l x xmlns a 2 x Example Files Listings The Simple Documentation Framework Files XML Schema files sdf xsd lt xml version 1 0 encoding UTF 8 gt lt
300. en the selection is missing but the caret is positioned between two cells A Join Cell Above joins the content of cell from current caret position with that of the cell above it Note that this action works only if both cells have the same column span ElJoin Cell Below joins the content of cell from current caret position with that of the cell below it Note that this action works only if both cells have the same column span E Split Cell To The Left splits the cell from current caret position in two inserting a new empty table cell to the left Note that this action works only if the current cell spans over more than one column The column span of the source cell will be decreased with one at Split Cell To The Right splits the cell from current caret position in two inserting a new empty table cell to the right Note that this action works only if the current cell spans over more than one column The column span of the source cell will be decreased with one 114 Predefined document types La Split Cell Above splits the cell from current caret position in two inserting a new empty table cell above Note that this action works only if the current cell spans over more than one row The row span of the source cell will be decreased with one E sur Split Cell Below splits the cell from current caret position in two inserting a new empty table cell below Note that this action works only if the current cell spans
301. ener section Another extension which can be included in the bundle is the reference resolver In our case the references re represented by the ref element and the attribute indicating the referred resource is location To be able to obtain the content of the referred resources we will have to implement a Java extension class which implements the ro sync ecss extensions api AuthorReferenceResolver The method responsible for creating the custom references resolver is createAuthorReferenceResolver The method is called each time a document opened in an Author editor page matches the Document Type Association where the extensions bundle 1s defined The instantiated references resolver object is kept and used until another extensions bundle corresponding to another Document Type is activated as result of the detection process 185 lt oXygen gt XML Editor Developer Guide public AuthorReferenceResolver createAuthorReferenceResolver return new ReferencesResolver A more detailed description of the references resolver can be found in the Configuring a References Resolver section To be able to dynamically customize the default CSS styles for a certain AuthorNode an implementation of the ro sync ecss extensions api StylesFilter can be provided The extensions bundle method responsible for creating the StylesFilter is createAuthorStylesFilter The method is called each time a document opened in an Author editor page ma
302. ension point does not need to be modified then the developed ExtensionsBundle should not override the corresponding method and leave the default base implementation to return null 3 Package the compiled class into a jar file 4 Copy the jar file into the frameworks sdf directory 5 Add the jar file to the Author class path 6 Register the Java class by clicking on the Extensions tab Press the Choose button and select from the displayed dialog the name of the class SDFExtensionsBundle The complete source code of the SDFExtensionsBundle implementation is found in the Example Files Listings the Java Files section 186 lt oXygen gt XML Editor Developer Guide Implementing an Author Extension State Listener The ro sync ecss extensions api AuthorExtensionStateListener implementation is notified when the Author extension where the listener is defined is activated or deactivated in the Document Type detection process import ro sync ecss extensions api AuthorAccess import ro sync ecss extensions api AuthorExtensionStateListener public class SDFAuthorExtensionStateListener implements AuthorExtensionStateListener private AuthorListener sdfAuthorDocumentListener private AuthorMouseListener sdfMouseListener private AuthorCaretListener sdfCaretListener private OptionListener sdfOptionListener The activation event received by this listener when the rules of the Document Type Associatio
303. ent Ignorable strips all ignorable whitespace text nodes from source documents before any further processing re gardless of any xsl strip space declarations in the stylesheet or any xml space attributes in the source document Whitespace text nodes are ignorable if they appear in elements defined in the DTD or schema as having element only content None strips no whitespace before further processing However whitespace will still be stripped if this is specified in the stylesheet using xsl strip space Saxon9SA specific options e Schema based validation of the source file This determines whether source documents should be parsed with schema validation enabled 367 Configuring the application e Lax schema based validation of the source file This determines whether source documents should be parsed with schema validation enabled e Validation errors in the result tree treated as warnings If checked all validation errors are treated as warnings oth erwise they are treated as fatal Saxon B SA Advanced options The Saxon B SA Advanced preferences panel is opened from menu Window Preferences gt Au thor XML XSLT FO XQuery XSLT Saxon Saxon B SA Advanced The advanced XSLT options which can be configured for the Saxon 9 transformer both the Basic and the Schema Aware versions are Figure 15 39 The Saxon B SA XSLT Advanced preferences panel Advanced ES URI Resolver class name Collection U
304. ent at the caret position int caretPosition authorAccess getCaretOffset authorAccess insertXMLFragment imageFragment caretPosition pk Has no arguments return null public ArgumentDescriptor getArguments return null pk return A description of the operation public String getDescription return Inserts an image element Asks the user for a URL reference The complete source code of our operation is found in the Example Files Listings the Java Files section Important Make sure you always specify the namespace of the inserted fragments Package the compiled class into a jar file An example of an ANT script that packages the classes directory content into a jar archive named sdf jar is listed below lt xml version 1 0 encoding UTF 8 gt lt project name project default dist gt lt target name dist gt lt jar destfile sdf jar basedir classes gt lt fileset dir classes gt 170 lt oXygen gt XML Editor Developer Guide lt include name gt lt fileset gt lt jar gt lt target gt lt project gt Copy the sdf jar file into the frameworks sdf directory Add the sdf jar to the Author class path To do this Open the options Document Type Dialog select SDF and press the Edit button Select the Classpath tab in the lower part of the dialog Press the Add button In the displayed dialog enter the locatio
305. ent type level are available only for the documents that match that document type The global scenarios are available for any document In order to apply a transformation scenario one has to press the Apply Transformation Scenario button from the Transformation toolbar Batch transformation Alternatively a transform action can be applied on a batch of files from the Project view s contextual menu without having to open the files Y Apply Transformation Scenario applies to each selected file the transformation scenario associated to that file If the currently processed file does not have an associated transformation scenario then a warning is displayed in the Warnings view to let the user know about it Transform with allows the user to select one transformation scenario to be applied to each one of the currently selected files Built in transformation scenarios If the Apply Transformation Scenario button from the Transformation toolbar is pressed currently there is no scenario associated with the edited document and the edited document contains a xml stylesheet processing instruction referring to a XSLT stylesheet commonly used for display in Internet browsers then lt oXygen gt will prompt the user and offer the option to associate the document with a default scenario containing in the XSL URL field the URL from the href attribute of the processing instruction This scenario will have the Use xml stylesheet declaration
306. er part of the Document Type Association dialog click on the Author tab then select the Actions label 3 To add a new action click on the Add button The Insert Section Action This paragraph describes how you can define the action for adding a section We assume the icon files Sec tionl6 gif for the menu item and S Section20 gif for the toolbar are already available Although we could use the same icon size for both menu and toolbar usually the icons from the toolbars are larger than the ones placed in the menus These files should be placed in the frameworks sdf directory Figure 7 13 The Action Edit Dialog Action ID insert_section Name Insert Section Menu access key Description Insert a section to the caret position Large icon 20x20 frameworks sdF Section20 aif Browse Smallicon 16x16 frameworks sdF Section16 giF Browse Shortcut key Ctrl Shift S Remove Operations local name section or local name booKk or local name article When this XPath expression is true invoke operation ro sync ecss extensions commons operations InsertFragmentOperation with the arguments Name Description Type Value fragment The fragment to be inse Fragment lt section xmins http www oxygenxml com s insertLocation An XPath expression indi XPathExpr insertPosition The insert position relati ConstantList EJ 1 Operation priority ID An unique identifier fo
307. er will be enabled inside Comments Attribute values Text and CDATA sections 358 Configuring the application Case sensitive Ignore mixed case words Ignore words with digits Ignore Duplicates Ignore URL Check punctuation Enable auto replace Allow compounds words Allow general prefixes Allow file extensions Suggestion When checked operations ignore capitalization errors When checked operations do not check words containing case mixing e g SpellChecker When checked the Spell Checker does not check words containing digits e g b2b When checked the Spell Checker does not signal two successive identical words as an error When checked ignores words looking like URL or file names e g www oxygenxml com or c boot ini When checked punctuation checking is enabled misplaced white space and wrong sequences like a dot following a comma are detected Enables the Replace Always feature When checked all words formed by concatenating two legal words with an hyphen are accepted If the language allows it two words concatenated without hyphen are also accepted When checked a word formed by concatenating a registered prefix and a legal word is accepted For example if mini is a registered prefix accepts mini computer When checked accepts any word ending with registered file extensions e g mow myfile txt index html etc This option indicates t
308. es These mappings are useful when applying an XPath in XPath console and you don t have to define these mappings for each document separately The New button creates an editable prefix namespace mapping The Remove button deletes the selected mapping Custom Engines One can configure transformation engines other than the ones which come with the lt oXygen gt distribution Such an external engine can be used for XSLT XQuery transformations within lt oXygen gt in the Editor perspective and is available in the list of engines in the dialog for editing transformation scenarios The Custom Engines preferences panel is opened from menu Window Preferences Au thor XML XSLT FO XQuery Custom Engines Figure 15 46 Configuration of custom transformation engines Custom engines Pp y Description Sablotron The Sablotron transformer Transformiix The Mozilla transformer New Edit Delete The following parameters can be configured for a custom engine 376 Configuring the application Figure 15 47 Parameters of a custom transformation engine 3 Command line Engine type XSLT Name Xalan Description C language version of Apache Xalan Output Encoding Default encoding Error Encoding Default encoding Command line Working directory D projects externalTransformers xalanc pin xal 4 an exe o out t xml xsl E Engine
309. es or templates that have already been created in previous sessions or by other users Open a template using the following options Figure 4 7 The New from Templates wizard Die a Select a wizard A wizard that creates file from templates Wizards 5 oXygen Al ES CSS File X DTD Import From HTML CS JavaScript File XN CN Relax NG compact schema RNC CS Relax NG schema RNG Sample XML Project X Schematron Y Stylesheet XSL Y WSDL File XML XML Project v k f k k cma The templates presented in the dialog are Document Types templates Templates supplied with the defined document types User defined templates The user can add template files in the templates folder of the lt oXygen gt install directory Also in the option page can be specified a custom templates folder to be scanned Procedure 4 2 Creating Documents based on Templates 1 Select File gt New New from Templates The New from templates dialog is displayed 23 Editing documents Figure 4 8 The Templates dialog New from Templates JE Customize document Templates Extension Description DITA Composite DITA Concept DITA Glossentry DITA Reference DITA Task DITA Topic ditamap DITA Map Bookmap ditamap DITA Map Map ditaval DITAYAL Filter xml DocBook 4 Article xml DocBook 4 Article with XInclude xml DocBook 4 Book xml DocBook 4 Book with XInclude xml DocBook 5 Article
310. es partially or fully qualified name of the assembly in the global assembly cache http msdn microsoft com library default asp url library en us cpguide html cpconglobalassemblycache asp GAC where the specified resolver class can be found See MSDN for more info about partial assembly names http msdn microsoft com library default asp url library en us cpguide html cpconpartialassemblyreferences asp Also see the previous option This option allows to specify extension object http msdn microsoft com library default asp url library en us cpguide html cpconxsltargumentlistforstylesheetparametersextensionobjects asp classes whose public methods then can be used as extension functions in an XSLT stylesheet It is a comma separated list of namespace qualified extension object class names Each class name must be bound to a namespace URI using prefixes as when providing XSLT parameters http www xmllab net Products nxslt tabid 62 Default aspx parameters MSXML NET supports rich library of the EXSLT http www exslt org and EXSLT NET http www xmllab net exslt extension functions via embedded or plugged in EXSLT NET http workspaces gotdotnet com exslt library EXSLT support is enabled by default and cannot be disabled in this version If you want to use an external EXSLT NET implementation instead of a built in one use this option This option allows to specify user credentials to be used when loading XML source documents
311. es that support XML schema repository XSR in their database catalogs the actions available at this level are presented in the following sections Oracle s XML Schema Repository Level Refresh performs a refresh of the selected node s subtree e Register Opens a dialog for adding a new schema file in the DB XML repository Figure 12 4 Register Dialog Register Schema URI personal xsd Schema location file C samples personal xsd Scope Local Global To add an XML Schema enter the schema URI and location on your file system Local scope means that the schema will be visible only to the user who registers it Global scope means that the schema is public IBM DB2 s XML Schema Repository Level Refresh performs a refresh of the selected node s subtree e Register opens a dialog for adding a new schema file in the XML Schema repository 308 Working with Databases Figure 12 5 Register Dialog Register XSR Information XML schema file C samples sales xsd XSR name sales Comment Sales status Schema location Sales Dependencies Schema location File location clients xsd Ci samples clients xsd supplies xsd C samples supplies xsd IE The XSR Information section of the above figure contains the following fields e XML schema file location on your file system e XSR name schema name e Comment short comment optional e Schema l
312. es the nth child element of the previously located element element e lement ID 3 4 A child sequence appearing after a NCName identifies an element by means of stepwise navigation starting from the element located by the given name The constructor separates the id integers which are delimited by slashes into a sequence of identifiers an XPointer path It will also check that the link has one of the supported patterns of the XPointer element scheme public XPointerElementLocator IDTypeVerifier idVerifier String link throws ElementLocatorException super link this idVerifier idVerifier link link substring element length link length 1 StringTokenizer stringTokenizer new StringTokenizer link false xpointerPath new String stringTokenizer countTokens int i 0 while stringTokenizer hasMoreTokens xpointerPath i stringTokenizer nextToken boolean invalidFormat false Empty xpointer component is not supported if xpointerPath i length 0 invalidFormat true if i gt 0 try Integer parselnt xpointerPath i catch NumberFormatException e invalidFormat true if invalidFormat throw new ElementLocatorException Only the element scheme is supported when locating XPointer links Supported formats element elementID element 1 2 3 element elemID 2 3 4 IRE if Character isDigi
313. es the selected row Native XML Database NXD Support Native XML databases have an XML based internal model and their fundamental unit of storage is XML lt oXygen gt offers support for Berkeley DB XML eXist MarkLogic Software AG Tamino Raining Data TigerLogic Documentum xDb X Hive DB and Oracle XML DB Configuring Database Data Sources This section presents a set of procedures describing how to configure NXD data sources How to configure a Berkeley DB XML datasource The latest instructions on how to configure Berkeley DB XML support in lt oXygen gt can be found on our website http www oxygenxml com doc ug oxygenEclipse native xml database support html configure berkeley datasource lt oXygen gt supports Berkeley DB XML versions 2 3 10 2 4 13 amp 2 4 16 The following directory definitions shall apply e OXY_DIR lt oXygen gt installation root directory for example on Windows C Program Files Oxygen 10 3 312 Working with Databases DBXML_DIR Berkeley DB XML database root directory for example on Windows C Program Files Sleepycat Software Berkeley DB XML lt version gt e DBXML_LIBRARY_DIR usually on Mac and Unix is DBXML_DIR lib and on Windows is DBXML_DIR bin 1 2 4 Go to Preferences gt Data Sources In the Data Sources panel click the New button Enter a unique name for this data source and select Berkeley DBXML from the driver type combo box Figure 12 10 Data
314. essing in document type detection Only for local DTDs XML Schemas Note Java class Presents the name of the class which will be used to determine if a document matches the rule Opens a new dialog allowing you to add a new association Opens a new dialog allowing you to edit an existing association Deletes one of the existing association Moves the selected association one level up the order is important because the first document type association in the list that can be associated with the docu ment will be used Moves the selected association one level down When this is enabled the matching process will also examine the DTD XML Schema associated with the document For example the fixed attributes declared in the DTD for the root element will be analyzed also if this is specified in the association rules Example 15 1 Enabling DTD Processing for DITA customizations If you are writing DITA customizations you should enable this checkbox DITA Topics and Maps are also matched by looking for the DITAArch Version attribute in the root element If the DTD is not processed on detection then this attribute specified as default in the DTD will not be detected on the root element and the DITA customization will not be correctly matched When the previous feature is enabled you can choose to process only the local DTDs XML Schemas The Reset Defaults button that is available in all Preferences panels has no effect for document type
315. est license For registration code Use a license key After you received the license key either trial or permanent paste it below Note that the license key usually received in a registration email is composed of nine lines of text Registration_Name test Company Syncro Category Professional Component Author Version 9 Number_of_Licenses 1 Date 01 01 2008 Duration 30 e id ee eee 5 Paste the license text in the registration dialog and press OK You have the following alternative for the procedure of license install Procedure 2 5 Save the license in a text file 1 Save the license key in a file named licensekey txt 2 Copy the file in the lib folder of the installed plugin In that way the license will not be asked when lt oXygen gt XML Author will start 3 Start Eclipse How floating concurrent licenses work If all the floating licenses are used in the same local network the installation procedure of floating licenses is the same as for the Named User licenses Within the same network the license management is done by communication between the instances of lt oXygen gt XML Author that are connected to the same local network and that run at the same time Any new instance of lt oXygen gt XML Author that is started after the number of running instances is equal with the number of purchased licenses will display a warning message and will disable the open file action If the floating licen
316. et position is inside a table ES Insert Column inserts a new table column with empty cells after the current column The action is available when the caret position is inside a table Insert Cell inserts a new empty cell depending on the current context If the caret is positioned between two cells a new one will be inserted at caret s position If the caret is inside a cell then the new one will be created after the current cell Delete Column deletes the table column where the caret is located Delete Row deletes the table row where the caret is located 117 Predefined document types Join Row Cells joins the content of the selected cells The operation is available if the selected cells are from the same row and they have the same row span The action is also available when the selection is missing but the caret is positioned between two cells A Join Cell Above joins the content of cell from current caret position with that of the cell above it Note that this action works only if both cells have the same column span A Join Cell Below joins the content of cell from current caret position with that of the cell below it Note that this action works only if both cells have the same column span m Split Cell To The Left splits the cell from current caret position in two inserting a new empty table cell to the left Note that this action works only if the current cell spans over more than one column The col
317. et via the Proxy Service The Proxy Configuration dialog enables this configuration If you are not sure whether your computer is required to use a Proxy server to connect to the Internet or the values required by the Proxy Configuration dialog please consult your Network Administrator Open the Network Connections panel by selecting Window gt Preferences gt Author Network Configuration 384 Configuring the application Figure 15 56 The Network Connections preferences panel Network Connections nS Enable the HTTP WEBDAV protocols Warning This may alter other plugins functionality Advanced HTTP Connection Settings Read timeout s 20 WebDAV Lock WebDAV files on open FTP Connection Settings Encoding for FTP control connection I50 8859 1 SFTP Connection Settings Private key file Passphrase Show SFTP certificate warning dialog Changing settings require restarting the Eclipse Complete the dialog as follows Enable the HTTP WEBDAV proto When checked Http WebDAV proxy and proxy settings are enabled The host cols port username and password that the lt oXygen gt plugin uses are the ones set in the general Network Connections settings of Eclipse 1 Important This may affect other plugins functionality Lock WebDAV files on open If checked the files opened through WebDAV are locked on the server so that they cannot be edited by other users while the lock placed by the current user stil
318. ete Row deletes the table row where the caret is located Join Row Cells joins the content of the selected cells The operation is available if the selected cells are from the same row and they have the same row span The action is also available when the selection is missing but the caret is positioned between two cells A Join Cell Above joins the content of cell from current caret position with that of the cell above it Note that this action works only if both cells have the same column span A Join Cell Below joins the content of cell from current caret position with that of the cell below it Note that this action works only if both cells have the same column span m Split Cell To The Left splits the cell from current caret position in two inserting a new empty table cell to the left Note that this action works only if the current cell spans over more than one column The column span of the source cell will be decreased with one at Split Cell To The Right splits the cell from current caret position in two inserting a new empty table cell to the right Note that this action works only if the current cell spans over more than one column The column span of the source cell will be decreased with one 120 Predefined document types La e Split Cell Above splits the cell from current caret position in two inserting a new empty table cell above Note that this action works only if the current cell spans over more
319. external FO Processor in the lt oXygen gt preferences See here The system property com oxygenxml xep location was set to point to the XEP executable file for the platform eg xep bat on Windows XEP was installed in the rameworks dita DITA OT demo fo lib direct ory of the lt oXygen gt installation directory i Tip The DITA OT contributors recommend the use of the IDIOM FO Plugin to transform DITA Maps to PDF as opposed to using the standard PDF target in the DITA OT framework 76 Editing documents As IDIOM is also bundled with lt oXygen gt the PDF 2 IDIOM FO Plugin output format should be your first choice in transforming your map to PDF If you do not have a XEP licence you can transform using Apache FO Processor Set a font for PDF output generated with Apache FOP When a DITA map is transformed to PDF using the Apache FOP processor and it contains some Unicode characters that cannot be rendered by the default PDF fonts then a font that is capable to render these characters must be configured and embedded in the PDF result The settings that must be modified for configuring a font for the Apache FOP processor are detailed in this section Running a DITA Map ANT transformation The transformation is run as an external ANT process so you can continue using the application as the transformation unfolds All output from the process appears in the DITA Transformation tab i Tip The HTTP proxy settings from l
320. f the given node must be refreshed when the attribute with the specified name has changed param node The node with the references param attributeName The name of the changed attribute return lt code gt true lt code gt if the references must be refreshed XA AA AR F F gt public boolean isReferenceChanged AuthorNode node String attributeName return location equals attributeName return The description of the author extension ay public String getDescription return Resolves the ref references CustomRule java package simple documentation framework import org xml sax Attributes import ro sync ecss extensions api DocumentTypeCustomRuleMatcher public class CustomRule implements DocumentTypeCustomRuleMatcher Checks if the root namespace is the one of our documentation framework e public boolean matches String systemID 251 lt oXygen gt XML Editor Developer Guide S S S A return public String getDescription return Checks if the current Document Type Association is matching the document tring rootNamespace tring rootLocalName tring doctypePublicID ttributes rootAttributes DefaultElementLocatorProvider java package ro sync ecss extensions commons import import import import import AS public class Default Logger for logging org apache log43
321. f there is no selection then a new specific tag will be inserted These actions are available in any document context 5 Insert Section inserts a new section subsection depending on the current context For example if the current context is div then a div2 will be inserted and so on T Insert Paragraph inserts a new paragraph depending on the current context If current context is a paragraph context one of the ancestors of the element at caret position is p then a new paragraph will be inserted after the paragraph at caret Otherwise a new paragraph is inserted at caret position balinsert Image inserts a graphic object at the caret position The following dialog is displayed allowing the user to specify the entity that refers the image itself 122 Predefined document types Figure 6 11 Insert image entity dialog Set the attribute value for entity Value Figurel Insert Ordered List inserts an ordered list list element with type attribute set to ordered with one list item item element Insert Itemized List inserts an unordered list list element with type attribute set to bulleted with one list item item element Insert List Item inserts a new list item for in any of the above two list types insert Table opens a dialog that allows you to configure the table to be inserted Figure 6 12 Insert Table Dialog Insert Table Y Head Employees
322. figuration settings and customizations Procedure 2 8 Upgrade Procedure 1 Uninstall the lt oXygen gt XML Author plugin see Uninstall procedure 2 Follow the Installation instructions 3 Restart the Eclipse platform 4 Start the lt oXygen gt XML Author plugin to ensure that the application can start and that your license is recognized by the upgrade installation 5 If you are upgrading to a major version for example from 8 2 to 9 0 then you will need to enter the new license text into the registration dialog that is shown when the application starts 6 Select Window Preferences gt Plug In Development gt Target Platform and next to the list entry you should see the version number of the newest installed plugin If the previous version was 8 2 0 the list entry should now contain 9 0 0 Uninstalling the Eclipse plugin Warning The following procedure will remove the lt oXygen gt XML Author plugin from your system It will not remove the Eclipse platform If you wish to uninstall Eclipse please see its uninstall instructions Procedure 2 9 Uninstall Procedure 1 Choose the menu option Help Software Update Manage Configuration and from the list of products select lt oXygen gt XML Author and XSLT Debugger 2 Select Disable 3 Accept the restart of the Eclipse IDE 4 Again choose the menu option Help Software Update Manage Configuration and from the list of products select lt oXygen gt XML
323. fo list item body start indent body start gt lt fo block text align start color red gt lt xsl apply templates select gt lt fo block gt lt fo list item body gt lt fo list item gt lt xsl template gt Editing DITA Maps DITA Maps organize topics for output to a specific deliverable including generating navigation files and links to related topics lt oXygen gt provides a special DITA Maps editing view The DITA Maps Manager view presents maps in a simplified table of contents manner allowing the user to easily navigate the referred topics make changes and perform transformations to various output formats using the DITA OT framework bundled with lt oXygen gt Figure 4 42 The DITA Maps Manager view Pa DITA Maps Manager E m 2H 4 amp BB 3 Changing the oil in your car ls Organizing the workbench and tools 1 Garage Concepts 13 Lawnmower ls oil hierarchy ditamap You can open a map file from Project in the DITA Maps Manager view by right clicking it and choosing Open in DITA Maps Manager The titles of the referenced resources will be resolved dynamically when navigating the tree After the map is opened in the Manager you can open it in the main editor for further customization using the Open map in editor toolbar action 64 Editing documents i Tip If you want to transform your DITA topics to various formats using the DITA Open Toolkit
324. found in the form and will hint to the problem type It will not highlight the general position of the error to do this run the well formed action by se lecting Document gt Check document form Alt Shift V W Cmd Alt V W on Mac OS Note If the document is not well formed because some XML elements contain code in a specific language for example JavaScript lt script language JavaScript type text javascript gt var javawsInstalled 0 var javawsl2Installed 0 var javaws142Installed 0 isIE false if navigator mimeTypes amp amp navigator mimeTypes length x navigator mimeTypes application x Java 3jnlp file if x javawsInstalled 1 javawsl2Installed 1 javaws142Installed 1 else isIE true lt script gt 57 Editing documents this code can be enclosed in an XML comment to make the document well formed before applying the Format and Indent action lt script language JavaScript type text javascript gt lt l var javawsInstalled 0 var javawsl2Installed 0 var javaws142Installed 0 isIE false if navigator mimeTypes amp amp navigator mimeTypes length x navigator mimeTypes application x Java 3jnlp file 1E CK A javawsInstalled 1 javawsl2Installed 1 javaws142Installed 1 else isIE true gt lt script gt To change the indenting of the current selected text see the action Indent selecti
325. ft with en E before and E after Pseudo elements The before and after pseudo elements can be used to insert generated content before or after an element s content Unsupported selectors The following CSS level 2 1 selectors are not supported by the lt oXygen gt Author Table 7 4 Unsupported CSS 2 1 selectors Expression Name Description Example E myid ID selectors Matches any E element with ID equal to myid E link E visited The link pseudo class Matches element E if E is the source anchor of a hyperlink of which the target is not yet visited link or already visited vis ited E active E focus E first line E hover The dynamic pseudo classes The first line pseudo class Matches E during certain user actions The first line pseudo element applies special styles to the con tents of the first formatted line of a paragraph E first letter The first letter pseudo class The first letter pseudo element must select the first letter of the first line of a block if it is not preceded by any other content such as images or inline tables on its line The first letter pseudo element may be used for initial caps and drop caps which are common typographical effects 209 lt oXygen gt XML Editor Developer Guide Properties Support Table All the properties belonging to the aural and paged categories are not
326. ftware AG Tamino Connection oooccconoccnnnccnnnccnnnnccnnoncnonccnnnnccnnccnnns 319 How to configure a Raining Data TigerLogic Connection oooccoccnnccnnccnnccnncnnnconeconiconicinnss 320 How to configure an Documentum xDb X Hive DB Connection occoococcnonocononocononoconononos 321 Resource Management oins tn ia Sheet neds 322 Database Explorer VIEW secta o sites pise died 322 Berkeley DB XML Connection cooccncccccnnncnnocnnccnnconnconnconnconnconnrnnnrnnnrnnronnrcncnnnnns 322 Actions available at connection level oooocooncnocconnncnoconcnoroncnnroncnoroncnnnonannnos 322 Actions available at container level oooccoccoccncnnconcnnconccocononocononoconanoconinonos 323 Actions available at resource level oooccoccnccoccncnoconcnnconococonococononoconanoconanonos 325 EXIST COME iia A A dao 326 Actions available at connection level oooocoocnoccocnncnoconcnoroncnoroncnoroncnononannnos 326 Actions available at container level ooooccoccoccncnnconcnnconccncononncononoconanoconanonos 326 Actions available at resource level oooococcoccoccncnnconcnnconccorononocononoconanoconanonos 326 WebDAV Connection iis A o ria 327 How to Configure a WebDAV Connection oocooccnccnnccnnconnconnccnnccnnconncnnncnnnnnnnnnnronarnnccnncinnccnnions 327 WebDAV connection actions cooococcnccoconccnconcnncnncnncnnccnconcononnroncnnroncrnroncrnroncnnroncnnroncnnroncnnses 327 Actions available at connection level ooooocooncoc
327. g Oracle 11g databases in lt oXygen gt You can manage the Driver Files using Add Remove Detect and Stop detection buttons 3 Select the most suited Driver class 4 Click OK to finish the data source configuration How to configure a PostgreSQL 8 3 Data Source 1 Go to Preferences gt Data Sources In the Data Sources panel click the New button 2 Enter a unique name for this data source and select Postgres from the driver type combo box Press the Add button to add the following Postgres 8 3 specific files e postgresql 8 3 603 jdbc3 jar In the Download links for database drivers section there are listed the URLs from where to download the drivers necessary for accessing PostgreSQL databases in lt oXygen gt You can manage the Driver Files using Add Remove Detect and Stop detection buttons 3 Select the org postgresql Driver class in the Driver class combo box 4 Click OK to finish the data source configuration Configuring Database Connections This section presents a set of procedures describing how to configure connections that use relational data sources 303 Working with Databases How to Configure an IBM DB2 Connection Figure 12 2 The Connection Configuration Dialog Connection Name DB2 Connection Data Source DB2 Datasource x Connection details URL jdbe db2 10 0 0 16 50000 SAMPLE retrie User db2int2 Password eeeeeee 4 Go to Preferences gt
328. g options can be selected recover silently recover with warnings or signal the error and do not attempt recovery Strip whitespaces Strip whitespaces feature can be one of the three options All Ignorable None All strips all whitespace text nodes from source documents before any further processing regardless of any xsl strip space declar ations in the stylesheet or any xml space attributes in the source document 271 Transforming documents Ignorable strips all ignorable whitespace text nodes from source documents before any further processing regardless of any xsl strip space declarations in the stylesheet or any xml space attributes in the source document Whitespace text nodes are ignorable if they appear in elements defined in the DTD or schema as having element only content None strips no whitespace before further processing However whitespace will still be stripped if this is specified in the stylesheet using xsl strip space Initial mode Specifies to the transformer the initial template mode Initial template Specifies the name of the initial template to the transformer When specified the XML input URL for the transformation scenario is optional Validation of the source file Available only for Saxon SA Schema validation Lax schema validation Disable schema validation This mode requires an XML Schema and determines whether source documents should be parsed with schema validation enabled
329. ge in the document Previous Find the previous change in the document Accept Accept the current change Reject Reject the current change Accept All Accept all changes in the document Reject All Reject all changes in the document 101 Chapter 6 Predefined document types A document type is associated to an XML file according to its defined rules and it specifies many settings used to improve editing the category of XML files it applies for These settings include specifying a default grammar used for validation and content completion default scenarios used for transformation specifying directories with file templates specifying catalogs and a lot of settings which can be used to improve editing in the Tagless editor The tagless editor comes with some predefined document types already configured when the application is installed on the computer These document types describe well known XML frameworks largely used today for authoring XML documents Editing a document which conforms to one of these types is as easy as opening it or creating it from one of the predefined document templates which also come with the application Figure 6 1 Document Type preferences page Document Type Association lt p y User roles Content author x Document type Enabled Storage Namespace Root local name Filename Public ID Java class ANT M E proje DITA A E proje DocBook4 Y E proje Rule book lt ANY gt lt ANY gt Rul
330. hat both XPath 1 0 and XPath 2 0 expressions are accepted in the embedded ISO Schematron rules and are enforced by the val idation operation For embedded Schematron 1 5 rules the version of XPath is set with a user preference Marking Validation Errors A line with a validation error or warning will be marked in the editor panel by underlining the error region with a red color Also a red sign will mark the position in the document of that line on the right side ruler of the editor panel The same will happen for a validation warning only the color will be yellow instead of red The ruler on the right of the document is designed to display the errors found during the validation process and also to help the user to locate them more easily The ruler contains the following areas e top area containing a success validation indicator that will turn green in case the validation succeeded or red otherwise e middle area where the errors markers are depicted in red The number of markers shown can be limited by modifying the setting Window gt Preferences oXygen Editor Document checking Maximum number of errors reported per document Clicking on a marker will highlight the corresponding text area in the editor The error message is displayed both in the tool tip and in the error area on the bottom of the editor panel Status messages from every validation action are logged into the Console view 39 Editing documents Validation Example
331. he Grid Editor The DnD features of the grid editor make easy the arrangement of the different sections in your XML document Using DnD you can e Copy or move a set of nodes e Change the order of columns in the tables e Move the rows from the tables These operations are available for single selection and multiple selection Note that when dragging the editor paints guide lines showing accepted locations where the nodes can be dropped Nodes can be dragged outside the grid editor and text from other applications can be dropped inside the grid See Copy and Paste in the Grid Editor for details Copy and Paste in the Grid Editor The selection in the grid is a bit complex relative to the selection in a text component It consists of a current selected cell and additional selected cells These additional cells are either hand picked by the user using the mouse or are implied by the current selected cell To be more specific let s consider you click the name of the column this becomes the current selected cell the editor automatically extends the selection so it contains also all the cells from that column The current selected cell is painted with a color that is different from the rest of the selection You can select discontinuous regions of nodes and place them in the clipboard using the copy action Pasting these nodes may be done in two ways relative to the current selected cell by default as brother just below after or as last
332. he caret is located before the end position of the element and Delete key is pressed e The caret is located after the end position of the element and Backspace key is pressed Removing all the markup of an element You can remove the markup of the current element and keep only the text content with the action Remove All Markup available on the submenu Refactoring of the contextual menu and on the toolbar XML Refactoring When you press Delete or Backspace in the presented cases a dialog will be displayed allowing you to choose between Join or Unwrap operations If the current element is empty no dialog will be presented and the element tags will be deleted Figure 5 18 Join Unwrap dialog Information Do you want to join the elements para 2 C Always do this from now on When you click on a marker representing the start or end tag of an element the entire element will be selected The contextual menu displayed when you right click on the marker representing the start or end tag of an element contains Append child Insert Before and Insert After submenus as first entries Editing the XML content Entire sections or chunks of data can be moved or copied by using the Drag and Drop support The following situations can be encountered e when both the drag and drop sources are Author pages an well formed XML fragment is transferred The section will be balanced before dropping it by adding matching tags when needed
333. he selected text by surrounding it with lt emphasis role italic gt tag Note For all of the above actions if there is no selection then a new emphasis tag with specific role will be inserted These actions are available in any document context These actions are grouped under the Emphasize toolbar actions group e link inserts a hypertext link e ulink inserts a link that address its target by means of an URL Universal Resource Locator e olink inserts a link that address its target indirectly using the targetdoc and targetptr values which are present ina Targetset file 103 Predefined document types Figure 6 2 Insert OLink Dialog Targetset URL _ file C Users radu_coravu Desktop target db DY Structure Content documentation book lt oXygen gt XML Editor 10 1 User Manual lt oXygen userGuide a chapter 1 Introduction introduction sectl Key Features and Benefits key features a sectl Key Features and Benefits key features a sectl About the lt oXygen gt User Manual abou a chapter 2 Installation installation 4 sectl Installation Requirements installation rec sect Platform Requirements platform req 4 sect Operating System Tools and Environmel E ___sect3 Operating System operating syste 4 m p Type filter text Q Type filter text Q targetdoc userGuide targetptr ey features and benefits ec xreftext the section cal
334. he type of spell checker accuracy which may be Favour speed over quality Normal and Favour quality over speed Document Checking The Document Checking preferences panel is opened from menu Window gt Preferences gt Author Editor Document Checking Figure 15 28 Document Checking preferences panel Document Checking da Validate as you type Delay after the last key event s 1 Maximum number of problems reported per document 100 Clear validation markers on close Validation of edited document is executed as the document is modified by editing in lt oXygen gt Validate as you type Delay after the last key event s The period of keyboard inactivity which starts a new validation in seconds Maximum number of errors reported If there are many validation errors the process of marking them in the document per document is long You should limit the maximum number of reported errors with this setting to keep the time for error marking short 359 Configuring the application Clear validation markers on close When a document edited with the lt oXygen gt plugin is closed all the error markers added in the Problems view for the validation errors obtained for that document are removed Custom Validation The Custom Validation preferences panel is opened from menu Window Preferences gt Author Editor Custom Validation Figure 15 29 Custom Validation preferences panel Custom Validation
335. hema validation One solution to this is to modify your schema to allow xml base attributes to appear on elements that might be included from different base URIs If the addition of xml base and or xml lang is undesired by your application you can disable base URI fix up Xerces XML Parser documentation The processor will preserve language in formation on a top level included element by adding an xml lang attribute if its include parent has a different language property If the addition of xml lang is undesired by your application you can disable the Language fix up Checks the ID IDREF matches when the Relax NG document is validated Checks the Relax NG to be feasibly valid when this document is validated 1 0 Allows XSLT 1 0 expressions for Schematron 1 5 assertion tests 2 0 Allows XSLT 2 0 expressions for Schematron 1 5 assertion tests If your ISO Schematron assertion tests do not contain the attributes axis you should check this option for faster ISO Schematron validation Enable support for allow foreign on ISO Schematron Used to pass non Schematron elements to the generated stylesheet If checked Saxon SA will be used for xslt2 query binding The Saxon SA Validation preferences panel is opened from menu Window Preferences gt Author XML XML Parser Saxon SA Validation 364 Configuring the application Figure 15 34 The Saxon SA preferences panel Saxon SA Validation XML Schema version
336. hor XML XML Catalog Figure 15 32 The XML Catalog preferences panel XML Catalog ts Prefer O system public verbosity None O Unresolved entities O All messages Use default catalog file E Projects exXml frameworks catalog xml Catalogs File E samples frameworks dita catalog xml l gt Additional catalogs are added from each document type Changes in the catalogs list or the files referred may require reopening the files which use them The Prefer option is used to specify if lt oXygen gt will try to resolve first the PUBLIC or SYSTEM reference using the specified XML catalogs If a PUBLIC reference is not mapped in any of the catalogs then a SYSTEM reference is looked up 362 Configuring the application When using catalogs it is sometimes useful to see what catalog files are parsed if they are valid or not and what identifiers are resolved by the catalogs The Verbosity option selects the detail level of such messages of the catalog resolver that will be displayed in the Catalogs view at the bottom of the window None No message is displayed by the catalog resolver when it tries to resolve a URI reference with the XML catalogs set in the application Unresolved entities Only the messages that track the failed attempts to resolve URI references are displayed All messages The messages of both failed attempts and successful ones are displayed If the Use default catalog option is ch
337. ic class SDFStylesFilter implements StylesFilter public Styles filter Styles styles AuthorNode authorNode if AuthorNode NODE_TYPE_ELEMENT authorNode getType amp amp table equals authorNode getName styles setProperty Styles KEY_FONT new Font null Font BOLD 12 return styles 198 lt oXygen gt XML Editor Developer Guide Configuring a Table Column Width Provider In our documentation framework the table element and the table columns can have specified widths In order for these widths to be considered by lt oXygen gt Author we need to provide the means to determine them As explained in the Styling the Table Element section which describes the CSS properties needed for defining a table if we use the table element attribute width lt oXygen gt can determine the table width automatically In our example the table has col elements with width attributes that are not recognized by default We will need to implement a Java extension class for determining the column widths Create the class simple documentation framework TableColumnWidthProvider This class must implement the ro sync ecss import ro sync ecss ex import ro sync ecss ex import ro sync ecss ex import ro sync ecss ex import ro sync ecss ex public class TableColu implements Autho extensions api AuthorTableColumnWidthProvider interface tensions api AuthorAccess tensions api AuthorOper
338. ic files e sqljdbc jar In the Download links for database drivers section there are listed the URLs from where to download the drivers necessary for accessing Microsoft SQL Server databases in lt oXygen gt You can manage the Driver Files using Add Remove Detect and Stop detection buttons Select the most suited Driver class Click OK to finish the data source configuration How to configure a MySQL Data Source lt oXygen gt s default configuration already contains a generic JDBC data source called MySQL 1 Go to Preferences gt Data Sources In the Data Sources panel click the New button 302 Working with Databases 2 Enter a unique name for this data source and select Generic JDBC from the driver type combo box Press the Add button to add the following MySQL specific files e mysql com jar You can manage the Driver Files using Add Remove Detect and Stop detection buttons 3 Select the most suited Driver class 4 Click OK to finish the data source configuration How to configure an Oracle 11g Data Source 1 Goto Preferences gt Data Sources In the Data Sources panel click the New button 2 Enter a unique name for this data source and select Oracle from the driver type combo box Press the Add button to add the following Oracle 10 2 specific files e ojdbc5 jar In the Download links for database drivers section there are listed the URLs from where to download the drivers necessary for accessin
339. ication Data com oxygenxml author oxyAuthorOptionsEcl0 3 xml on Windows user home dir com oxygenxml author oxyAuthorOptionsEcl0 3 xml on Linux start Eclipse and the standalone settings will be automatically imported in Eclipse The same for importing the Eclipse plugin settings in standalone delete the file user home dir com oxygenxml author oxyAu thorOptionsSal0 3 xml1 start the lt oXygen gt standalone distribution and the Eclipse settings will be automat ically imported Reset Global Options To reset all custom user settings of the application that are stored in a local file not in the project to the installation defaults go to Window Preferences gt Author Reset Global Options The list of transformation scenarios will be reset to the default scenarios Scenarios Management You can import export and reset the scenarios stored in the global options The action Window gt Preferences oXygen Scenarios Management Import Global Transformation Scenarios loads a properties file with scenarios The action Window gt Preferences oXygen Scenarios Management H Export Global Transformation scenarios stores all the scenarios in a separate properties file The option to Export Transformation Scenarios is used to store all the scenarios in a separate file a properties file In this file will also be saved the associations between document URLs and scenarios The saved URLs are absolute You can loa
340. id SELECT expression which can be applied to the database Add the action to the toolbar using the Toolbar panel 176 lt oXygen gt XML Editor Developer Guide Figure 7 24 Java Operation Arguments Setup Operations local name section When this XPath expression is true invoke operation simple documentation framework QueryDatabaseOperation with the arguments Name Description Type Value jdbc_driver The name of the Jav String org git mm mysql Driver connection The database URL co String jdbe mysql 10 0 0 16 3306 camera user The name of the dat String dbuser password The database passw String Serer sql The SQL statement t String SELECT id site pageRank status 1 Operation priority To test the action you can open the sdf xml sample place the caret inside a section between two para elements for instance Press the OCreate Report button from the toolbar You can see below the toolbar with the action button and sample table inserted by the Clients Report action Figure 7 25 Table Content Extracted from the Database document article section a i Here I have the list of clients that are using the XML documenta framewor Author c X book mia s a Po to the database and collects the list of client michael test oxy ro mary test oxy ro Text Grid Author dbx Configuring New File Templates We wi
341. idVerifier link catch ElementLocatorException e 252 lt oXygen gt XML Editor Developer Guide logger warn Exception when creat lement locator for link link Cause e e return elementLocator see ro sync ecss extensions api Extension getDescription e public String getDescription return Default implementation for locating elements based on a given link In The following cases are covered xinclude element scheme and ID based links XPointerElementLocator java package ro sync ecss extensions commons H H H H 3 5353 3 Y ACA CAC CACA F CACA CACA CACA lt ul gt lt li gt lt li gt lt ul gt port ro port ro port ro port ro sync ecss sync ecss sync ecss sync ecss import java util Stack import java util StringTokenizer import org apache log43 Logger extensions api link Attr extensions api link ElementLocator extensions api link ElementLocatorException extensions api link IDTypeVerifier Element locator for links that have the one of the following pattern lement elementID locate the element with the same id lt li gt lt li gt element 1 2 5 A child sequence appearing alone identifies an element by means of stepwise navigation which is directed by a sequence of integers separated by slashes each integer n locates
342. if they are declared in the document where the insertion is done For clarity we recommend always to prefix and declare namespaces in the inserted fragment Note If there are namespace declarations in the fragment that are identical to the in the document insertion context the namespace declaration attributes are removed from the fragment elements 166 lt oXygen gt XML Editor Developer Guide Example 7 2 Prefixes that are not bound explicitly For instance the fragment lt x item id dty2 gt gent lt x item id dty3 gt Can be correctly inserted in the document I marks the insertion point lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE x root lt ENTITY ent entity gt gt lt x root xmlns x nsp gt lt x root gt Result lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE x root lt ENTITY ent entity gt 1 gt lt x root xmlns x nsp gt lt x item id dty2 gt gent lt x item id dty3 gt lt x root gt Example 7 3 Default namespaces If there is a default namespace declared in the document and the document fragment does not declare a namespace the elements from the fragment are considered to be in no namespace For instance the fragment lt item id dty2 gt lt item id dty3 gt Inserted in the document lt xml version 1 0 encoding UTF 8 gt lt root xmlns nsp gt lt root gt Gives the result document l
343. ified the reference has the following layout Figure 7 33 Reference with no specified reference resolver Reference without a reference resolver bReference4 When the above implementation is configured the reference has the expected layout Figure 7 34 Reference with reference resolver Reference with a reference resolver Reference Edit referenced content Referred paragraph Configuring CSS Styles Filter You can modify the CSS styles for each ro sync ecss extensions api node AuthorNode rendered in the Author page using an implementation of ro sync ecss extensions api StylesFilter You can implement the various callbacks of the interface either by returning the default value given by lt oXygen gt or by con tributing to the value The received styles ro sync ecss css Styles can be processed and values can be overwritten with your own For example you can override the KEY_BACKGROUND_COLOR style to return your own implementation of ro sync exml view graphics Color or override the KEY_FONT style to return your own implementation of ro sync exml view graphics Font For instance in our simple document example the filter can change the value of the KEY_FONT property for the table element package simple documentation framework import ro sync ecss css Styles import ro sync ecss extensions api StylesFilter import ro sync ecss extensions api node AuthorNode import ro sync exml view graphics Font publ
344. ilable when the caret position is inside a table Insert Cell inserts a new empty cell depending on the current context If the caret is positioned between two cells a new one will be inserted at caret s position If the caret is inside a cell then the new one will be created after the current cell Delete Column deletes the table column where the caret is located a Delete Row deletes the table row where the caret is located Join Row Cells joins the content of the selected cells The operation is available if the selected cells are from the same row and they have the same row span The action is also available when the selection is missing but the caret is positioned between two cells 105 Predefined document types S Join Cell Above joins the content of cell from current caret position with that of the cell above it Note that this action works only if both cells have the same column span ElJoin Cell Below joins the content of cell from current caret position with that of the cell below it Note that this action works only if both cells have the same column span E Split Cell To The Left splits the cell from current caret position in two inserting a new empty table cell to the left Note that this action works only if the current cell spans over more than one column The column span of the source cell will be decreased with one me Split Cell To The Right splits the cell from current caret position in two
345. ile is considered to be a TEI PS document when the namespace is http Avww tei c org ns 1 0 Schema The RNG schema used for these documents is located in frameworks tei xml tei custom schema relaxng tei_all Plus rng where frameworks is a subdirectory of the lt oXygen gt install directory Author extensions The CSS file used for rendering TEI P5 content and custom actions are the same with those configured for TEI P4 Templates Default templates are available for TEI P5 They are stored in frameworksDir tei templates TEI P5 folder and they can be used for easily creating basic TEI P5 documents These templates are available when creating new documents from templates TEI PS All New TEI P5 All TEI P5 Bare New TEI P5 Bare TEI PS Lite New TEI P5 Lite TEI PS Math New TEI P5 Math TEI P5 Speech New TEI P5 Speech TEI P5 SVG New TEI P5 with SVG extensions TEI PS XInclude New TEI P5 XInclude aware Catalogs XML catalogs used for TEI P4 are used also for TEI P5 Transformation Scenarios The following default transformations are available TEI P5 experimental HTML transforms a TEI document into a HTML document TEI P5 experimental PDF transforms a TEI document into a PDF document 126 Predefined document types The MathML document type Mathematical Markup Language MathML is an application of XML for describing mathematical notations and cap turing both its structure and co
346. ine in the content of the element If there is a selection in the editor and you invoke content completion a Surround with operation can be performed The tag used will be the selected item from the content completion window Joining two elements You can choose to join the content of two sibling elements with the same name by using the Join elements action from the editor contextual menu The same action can be triggered also in the next situations e The caret is located before the end position of the first element and Delete key is pressed e The caret is located after the end position of the first element and Backspace key is pressed e The caret is located before the start position of the second element and Delete key is pressed The caret is located after the start position of the second element and Backspace key is pressed In either of the described cases if the element has no sibling or the sibling element has a different name Unwrap op eration will be performed automatically 94 Authoring in the tagless editor Unwrapping the content of an element You can unwrap the content of an element by deleting its tags using the Delete element tags action from the editor contextual menu The same action can be triggered in the next situations The caret is located before the start position of the element and Delete key is pressed e The caret is located after the start position of the element and Backspace key is pressed e T
347. ine numbering If checked line numbers are maintained for the source document Allow calls on extension functions If checked external functions called is allowed Not checking this is recommended in an environment where untrusted stylesheets may be executed Also disables user defined extension elements to gether with the writing of multiple output files all of which carry similar security risks e Policy for handling recoverable errors in the stylesheet Allows the user to choose how dynamic errors will be handled Either one of the following options can be selected recover silently recover with warnings or signal the error and do not attempt recovery Saxon B SA The Saxon B SA preferences panel is opened from menu Window Preferences Au thor XML XSLT FO X Query XSLT Saxon Saxon B SA The XSLT options which can be configured for the Saxon 9 transformer both the Basic and the Schema Aware versions are 366 Configuring the application Figure 15 38 The Saxon B SA XSLT preferences panel Saxon B SA ae i Version warnings not novw Allow calls on extension functions not noext DTD based validation of the source file v Line numbering 49 Policy for handling recoverable errors in the stylesheet O Recover silently w0 Recover with warnings w1 O Signal the error and do not attempt recovery w2 Strip whitespaces O All sall Ignore signorable O None sn
348. ing Inlines action ciales a anchor E application lt pr E author lt book E authorinitials Note The validation will not work on a included file as no DTD is set The validation can be done only from the master file At this point you can only check the document to be well formed Creating a new project Procedure 4 4 Create an lt oXygen gt XML project 1 Select File gt New gt gt Other Ctrl N or press the New toolbar button The New wizard is displayed which contains the list entry XML Project Figure 4 34 The New wizard New Project Select a wizard XML Project Wizards type filter text g Java Project 3 Java Project from Existing Ant Buildfile ee Plug in Project gt General Cancel 32 Editing documents 2 Select XML Project in the list of document types and click the Next button Figure 4 35 The XML Project wizard step 1 E New Project Select a wizard XML Project G Java Project 2 Plug in Project E cvs gt Java 23 oxygen Sample XML Project XML Project H E Plug in Development H E Simple coa 3 Type a name for the new project and click the Next button Figure 4 36 The XML Project wizard step 2 New XML Project Project preferences Choose the current project references Referenced projects lS sample test Finish Cancel 4 Select other Eclipse projects that you want to reference in the
349. ing elements The XML Signature is a method of associating a key with referenced data it does not normatively specify how keys are associated with persons or institutions nor the meaning of the data being referenced and signed The original data is not actually signed instead the signature is applied to the output of a chain of canonicalization and transformation algorithms which are applied to the data in a designated sequence This system provides the flex ibility to accommodate whatever normalization or desired preprocessing of the data that might be required or desired before subjecting it to being signed To canonicalize something means to put it in a standard format that everyone generally uses Because the signature is dependent on the content it is signing a signature produced from a not canonicalized document could possibly be dif ferent from one produced from a canonicalized document The canonical form of an XML document is physical rep resentation of the document produced by the method described in this specification The term canonical XML refers to XML that is in canonical form The XML canonicalization method is the algorithm defined by this specification that generates the canonical form of a given XML document or document subset The term XML canonicalization refers to the process of applying the XML canonicalization method to an XML document or document subset XML canonicalization is designed to be useful to applications that
350. ining document ation for the content completion elements This option will do a soft wrap of long lines that is automatically wrap lines in edited documents When this option is checked line folding will be disabled This option enables highlight for the tag matching the one on which the caret is situated If checked it enables folding when a new editor is opened If Enable folding when opening a new editor is checked you can specify the minimum number of lines for folding If you modify this value you ll notice the changes when you open reopen the editor The Pages preferences panel is opened from menu Window gt Preferences gt oXygen gt Editor gt Pages and allows you to select the initial page for an editor The mode in which a file was edited in the previous session is saved and will be used when the application is restarted and the file reopened 341 Configuring the application Figure 15 7 The lt oXygen gt Pages preferences panel Pages Js v Select the initial page for each editor Editor Page TIT a XSD Editor Schema WSDL Editor Text FO Editor Text XSL Editor Text NRL Editor Text NYDL Editor Text RNG Editor Text Schematron Editor Text Author The Author preferences panel is opened from menu Window Preferences gt Author Editor Author Figure 15 8 The lt oXygen gt Author preferences panel Author Sr gt V Sh
351. inition bound to the namespace name ht tp www w3 org 2000 xmlIns It MUST NOT be declared or undeclared Other prefixes MUST NOT be bound to this namespace name e All other prefixes beginning with the three letter sequence x m 1 in any case combination are reserved This means that users SHOULD NOT use them except as defined by later specifications and processors MUST NOT treat them as fatal errors e The namespace prefix unless it is xml or xmlns MUST have been declared in a namespace declaration attribute in either the start tag of the element where the prefix is used or in an ancestor element i e an element in whose content the prefixed markup occurs Furthermore the attribute value in the innermost such declaration MUST NOT be an empty string If you select menu Document Validate gt Check Document Form Alt Shift V WCmd Alt V W or click the toolbar button Y Check Document Form lt oXygen gt checks if your document is Namespace Well Formed XML If any error is found the result is returned to the Message Panel Each error is one record in the Result List and is accom panied by an error message Clicking the record will open the document containing the error and highlight the approx imate location Example 4 2 Document which is not Well Formed XML lt root gt lt tag gt lt root gt When Check document form is performed the following error is raised The element type tag must be terminated by the matching end tag
352. ion color Column header colors Selection color The background color of the row header that is currently selected and has the focus The background color of the row header that is currently selected and does not have the focus The background color of column headers that are not selected The background color of the column header that is currently selected and has the focus The background color of the column header that is currently selected and does not have the focus The column headers are painted with two color gradients one for the upper 1 3 part of the header and the other for the lower 2 3 part The start and end colors of the first gradient are set with the first two color buttons The start and end colors of the second gradient are set with the last two color buttons Format The Format preferences panel is opened from menu Window gt Preferences gt Author Editor Format Figure 15 12 The Format preferences panel Format Indent Detect indent on open Indent size Indent on enter Enable smart enter Format and Indent C Detect line width on open C Format and indent the document on open Line width Format and Indent 100 Ki C Hard line wrap Limit to Line width Format and Indent Performance C Clear undo buffer before Format and Indent Detect indent on open Indent with tabs The editor tries to detect the indent settings of the opened XML document In this way you ca
353. ion for the Simple Documentation Framework table layout TableColumnWidthProvider java package simple documentation framework extensions import java util ArrayList import java util List 243 lt oXygen gt XML Editor Developer Guide import ro sync ecss extensions api AuthorDocumentController import ro sync ecss extensions api AuthorOperationException import ro sync ecss extensions api AuthorTableColumnWidthProvider import ro sync ecss extensions api WidthRepresentation import ro sync ecss extensions api node AttrValue import ro sync ecss extensions api node AuthorElement Simple Documentation Framework table column width provider public class TableColumnWidthProvider implements AuthorTableColumnWidthProvider Cols start offset af private int colsStartOffset Cols end offset private int colsEndOffset Column widths specifications no private List lt WidthRepresentation gt colWidthSpecs new ArrayList lt WidthRepresentation gt j pk The tabl lement l private AuthorElement tableElement see ro sync ecss extensions api AuthorTableColumnWidthProvider commitColumnWidthModif ay public void commitColumnWidthModifications AuthorDocumentController authorDocumentControl WidthRepresentation colWidths String tableCellsTagName throws AuthorOperationExcept if td equals tableCellsTagName if colWidths null amp amp
354. ion in the Database Explorer lt oXygen gt s default configuration already contains a WebDAV data source called WebDAV How to Configure a WebDAV Connection Figure 12 21 The WebDAV Connection Configuration Dialog Connection Name WebDAY Connection y Data Source WebDAV Connection Details WebDAV URL http 10 0 0 16 webday User guest Password 1 Goto Preferences gt Data Sources In the Connections panel click the New button 2 Enter a unique name for this connection and select one of the WebDAV data source from the Data Source combo box 3 Fill in the Connection Details WebDAV URL to the WebDAV repository URL User User name to access the WebDAV repository Password Password to access the WebDAV repository 4 Click OK WebDAV connection actions Actions available at connection level Refresh performs a refresh of the connection e Configure Database Sources opens the Data Sources preferences page where you can configure both data sources and connections Add container allows you to create a new folder 327 Working with Databases Add Resource allows you to add a new file on the server Actions available at folder level Refresh performs a refresh of the selected node s subtree e Add container allows you to create a new folder 2 Add Resource allows you to add a new file on the server in the current folder e Rename
355. ion just an empty element is inserted in the editor panel at the cursor position Attributes view The Attributes panel presents all the possible attributes of the current element allowed by the schema of the document and allows to insert attributes in the current element or change the value of the attributes already used in the element The attributes already present in the document are painted with a bold font Default values are painted with an italic font Clicking on the Value column of a table row will start editing the value of the attribute from the selected row If the possible values of the attribute are specified as list in the schema associated with the edited document the Value column works as a combo box where you can select one of the possible values to be inserted in the document The at tributes table is sortable by clicking on the column names Thus the table s contents can be sorted in ascending order in descending order or in a custom order where the used attributes are placed at the beginning of the table as they appear in the element followed by the rest of the allowed elements as they are declared in the associated schema Figure 5 6 The Attributes View y person ka Attribute Value id Big Boss contr false h note salary A combo box located in the upper part of the view allows you to edit the attributes of the ancestors of the current element The contextual menu of the view allows you to
356. ions Association rules A file is considered to be a DocBook V 5 document when the namespace is http docbook org ns docbook Schema DocBook v5 documents use a RelaxNG and Schematron schema located in frameworks docbook 5 0 rng doc bookxi rng where frameworks is a subdirectory of the lt oXygen gt install directory Author extensions DocBook 5 extensions contain all DocBook 4 extensions plus support for HTML table Templates Default templates are available for DocBook 5 They are stored in frameworksDir docbook templates Docbook 5 folder and they can be used for easily creating a book or article with or without XInclude These templates are available when creating new documents from templates Docbook 5 Article New Docbook 5 Article Docbook 5 Article with XInclude New Docbook 5 XInclude aware Article Docbook 5 Book New Docbook 5 Book Docbook 5 Book with XInclude New Docbook 5 XInclude aware Book Catalogs The default catalog is stored in frameworksDir docbook 5 0 catalog xml Transformation Scenarios The following default transformation scenarios are available DocBook HTML transforms a DocBook document into HTML document e DocBook PDF transforms a DocBook document into a PDF document e DocBook HTML chunk transforms a DocBook document in multiple HTML documents 108 Predefined document types The DocBook Targetset document type This document type is provided to edit
357. ired to have a Prolog you may choose to skip this step by clicking OK If the prolog is required complete the fields as the following 18 Editing documents Figure 4 2 The Create an XML Document Dialog XML Schema Tab New XML Document JE Customize document XML schema gt DTD RNG RNC NRL NYDL URL file samples frameworks fo xsd Fo xsd E 3 Cluse relative paths Root Element root x Namespace http www w3 org 1999 XSL Format Prefix Description This is the top node of the formatting object tree It holds an fo layout master set Formatting object which holds all masters used in the document an optional fo declarations and one or v Add optional content mn Complete the dialog as follows URL Specifies the location of an XML Schema Document XSD You can also specify an URI if it is solved by the lt oXygen gt catalog Example 4 1 DITA XSD URI urn oasis names tc dita xsd topic xsd 1 1 Document Root Populated from the elements defined in the specified XSD enables selection of the element to be used as document root Namespace Specifies the document namespace Prefix Specifies the prefix for the namespace of the document root Description Shows a small definition for the currently selected element Add optional content If it is selected the elements and attributes that are defined in the XML Schema as optional are generated
358. is an implementation of the ro sync ecss extensions api link ElementLocatorProvider interface should be returned by the createElement LocatorProvider method Each time an element pointed by a link needs to be located the method is invoked public ElementLocatorProvider createElementLocatorProvider return new DefaultElementLocatorProvider The section that explains how to implement an element locator provider is Configuring a Link target element finder The drag and drop functionality can be extended by implementing the ro sync exml editor xmledit or pageauthor AuthorDnDListener interface Relevant methods from the listener are invoked when the mouse is dragged moved over or exits the author editor page when the drop action changes and when the drop occurs Each method receives the DropTargetEvent containing information about the drag and drop operation The drag and drop extensions are available on Author page for both lt oXygen gt Eclipse plugin and standalone application The Text page corresponding listener is available only for lt oXygen gt Eclipse plugin The methods corresponding to each implementation are creat eAuthorAWTDndListener createText SWIDnd Listener and createAuthorSWTDndListener public AuthorDnDListener createAuthorAWTDndListener return new SDFAuthorDndListener For more details about the Author drag and drop listeners see the Configuring a custom Drag and Drop list
359. ise edition only Oracle 11g Enterprise edition only PostgreSQL 8 3 Enterprise edition only Software AG Tamino Enterprise edition only TigerLogic Enterprise edition only XQuery support only e Documentum xDb X Hive DB XML Database Enterprise edition only The XML capabilities of the databases marked in this list with Enterprise edition only are available only in the En terprise edition of lt oXygen gt The non XML capabilities of any database listed here are available also in the Academic and Professional editions of lt oXygen gt by registering the database driver as a generic JDBC driver the Generic JDBC type in the list of driver types when defining the data source for accessing the database in lt oXygen gt The non XML capabilities are browsing the structure of the database instance opening a table in the Table Explorer view handling the values from columns of type XML Type as String values The XML capabilities are displaying an XML Schema node in the tree of the database structure for databases with such an XML specific structure with actions for open ing editing validating the schemas in an lt oXygen gt editor panel handling the values from columns of type XML Type as XML instance documents that can be opened and edited in an lt oXygen gt editor panel validating an XML instance document added to an XML Type column of a table etc For a detailed feature matrix that compares the Academic Professional and
360. it like this let docs collection iri to uri file D temp test XQuery catalog mydocsdir recurse yes select xml parser ro sync xml parser CatalogEnabledXMLReader The results of an XPath query are returned in the Message Panel Clicking a record in the result list highlights the nodes within the text editor panel with a character level precision Results are returned in a format that is a valid XPath ex pression FileName xml node value node value node value 293 Querying documents Figure 10 2 XPath results highlighted in editor panel with character precision lt person id one worker gt lt name gt lt family gt Worker lt family gt lt given gt One lt given gt lt name gt lt email gt one oxygenxml com lt email gt lt link manager Big Boss gt lt person gt a lt person id two worker gt lt name lt given gt Two lt given gt lt name gt lt email gt twofoxygenxml com lt email gt lt link manager Big Boss gt lt person gt s m gt Text Grid Problems Javadoc Dedaration Console x XPath 3 o a yom y rd Y Boss e oo SO LE fami vit Worker panman me a smem personnel 1 person 5 name 1 family 1 Worker personnel 1 person 6 name 1 family 1 Worker When using the grid editor clicking a result record will highlight the entire node Figure 10 3 XPath results highlighted in
361. ith the edited document Enables definition of a XML Document Prolog using the system identifier of a XML Schema DTD Relax NG full or compact syntax schema NRL Namespace Routing Language schema NVDL Namespace based Validation Dispatching Language schema or Schematron schema If you associate an XML Schema with embedded Schematron rules or a Relax NG schema with embedded Schematron rules you have to check the Embedded Schematron rules checkbox available for these two types of schemas Figure 4 13 Associate schema dialog Associate Schema XML Schema DTD RelaxNG Schema NRL Schema NYDL Schema Schematron Schema 29 Editing documents When associating a XML Schema to the edited document if the root element of the document defines a default namespace URI with a xmlns attribute the Associate schema action adds a xsi schemaLocation attribute Otherwise it adds a xsiznoNamespaceSchemaLocation attribute The URL combo box contains a predefined set of schemas that are used more often and it also keeps a history of the last used schemas lt oXygen gt logs the URL of the detected schema in the Status view The oxygen processing instruction has the following attributes RNGSchema specifies the path to the Relax NG schema associated with the current document type specifies the type of Relax NG schema is used together with the RNGSchema attribute and can have the value xml or compact NRLSch
362. ith the help of the method IDTypeVerifier hasIDType public boolean start Element String uri String localName String name Attr atts boolean elementFou nd false for int i 0 i lt atts length i if link equals atts i getValue if xml id equals atts il getQName xml id attribute elementFound true else check if attribute has ID type String attrLocalName ExtensionUtil getLocalName atts i getQName String attrUri atts i getNamespace if idVerifier hasIDType localName uri attrLocalName attrUri return elementFound true elementFound Creating a customized link target reference finder If you need to create a custom link target reference finder you can do so by following these steps Create the class which will implement the ro sync ecss extensions api link ElementLocatorPro vider interface As an alternative your class could extend ro sync ecss extensions commons De faultElementLocatorProvider the default implementation As a start point you can use the source code of the DefaultElementLocatorProvider implementation which is found in the Example Files Listings the Java Files section There you will also find the implementations for XPointer ElementLocator and ID ElementlLocator Configuring a custom Drag and Drop listener You can add your own drag and drop listener implementation of ro sync ecss
363. ition 93 Authoring in the tagless editor Document type actions are specific to some document type Examples of such actions can be found in section Predefined document types Editing XML in lt oXygen gt Author Editing the XML markup One of the most useful feature in Author editor is the content completion support The fastest way to invoke it is to press Ctrl Space on Mac OS X the shortcut is Meta Space Content completion window offers the following types of actions e inserting allowed elements for the current context according to the associated schema if any e inserting element values if such values are specified in the schema for the current context e inserting new undeclared elements by entering their name in the text field e inserting CDATA sections comments processing instructions Figure 5 17 Content completion window Split sect3 A E example E figure E important E itemizedlist E note E para v Split sect3 If you press Enter the displayed content completion window will contain as first entry the Split lt Element name gt item Selecting it splits the content of the closest element that contains the caret s position Thus if the caret is positioned at the beginning or at the end of the element the newly created sibling will be empty If the caret is positioned inside a space preserve element the first choice in the content completion window is Enter which inserts a new l
364. ject directory URL 4cfdu The path of current File directory URL cfn The current file name without extension 4 currentFileURL The path of the currently edited file URL A second benefit of a validation scenario is that the stylesheet can be validated with several engines to make sure that it can be used in different environments with the same results For example an XSLT stylesheet needs to be applied with Saxon 6 5 Xalan and MSXML 4 0 in different production systems Other examples of documents which can benefit of a validation scenario are a complex XQuery with a main module which imports modules developed independently but validated in the context of the main module of the query and an XML document in which the master file includes smaller fragment files using XML entity references In an XQuery validation scenario the default validator of lt oXygen gt Saxon 9 or any connection to a database that supports validation Oracle 11g Berkeley DB XML Database IBM DB2 eXist XML Database MarkLogic Microsoft SQL Server Software AG Tamino Documentum xDb X Hive DB XML Database TigerLogic MySQL can be set as validation engine Validation Actions in the User Interface Use one of the actions for validating the current document Select menu XML gt Validate Document Alt Shift V V Cmd Alt V V on Mac OS or click the button vw Validate Document available in the Validate toolbar to return an error result list in the Message
365. k steps context when the value of class attribute of the current element contains task steps T Insert Paragraph inserts a new paragraph depending on the current context If current context is a paragraph context the value of class attribute of the current element or one of its ancestors contains topic p then a new paragraph will be inserted after this paragraph Otherwise a new paragraph is inserted at caret position insert Concept inserts a new concept Concepts provide background information that users must know before they can successfully work with a product or interface This action is available in one of the following contexts e concept context one of the current element ancestors is a concept In this case an empty concept will be inserted after the current concept e concept or dita context current element is a concept or dita In this case an empty concept will be inserted at current caret position e dita topic context current element is a topic child of a dita element In this case an empty concept will be inserted at current caret position e dita topic context one of the current element ancestors is a dita s topic In this case an empty concept will be in serted after the first topic ancestor Insert Task inserts a new task Tasks are the main building blocks for task oriented user assistance They generally provide step by step instructions that will enable a user to perform a task This action is available
366. king feature to true ation schema full checking http apache org xml features hon This option sets the honour all schema location feature to true This means all our all schema location the schemas that are imported for a specific namespace are used to compose the 363 Configuring the application Ignore the DTD for validation if a schema is specified Enable XInclude processing Base URI fix up Language fix up Check ID IDREF Check feasibly valid Schematron XPath Version Optimize visit no attributes Allow foreign elements allow for eign Use Saxon SA schema aware for xslt2 query binding Saxon SA Validation validation model If this is false only the first schema import is taken into ac count This option forces validation against a referred schema XML Schema Relax NG schema Schematron schema even if the document includes also a DTD declaration It is useful when the DTD declaration is used to declare entities and the schema reference is used for validation Enable XInclude processing if checked the XInclude support in lt oXygen gt is turned on Xerces XML Parser documentation According to the specification for XIn clude processors must add an xml base attribute to elements included from locations with a different base URI Without these attributes the resulting infoset information would be incorrect Unfortunately these attributes make XInclude processing not transparent to Sc
367. l XSLT Stylesheets Figure 9 6 Edit additional XSL stylesheets list dialog Edit additional XSLT stylesheets list file E samples frameworks dita xsl map2xhtmall xsl File E samples frameworks dita xsl mapZhtmall xsl Add Adds a stylesheet in the Additional XSLT stylesheets list using a file browser dialog also you can type an editor variable in the file name field of the browser dialog The name of the stylesheet will be added in the list after the current selection New Opens a dialog in which you can type the name of a stylesheet The name is considered relative to the URL of the current edited XML document You can use editor variables in the name of the stylesheet The name of the stylesheet will be added in the list after the current selection Remove Deletes the selected stylesheet from the Additional XSLT stylesheets list Up Move the selected stylesheet up in the list Down Move the selected stylesheet down in the list The path specified in the URL text field can include special lt oXygen gt editor variables XSLT XQuery Extensions The edit extensions dialog is used to specify the jars and classes containing extension functions called from the XSLT X Query file of the current transformation scenario Figure 9 7 The XSLT XQuery Extension Edit Dialog Edit extensions file E current gt 20projects eXml frameworks docbook xslfextensions File JE current 20projects exml test exten
368. l com download html for every archive You should check the MD5 sum of the downloaded archive with a MDS checking tool available on your platform Environment Prerequisites Prior to installation ensure that your installed Eclipse platform is the following e the latest stable Eclipse version available at the release date The current version works with Eclipse 3 4 e lt oXygen gt XML Author supports only official and stable Java virtual machine versions 1 5 0 and later from Sun Microsystems available at http java sun com and from Apple Computer pre installed on Mac OS X For Mac OS X Java VM updates are available at http www apple com macosx features java lt oXygen gt XML Author may work very well with JVM implementations from other vendors but the eventual incompatibilities will not be solved in further lt oXygen gt XML Author releases lt oXygen gt XML Author does not work with the GNU libgcj Java virtual machine http www oxygenxml com forum ftopic1887 html Installation Installation Instructions Prior to proceeding with the following instructions please ensure that your system complies with the prerequisites detailed in the installation requirements There are two ways of installing the lt oXygen gt Eclipse plugin the Update Site method and the zip archive method Procedure 2 1 Eclipse 3 3 plugin installation the Update Site method l Start Eclipse Choose the menu option Help Software Updat
369. l exists Encoding for FTP control connection The encoding used to communicate with FTP servers It is one of ISO 8859 1 and UTF 8 If the server supports the UTF 8 encoding lt oXygen gt will use it for communication Otherwise it will use ISO 8859 1 Private key file The path to the file containing the private key used for the private key method of authentication of the secure FTP SFTP protocol The user password method of authentication has precedence if it is used in the Open URL dialog Passphrase The passphrase used for the private key method of authentication of the secure FTP SFTP protocol The user password method of authentication has preced ence if it is used in the Open URL dialog Show SFTP certificate warning dia If checked a warning dialog will be shown each time when the authenticity of log the host cannot be established 385 Configuring the application Certificates In lt oXygen gt there are provided two types of Keystores Java KeyStore JKS and Public Key Cryptography Standards version 12 PKCS 12 A keystore file is protected by a password The Certificates preferences panel is opened from menu Window Preferences gt Author Certificates Figure 15 57 The Certificates preferences panel Certificates ta Keystore type XKS v Keystore file 2 Keystore password Certificate alias Private key password Keystore type Represents the type of keystore to be used Keys
370. l lang attributes When these attributes are missing Use the default language O Do not check XML spell checking in C Comments C Attribute values Text CDATA Options C Case sensitive C Check punctuation C Ignore mixed case words Enable auto replace Ignore words with digits Allow compounds words C Ignore duplicates Allow general prefixes Ignore URL Allow file extensions Suggestion Normal v Automatic Spell Check Apply spell checking on whole docu ment Default language XML language attributes XML spell checking in When checked the spell checker is activated Spell errors will be highlighted as you type When checked a spell check action will be performed on entire document highlighting all encountered errors Note On large documents spell checking the entire content may take a lot of time The default language combo allows you to choose the language used by default Options in this subsection control the way the attributes lang and xml lang change the language used for check spelling e Obey lang and xml lang attributes when checked the value of these attributes is used as check spelling language inside the content of the element where they are present e When these attributes are missing the language used is controlled by the two radio buttons The two options are to Use the default language or Do not check the spelling These options allow the user to specify if the spell check
371. layout 205 lt oXygen gt XML Editor Developer Guide Figure 7 38 Cells spanning multiple rows and columns document article section para a Table showing different values for the column and row span 419x Text Grid Author Configuring an Unique Attributes Recognizer The ro sync ecss extensions api UniqueAttributesRecognizer interface can be implemented if you want to provide for your framework the following features Automatic ID generation You can automatically generate unique IDs for newly inserted elements Imple mentations are already available for the DITA and Docbook frameworks The following methods can be implemented to accomplish this pk Assign unique IDs between a start and an end offset in the document param startOffset Start offset param endOffset End offset ey void assignUniquelDs int startOffset int endOffset pk return true if auto Ey boolean isAutoIDGenerationActive Avoiding copying unique attributes You can split the current block element by pressing the Enter key and then when Split is called inside an ele choosing Split This is a very useful way to create new paragraphs All attrib ment utes are by default copied on the new element but if those attributes are IDs you sometimes want to avoid creating validation errors in the editor Implementing the following method you can decide whether an attribute should be copied or not
372. lays full name tags with attributes for both block level as well as in line level elements Full Tags displays full name tags without attributes for both block level as well as in line level elements gt Block Tags displays full name tags for block level elements and simple tags without names for in line level elements gt Inline Tags displays full name tags for in line level elements while block level elements are not displayed gt 4 Partial Tags displays simple tags without names for in line level elements while block level elements are not displayed No Tags none of the tags is displayed This is the most compact mode The default tags display mode can be configured in the Author options page However if the document opened in Author editor does not have an associated CSS stylesheet then the Full Tags mode will be used Block level elements are those elements of the source document that are formatted visually as blocks e g paragraphs while the inline level elements are distributed in lines e g emphasizing pieces of text within a paragraph in line images etc The graphical format of the elements is controlled from the CSS sources via the display property Bookmarks A position in a document can be marked with a bookmark Later the cursor can go quickly to the marked position with a keyboard shortcut or with a menu item This is useful for easy navigation in a large document or for working on more than
373. ldren to their respective previous siblings The contextual menu contains in addition to the edit actions described above the following actions Open in editor Cut Copy Paste Undo Redo Paste before Paste after Append Child Insert After Open in the editor the resources referred by the selected nodes Common edit actions with the same functionality as those found in the text ed itor Will paste the content of the clipboard before respectively after the selected node Topic reference Append Insert a topic reference as a child sibling of the selected node Topic reference to the current edited Append Insert a topic reference to the file current edited file as a child sibling of the selected node Topic heading Append Insert a topic heading as a child sibling of the selected node Topic group Append Insert a topic group as a child sibling of the selected node You can also arrange the nodes by dragging and dropping one or more nodes at a time Drop operations can be performed before after or as child of the targeted node The relative location of the drop is indicated while hovering the mouse over a node before releasing the mouse button for the drop Drag and drop operations allow you to Copy Select the nodes you want to copy and start dragging them Before dropping them in the appropriate place press and hold the CTRL key META key on Mac The mouse pointer should change to indicate that a copy operation will be perfor
374. le To use XPath effectively requires at least an understanding of the XPath Core Function Library http www w3 org TR xpath corelib If you have this knowledge the lt oXygen gt XPath expression field part of the current editor toolbar can be used to aid you in XML document development In lt oXygen gt a XPath 1 0 or XPath 2 0 expression is typed and executed on the current document from the menu XML gt XPath Ctrl Shift X Cmd Shift X on Mac OS or from the toolbar button Both XPath 2 0 basic and XPath 2 0 schema aware expressions can be executed in the XPath console The content completion assistant that helps in entering XPath expressions in attributes of XSLT stylesheets elements is also available in the XPath console and offers always proposals dependent of the current context of the cursor inside the edited document The set of XPath functions proposed by the assistant depends on the XPath version selected from the drop down menu of the XPath button 1 0 or 2 0 In the following example the cursor is on a person element and the content completion assistant offers all the child elements of the person element and all XPath 2 0 functions 292 Querying documents Figure 10 1 Content Completion in the XPath console lt xml version 1 0 encoding UTF 8 gt lt personnel xmlns xsi http wuw w3 org 2001 XNLSchema instance xsi noNamespaceSchemaLocation personal xsda gt Y XPath x lt person i
375. lected folder in the browsed archived New file Create a new file as child of the selected folder in the browsed archived Add files Add some already existing files as children of the selected folder in the browsed archived Delete Delete the selected resource in the browsed archived Archive Options Open the Archive preferences page The following additional operations are available from the Archive Browser s contextual menu 298 Working with Archives Figure 11 3 Contextual menu 1 Open Extract Rename Delete Copy location Q Refresh Properties Open Open a resource from the archive in the editor Copy location Copy the URL location of the selected resource Refresh Refresh the selected resource Properties View properties for the selected resource Figure 11 4 Archive resource properties ee Editor Properties 3 Name Value File name samples personal css Compressed size 620 Size 1 800 Last changed date 2008 Jun 02 12 13 46 CRC32 FOaSacbO Comment Editing files from archives You can open in lt oXygen gt and edit files directly from an archive When saving the archived file you will be prompted with some backup operations which can be performed to ensure that your archive data will not be corrupted 299 Working with Archives Figure 11 5 Archive Backup options Archive backup o Options O No backup ip O Incremental ba
376. led Key Features and Benefits a eme After you choose the Target set URL the structure of the target documents is presented For each target document targetdoc the content is displayed allowing for easy identification of the target pt r for the 01 ink element which will be inserted You can use the Search fields to quickly identify a target If you already know the values for the targetdoc and targetptr you can insert them directly in the corresponding fields You have also the possibility to edit an olink using the action Edit OLink available on the contextual menu The action make sense only if the dialog was already displayed with a proper Targetset uri inserts an URI element The URI identifies a Uniform Resource Identifier URI in content e xref inserts a cross reference to another part of the document The initial content of the xref is automatically detected from the target Note These actions are grouped under the Link toolbar actions group S Insert Section inserts a new section subsection in the document depending on the current context For example if the current context is sect then a sect2 will be inserted and so on T Insert Paragraph inserts a new paragraph depending on the current context If current context is a paragraph context one of the ancestors of the element at caret position is para then a new paragraph will be inserted after the paragraph at caret Otherwise a new paragraph is inserted a
377. lements and attributes are fixed with an XML schema the editing of the document is easier in a WYSIWYG what you see is what you get editor in which the XML markup is not visible This tagless editor is available as the Author mode of the XML editor The Author mode is activated by pressing the Author button at the bottom of the editing area where the mode switches of the XML editor are available Text Grid and Author see the following screenshot The Author mode renders the content of the XML document visually based on a CSS stylesheet associated with the document Many of the actions and features available in Text mode are also available in Author mode Figure 5 1 oXygen Author Editor g oXygen XML oxy Sample samples docbook v4 sample xml Eclipse SDK BAX File Edit Navigate Search Project XML Tools Run XML DocBook Window Help Coe BiB E iv i E oe es EARE XVKFVUBERE x0 0940 BH DEM A Es Navigator 23 A fed personal xml fe personal xsd fe sample xml Za gt attributes SO EB lieu ceras WR EEE Irae e 5 dita e a Y css DocBook default x article attribute Value amp docbook aid 2 5 v4 E 7 lang B selects pd Article Welcome to the Al seme fe sample db5 xml xreflabel Z sample pdF Docbook tevisionfing fe sample xml condition Es sampleXInclude xm ES E conformance 23 section xml Inline Markup and Images Pes fe section2 xml revision
378. ll 261 collapse children 261 collapse others 261 expand all 261 expand children 261 refresh layout 263 sort table column 261 start editing a cell value 263 393 Index stop editing a cell value 263 Installation Eclipse Update Site method Eclipse 3 3 3 Update Site method Eclipse 3 4 3 zip archive method Eclipse 3 3 3 zip archive method Eclipse 3 4 4 environment 2 requirements 2 L License floating concurrent license 5 floating license server 6 license server installed as Windows service 7 register a license key 4 registration code 8 release floating license 8 unregister license key 8 M MathML document type 127 association rules 127 schema 127 templates 127 Microsoft Office OOXML document type 127 association rules 128 schema 128 N Native XML databases NXD 312 data sources configuration 312 Berkeley DB XML 312 Documentum xDb X Hive DB 315 eXist 313 MarkLogic 314 Tamino 314 TigerLogic 314 database connections configuration 316 Berkeley DB XML 316 Documentum xDb X Hive DB 321 eXist 317 MarkLogic 318 Tamino 319 TigerLogic 320 resource management Database Explorer view 322 NVDL document type 130 association rules 130 Author extensions 131 O OASIS XML Catalog document type 129 association rules 129 schema 129 Open Office ODF document type 128 association rules 129 schema 129 P Performance problems external processes 10
379. ll create a set of document templates that the content authors will use as starting points for creating new Simple Document Framework books and articles Each of the Document Type Associations can point to a directory usually named templates containing the file templates All the files that are found here are considered templates for the respective document type The template name is taken from the name of the file and the template kind is detected from the file extension Create the templates directory into the frameworks SDF directory The directory tree for our documentation framework is now 177 lt oXygen gt XML Editor Developer Guide oxygen frameworks sdf schema css templates Now let s create in this templates directory two files one for the book template and another for the article template The Book xml file lt xml version 1 0 encoding UTF 8 gt lt book xmlns http www oxygenxml com sample documentation xmlns xsi http www w3 org 2001 XMLSchema instance xmlns abs http www oxygenxml com sample documentation abstracts gt lt title gt Book Template Title lt title gt lt section gt lt title gt Section Title lt title gt lt abs def gt lt para gt This content is copyrighted lt para gt lt table gt lt header gt lt td gt Company lt td gt lt td gt Date lt td gt lt header gt lt tr gt lt td gt lt td gt lt tr gt lt table gt lt section gt lt book gt
380. lt xml version 1 0 encoding UTF 8 gt S HO 2 lt personnel xmlns xsi http www w3 org 7 z BESAT E woes 2 person 3 XSi noNamespaceSchemaLocation perso am lt gt Content element only 4 lt person id Big Boss gt HN Attribut 5 cvc complex type 2 4 a Invalid content was found starting n as 6 with element link_error One of email url link is 9 4 id ID E note string E E contr string 6 47 salary decimal 10 lt email gt chief oxygenxml com lt emai 11 lt link error Model name 12 subordinates one worker two wor email O UINBOUNDED 13 Jj person url 0 UNBOUNDED link 0 1 14 lt person id one worker gt 15 lt name gt oa Ae ane 1y Workers family Specify information about a person 17 lt given gt One lt given gt 18 lt name gt v sal m gt Text Grid Custom validation of XML documents If you need to validate the edited document with other validation engine than the built in one you have the possibility to configure external validators as custom validation engines in lt oXygen gt After such a custom validator is properly configured in Preferences it can be applied on the current document with just one click on the External Validation toolbar The document is validated against the schema declared in the document Figure 4 24 External validation toolbar W a lA xsv SaxonsA MSXML4 0 MSXML NET LIBXML Some validators are configured by defa
381. lt xsl lt td gt lt td lt xsl apply templates gt gt template gt lt xsl template match header header td gt lt xsl lt th gt lt th lt xsl apply templates gt gt template gt lt xsl stylesheet gt Java Files InsertImageOperation java package simple documentation framework por por por por por por por por H H H H H H H H 33333333 por por por por por por por por por H H H H H H H H H 333333333 mpor mpor mpor mpor mpor H H H H H public class InsertImageOperation implements AuthorOperation ava ava ava ava ava ava ava Er E eas a ee ava e A al Pe el al ETE Ee a ld al ro sy ro sy ro sy ro sy ro sy avax avax avax avax avax avax avax avax avax aw awt awt awt awt awt io ne ne nc ne nc ne t GridBagConstrain GridBagLayout ActionEvent Actionl WindowAdap WindowEvent event event event event File swi ES Listener ter t MalformedURLException swing swing swing swing swing swing swing ecss ecss ecss ecss ecss J J VU VU VU y VU ng BorderFactory Button swing filec Dialog JFileChooser JFrame JLabel JPanel JTextField hooser Fil Filter exte exte exte exte exte nsions api nsions api nsions api nsions api
382. lt table gt lt header gt lt td gt XSLT Elements lt td gt lt td gt Description lt td gt lt header gt lt tr gt lt td gt lt b gt xsl stylesheet lt b gt lt td gt lt td gt The lt i gt xsl stylesheet lt i gt element is always the top level element of an XSL stylesheet The nam lt i gt xsl transform lt i gt may be used as a synonym lt td gt lt tr gt lt tr gt lt td gt lt b gt xsl template lt b gt lt td gt lt td gt The lt i gt xsl template lt i gt element has an optional mode attribute If this is present the template will only be matched when the same mode is used in the invoking lt i gt xsl apply templates lt i gt element lt td gt lt tr gt SEES lt td gt lt b gt for each lt b gt lt td gt lt td gt The xsl for each element causes iteration over the nodes selected by a node set expression lt td gt lt tr gt lt tr gt lt td column_span 2 gt End of the list lt td gt lt tr gt lt table gt lt section gt lt section gt lt title gt xPath lt title gt lt abs def gt XPath XML Path Language is a terse non XML syntax for addressing portions of an XML document lt abs def gt lt para gt Some of the XPath functions lt para gt lt table gt 229 lt oXygen gt XML Editor Developer Guide lt header gt lt td gt Function lt td gt lt td gt Description lt td gt lt header gt SELA lt t
383. ltSet resultSet statement executeQuery sql StringBuffer fragmentBuffer new StringBuffer fragmentBuffer append lt table xmlns http ww oxygenxml com sample documentation gt Creates the table header fragmentBuffer append lt header gt ResultSetMetaData metaData resultSet getMetaData int columnCount metaData getColumnCount for int i 1 i lt columnCount i fragmentBuffer append lt td gt fragmentBuffer append xmlEscape metaData getColumnName 1 fragmentBuffer append lt td gt fragmentBuffer append lt header gt Creates the table content whil resultSet next fragmentBuffer append lt tr gt for int i 1 i lt columnCount i fragmentBuffer append lt td gt fragmentBuffer append xmlEscape resultSet getObject 1 fragmentBuffer append lt td gt fragmentBuffer append lt tr gt fragmentBuffer append lt table gt Cleanup resultSet close statement close connection close return fragmentBuffer toString The complete source code of our operation is found in the Example Files Listings the Java Files section Package the compiled class into a jar file Copy the jar file and the JDBC driver files into the frameworks sdf directory 175 lt oXygen gt XML Editor Developer Guide 7 Ad
384. lug into the application to the content authors A content author does not need to have advanced knowledge about XML tags or operations like validation of XML documents or applying an XPath expression to an XML document He just plugs the framework set up by the developer into the application and starts editing the content of XML documents without editing the XML tags directly The framework set up by the developer is called document type and defines a type of XML documents by specifying all the details needed for editing the content of XML documents in tagless mode the CSS stylesheet which drives the tagless visual rendering of the document the rules for associating an XML schema with the document which is needed for content completion and validation of the document transformation scenarios for the document XML catalogs custom actions available as buttons on the toolbar of the tagless editor The tagless editor comes with some ready to use predefined document types for XML frameworks largely used today like DocBook DITA TEL XHTML The Content Author role A content author edits the content of XML documents in tagless mode disregarding the XML tags as they are not visible in the editor If he edits documents conforming to one of the predefined types he does not need to configure anything as the predefined document types are already configured when the application is installed Otherwise he must plug the configuration of the document type into the
385. lumn_span type xs integer gt lt xs extension gt lt xs complexContent gt lt xs complexType gt lt xs schema gt abs xsd lt xml version 1 0 encoding UTF 8 gt lt xs schema xmlns xs http www w3 org 2001 XMLSchema targetNamespace http www oxygenxml com sample documentation abstracts gt lt xs element name def type xs string gt lt xs schema gt CSS Files sdf css Element from another namespace namespace abs http www oxygenxml com sample documentation abstracts abs def font family monospace font size smaller abs def before content Definition color gray Vertical flow book section para title image ref display block Horizontal flow b i display inline 226 lt oXygen gt XML Editor Developer Guide section margin left lem margin top lem section foldable true not foldable child title link href beforel display inline link attr href content Click to open attr href Title rendering title font size 2 4em font weight bold x title font size 2 0em E ke taitlel font size 1 6em RO KS Baie bef font size 1 2em book articlel counter reset sect book gt section article gt section counter increment sect book gt section gt title before article gt section gt title beforel content Section counter
386. luni ttf gt lt font triplet name Arialuni style normal weight normal gt lt font gt lt font metrics url Arialuni Bold xml kerning yes mbed url file Library Fonts Arialuni Bold ttf gt lt font triplet name Arialuni style normal weight bold gt lt font gt 281 Transforming documents lt font metrics url Arialuni Italic xml kerning yes embed url file Library Fonts Arialuni Italic ttf gt lt font triplet name Arialuni style italic weight normal gt lt font gt lt fonts gt lt fop gt More details about the FOP configuration file are available on http xmlgraphics apache org fop 0 93 configura tion htmlthe FOP website Set FOP configuration file in Oxygen Go to menu Options Preferences XML XSLT FO XQuery FO Processors Click the browse button near Configuration file for the built in FOP text field and locate the fopConfigura tion xml file Click on the OK button to accept the changes Add new font to FO output You can do this by changing the stylesheet parameters DocBook Stylesheets Create a transformation scenario that makes use of the docbook xs1 file from the oXygen install dir frameworks docbook xs1 fo directory You must do this in the Configure Transformation Scenario dialog Figure 9 9 The Configure Transformation Scenario dialog w Configure Transformation Scenario XK 8 Global Scenari
387. ly through the archive support 128 Predefined document types Figure 6 15 Editing ODF packages in lt oXygen gt EY Text 20Document odt 3 o H Text Document odt amp Configurations 5 META INF mimetype E settings xml fo styles xml fed content xml 23 lt xml version 1 0 encoding UT A lt office document content xmlns o xmlns style urn oasis names xmlns draw urn oasis names y lt gt Text Grid Author Association rules A file is considered to be an ODF document when it has the following namespace urn oasis names tc open document xmlns office 1 0 Schema The RelaxNG schema used for these documents is located in frameworks odf schemas OpenDocument schema v1 1 rng where frameworks is a subdirectory of the lt oXygen gt install directory The OASIS XML Catalog document type The OASIS http www oasis open org committees entity spec 2001 08 06 html XML catalog is a document describing a mapping between external entity references or URI s and locally cached equivalents You can read more about using catalogs in lt oXygen gt here Association rules A file is considered to be an XML Catalog document when it has the following namespace urn oas is names tc entity xmlns xml catalog or when its root element name is catalog Schema The OASIS 1 1 XSD schema used for these documents is located in frameworks xml catalog1 1 xsd where framework
388. m For definitions and legal details of the license types available for lt oXygen gt XML Author you should consult the End User License Agreement received with the license key and available also on the lt oXygen gt XML Author website at http www oxygenxml com eula_author html Note Starting with version 10 0 lt oXygen gt accepts a license key for a newer version in the license registration dialog e g version 10 0 accepts a license key for version 11 or a license key for version 12 Once you have obtained a license key the installation procedure is described below Named User license registration 1 Save a backup copy of the message containing the new license key 2 Start the application 3 Copy to the clipboard the license text as explained in the message 4 If this is a new install of the application then it will display automatically the registration dialog when it is started In the case you already used the application and obtained a new license go to Window Preferences oXygen and press the OK button to make the registration dialog appear Installation Figure 2 1 Registration Dialog lt oXygen gt XML Author Obtain a license key Tf you do not have a license key you can obtain it in one of the following ways Request a free 30 day trial license key Request 4 FREE license Purchase 4 permanent license key BUY Now If you have a registration code obtain a license key Requ
389. m available in a Content Completion fashion by pressing CTRL SPACE 352 Configuring the application Note In order to be learned the words need to be separated by space characters Annotations The Annotations preferences panel is opened from menu Window Preferences gt Author Editor Content Comple tion Annotations Figure 15 19 The Content Completion Annotations preferences panel Annotations en Show annotations Show annotations as tooltip Use DTD comments as annotations Cluse all Relax NG annotations as documentation Show annotations When checked lt oXygen gt will display the annotations that are present in the used schema for the current element attribute or attribute value This option is applied also in the Author mode of the XML editor Show annotations as tooltip If checked it shows the annotations of elements and attributes as tooltips This option is applied also in the Author mode of the XML editor Use DTD comments as annotation When checked lt oXygen gt will use all DTD comments as annotation Use all Relax NG annotations as When checked any element that is not from the Relax NG namespace that is documentation http relaxng org ns structure 1 0 will be considered annotation and will be displayed in the annotation window next to the content completion window and in the Model View When unchecked only elements from the Relax NG annota tions namespace that is http relax
390. me works is a subdirectory of the lt oXygen gt install directory The schema can be easily customized to allow user defined extension schemas for use in the OOXML files See the Markup Compatibility and Extensibility htp wweanentenaiaralaghs TC cunert_worksOffiee 200 pen 7 20XMIL JA PIES TEX Mad 20Con petit and 7 QUE xersbiitypct Ecma PDF document for more details The Open Office ODF document type The OpenDocument format ODF is a free and open file format for electronic office documents such as spreadsheets charts presentations and word processing documents The standard http www oasis open org committees office was developed by the Open Office XML technical committee of the Organization for the Advancement of Structured Information Standards OASIS consortium and based on the XML format originally created and implemented by the OpenOffice org office suite A basic OpenDocument file consists of an XML document that has lt document gt as its root element OpenDocument files can also take the format of a ZIP compressed archive containing a number of files and directories these can contain binary content and benefit from ZIP s lossless compression to reduce file size OpenDocument benefits from separation of concerns by separating the content styles metadata and application settings into four separate XML files lt oXygen gt offers support for editing manipulating and validating documents composing the ODF package direct
391. me id manager subordinates Enable outline drag and drop Preferred attribute names for display The attribute names which should be preferred when displaying element s attrib utes in the outline view If there is no preferred attribute name specified the first attribute of an element is displayed in the outline view Enable outline drag and drop When drag and drop is disabled for the tree displayed by the outline view there is no possibility to accidentally change the structure of the document View The View preferences panel is opened from menu Window Preferences gt Author View Figure 15 60 The View preferences panel View en 62 Console Fixed width console Limit console output Console buffer 80000 Tab width 8 Fixed width console When checked a line in the Console view will be hard wrapped after Maximum character width characters Limit console output When checked the content of the Console view will be limited to a configurable number of characters Console buffer specifies the maximum number of characters that can be written at some point in the Console view 387 Configuring the application Tab width specifies the number of spaces used for depicting a tab Automatically importing the preferences from the other distribution If you want to use the settings from standalone in the Eclipse plugin just delete the file with the Eclipse plugin settings user home dir Appl
392. me or ip address of the installed TigerLogic engine The port number of the TigerLogic engine User name to access the TigerLogic engine Password to access the TigerLogic engine The name of the database to access from the TigerLogic engine 320 Working with Databases How to configure an Documentum xDb X Hive DB Connection Figure 12 16 The Configure Connection Dialog Connection Name X Hive Connection Data Source X Hive Datasource x Connection details URL xhive 10 0 0 16 1235 User test Password e Database mydb Run XQuery in read write session with committing 1 Goto Preferences gt Data Sources In the Connections panel click the New button 2 Enter a unique name for this connection and select one of the previously configured Documentum xDb X Hive DB data sources from the Data Source combo box 3 Fill in the Connection Details URL The URL property for Documentum xDb X Hive DB connection It is also called xhive bootstrap and specifies the location of the Documentum xDb X Hive DB federation This property can be used in two different ways If the property is a URL of the form xhive host port the Documentum xDb X Hive DB connection will attempt to connect to an Documentum xDb X Hive DB server running behind the specified TCP IP port If the property is the complete or relative path to an XhiveData base bootstrap file an Documentum xDb X Hi
393. med Move Select the nodes you want to move and drag and drop them in the appropriate place Promote Demote You can move nodes between child and parent nodes which ensures both Promote and Demote operations 66 Editing documents i Tip You can open and edit linked topics easily by double clicking the references or by right clicking and choosing Open in editor If the referenced file does not exist you will be allowed to create it By right clicking the map root element you can open and edit it in the main editor area for more complex opera tions You can decide to open the reference directly in the Author page and keep this setting as a default Note Some of the common actions from the main application menu toolbar also apply to the DITA Maps Manager when it has focus These actions are File actions Save Save As Save to URL Save All Print Print preview Close Close others Close all Edit actions Undo Redo Cut Copy Paste Delete The Save all action applies to all editors opened in either lt oXygen gt work area or the DITA Maps Manager Advanced operations Inserting a Topic Reference The topicref element identifies a topic such as a concept task or reference or other resource A topicref can contain other topicref elements allowing you to express navigation or table of contents hierarchies as well as implying rela tionships between the containing topicref and its children You can set the colle
394. ment as a file path e outu the output document as a URL e ps the separator which can be used on different operating systems between libraries specified in the class path Intel XML Software Suite The Intel XML Software Suite preferences panel is opened from menu Window Preferences gt oXygen XML In tel Y XML Software Suite Figure 15 48 The Intel XML Software Suite preferences panel Intel XML Software Suite ds Tf you have installed the Java Intel XML Software Suite please select the Java jar file From the installation directory C Program Files InteliXMLSoftwareSuite Java 1 0lLiblintel xss jar E After installing the Intel XML Software Suite you will have to browse its installation directory from the preferences panel in lt oXygen gt and choose the intel xss jar jar file You will also need to update your PATH environment variable for Windows or the LD_LIBRARY_PATH environment variable for Linux Mac to include the path to the system libraries dll so distributed in the Intel XML Software Suite For details please consult the Intel XML Software Suite manual After updating the environment variables you will need to restart lt oXygen gt so that they take effect Note Depending on the version of Intel XML Software Suite that you are installing the environment variables may already be updated at installation time Data Sources The Data Sources preferences panel is opened
395. methods are used to determine what type of column width specifications the table column width provider support In our case all types of specifications are allowed 201 lt oXygen gt XML Editor Developer Guide public boolean isAcceptingFixedColumnWidths String tableCellsTagName return true public boolean isAcceptingPercentageColumnWidths String tableCellsTagName return true public boolean isAcceptingProportionalColumnWidths String tableCellsTagName return true The complete source code of our implementation is found in the Example Files Listings the Java Files section In the listing below the XML document contains the table element lt table width 300 gt lt customcol width 50 0px gt lt customcol width 1 gt lt customcol width 2 gt lt customcol width 20 gt lt header gt lt td gt Cl lt td gt lt td gt C2 lt td gt lt td gt C3 lt td gt lt td gt C4 lt td gt lt header gt lt tr gt td gt cs 1 rs 1 lt td gt td gt cs 1 rs 1 lt td gt td row_span 2 gt cs 1 rs 2 lt td gt td row_span 3 gt cs 1 rs 3 lt td gt lt td gt cs 1 rs 1 lt td gt lt td gt cs 1 rs 1 lt td gt lt tr gt lt tr gt lt td column_span 3 gt cs 3 rs 1 lt td gt lt tr gt lt table gt When no table column width provider is specified the table has the following layout 202 lt oXygen gt XML Editor Developer Guide Figur
396. mplates lite feia 121 Catalonia ia dao eii 121 vi lt oXygen gt XML Author 10 3 User Manual for Eclipse Transformation Scenarios cc cece cece cece aAa A Aa en EE cE EE nn nn EEE nr nro nono EEE EEE EASRA 121 The TELPA document PE cido a pap ees 121 ASSOCIATION Tules a dt a Moses no eteunsd woe eE En 122 Schema seee Fedo ioe Bee cee to A vescieied aia feasts 122 AUINOMEXTENSIONS 26 feds neces A dante Rises voted sna We Tb beh Hein dense Boe a ie 122 LEPE esac ses es eat ine deeb tian Mole cident Malay A a 125 Catalogs css ss sortir ide eed Ses il A kas Pedant au geth sa dee udder Sree defensa 125 Transformation Scenarios ccc cece cece cece nee ence ee ence ence ee ee cece ee esse nono nono nono nen en en eben ES 125 The TELES document types easvnvcce enra EE N E A NE E pet uecedph ene dbe SE AEO EOD 126 Association Tules e a bok ves A ii 126 STE LA IE EE EEE ETE EET A EEEE E ETE he NE AE RE EEEE de 126 AUthor Extensions iia dit 126 Templates so tdi E E acids E vena EER E e pp aE oe Sea isos 126 Catalogs ii AA A Sadia E dad aE ES 126 Transtonmnation Scenarios ss ape ia 126 The MathML document type sirere enrii aea EE E A EE ya E EE EE E TE EiS 127 ASSOCIATES EO EE EE EA E dia 127 Ni NN 127 TEM iaa 127 The Microsoft Office OOXML document type ocooccoccnnccnnconnconnccnnconnconnconncnnnnnnncnnrnnnrnnncnnconncinncinncons 127 ASSOCIATION TUNES tn DE A E NERE EAER PEETUS 128 SCHEMA AA E N E A a E dasesta
397. n Author Extension State Listener oooooocnnccnnccnnconnccnnconnconnconaconacnnacnnronoso 187 Configuring a Content completion handler 0 0 0 0 cece cece cece cece cece ce eece cena een eeneeeneeeenes 188 Configuring a Link target element finder 0 0 0 0 c cece cece asec nce eeeeeeeeeeeeeeeeeeaeeeaes 190 The DefaultElementLocatorProvider implementation eee 190 The XPointerElement Locator implementation eee eeeeee neces 191 The IDElement Locator implementation oooconocnnccnncnnncnnninnccnnccnnconnccnncons 193 Creating a customized link target reference finder ooooccnncnnccnccnnconnconnccnnccnnconnconnoos 194 Configuring a custom Drag and Drop listener ocoooccoccnnccnnccnnconnconnconoconnconaconaconocnninnnos 194 Configuring a References Resolver o oooooccnccncccnccnnccnnconnconnconnccnnconnconnconncnnncnnnrnnrcnnronoss 195 Configuring CSS Styles Filter ss oo ios soso doses sgasssv eaae i votsedsessusesvetesdeesadessseoteags 198 Configuring a Table Column Width Provider oooconocnnncnnccnncnnncnnccnnccnnconnconnconnconaconiconose 199 Configuring a Table Cell Span Provider ooncooccnccnnccnnccnnconnconnconnconnconncnnncnnncnnncnnrcnncnnnss 203 Configuring an Unique Attributes Recognizer oooccocccnccnnccnnccnnccnncnnnconnconnconaconacnnacnninnnos 206 Customizing the default CSS of a document type 0 0 0 0 ceee cece cece cece nce nsec ne eeeeeeeeeeeeeeeeeaees 207 Document type Sharing ic
398. n EE ESEE ETES 243 ReterencesResolver jata nieret e E E E do E ie aks 247 CUSTOMRU LSA JAVA errore Ra Cain a E E EO SN E VI EEEO ENSE ENEE EE ess 251 DefaultElementLlocatorProvider JAVA ciisecscccussiseessesssenvssvdsersssvspeesaagens 252 XPOINCELFETEMENE Locator dto is iaa 253 TDEtementLocator Violin 257 Grid Edit E A ER ee A ADOS A de IDAS 259 o TOM as 35 53 sire des Seseedecnseeanrenytedoteeeumags EE pause ey tee gdops Sie deb ghongeteon RE EE EEEE aber seeds 259 Layouts Grid and Tree sce sei os ek IR eae NSE HE ak Be ee Sah an SaaS nae ia ances 260 Navigating the A O O ESENE 260 Expand AA CIO ii E EA KEE ai 261 Collapse AU ACHOMN i cevertisseonus no sesevedty op r A ten p ad ey vadeusphevecseueseeerem veer EENES TEY 261 Expand Children Acton sicr nna RS Dune eee east 261 Collapse Children Acton eae ea E bondeueedenseyeb dasa gee Reet I E NA 261 Collapse DIME A N A E Seat ere ated ot bale ASEA 261 Specife Grid A CHOMS sore eean n ee E A E EE EE E RS ETSER EE TRE E 261 Sorting a Table Column to A isk Wea A o ideo 261 INserting a TOW tosatable ss cscs ices RA 262 Inserting a column into a table csie e eee cece ence cece cece ne cen E rE E Re EEE R i 262 Clearing the content of a COIN eesse rry eee a na e E e pe sdes peewee EEE NERS E EP ENEE 262 Adding MOS A A A 262 Duplicating Nodes secta lio tiale ici isc bdoa darian wend aaatebseees 262 Refresh lat A AI dd ci 263 Start editing a cell Value esporadico natos rotas EREE AN ines 263 St
399. n correctly format pretty print files that were created with dif ferent settings without changing your options More than that you can activate the advanced option for detecting the maximum line width to be used for formatting and hard wrap These features were designed to minimize the differ ences created by the pretty print operation when working with a versioning system like CVS for example When checked enables Indent with tabs to set the indent to a tab unit When unchecked Indent with tabs is disabled and the indent will measure as many spaces as needed in order to go to the next tab stop position The maximum number of space characters is defined by the Indent size option 346 Configuring the application Indent size Hard line wrap Indent on Enter Enable Smart Enter Detect line width on open Format and indent the document on open Line width Format and Indent Clear undo buffer before Format and Indent XML Sets the number of spaces or the tab size that will equal a single indent The Indent can be spaces or a tab select the preference using the Indent With Tabs option If set to 4 one tab will equal 4 white spaces or 1 tab with size of 4 char acters depending on which option was set in the Indent With Tabs option This feature saves time when writing a reach text XML document You can set a limit for the length of the lines in your document When this limit is exceeded the editor will insert a new
400. n match a document opened in the Author editor page should be used to perform custom initializations and to register listeners like ro sync ecss extensions api AuthorListener ro sync ecss extensions api Au thorMouseListener or ro sync ecss extensions api AuthorCaretlListener public void activated AuthorAccess authorAccess Get the value of the option String option authorAccess getOptionsStorage getOption sdf custom option key Use the option for some initializations Add an option listener authorAccess getOptionsStorage addOptionListener sdfOptionListener Add author document listeners sdfAuthorDocumentListener new SDFAuthorListener authorAccess getDocumentController addAuthorListener sdfAuthorDocumentListener Add mouse listener sdfMouseListener new SDFAuthorMouseListener authorAccess getEditorAccess addAuthorMouseListener sdfMouseListener Add caret listener sdfCaretListener new SDFAuthorCaretListener authorAccess getEditorAccess addAuthorCaretListener sdfCaretListener Other custom initializations The authorAccess parameter received by the act ivated method can be used to gain access to Author specific actions and informations related to components like the editor document workspace tables change tracking a s o If options specific to the custom developed Author extension need to be stored or retrieved
401. n of the jar file relative to the lt oXygen gt frameworks directory Figure 7 21 Adding a classpath entry Add resources to the classpath URL Frameworks sdf sdF jar 4 2 la Let s create now the action which will use the defined operation Click on the Actions label We assume the icon files 1 Imagel 6 gif for the menu item and ad Image20 gif for the toolbar are already available Place these files in the frameworks sdf directory Define the action properties ID An unique identifier for the action Use insert_image Name The name of the action Use Insert image Menu access key Use the i letter Description Enter the text Inserts an image Toolbar icon Enter here frameworks sdf Image20 gif Menu icon Enter here frameworks sdf Image16 gif Shortcut key We will use Ctrl Shift i Now let s set up the operation We are adding images only if the current element is a section book or article XPath expression Set the value to local name section or local name book or local name article 171 lt oXygen gt XML Editor Developer Guide Invoke operation In this case we ll use our Java operation we defined earlier Press the Choose button then select simple documentation framework Insert ImageOperation Figure 7 22 Selecting the Operation 7 Operation Class simple documentation framework InsertImageOperation x Description Inserts an image element
402. n9 dom jar S oxygenInstallDir lib xalan jar oxygenInstallDir lib serializer jar S oxygenInstallDir lib resolver jar S oxygenInstallDir lib fop pdf images 1 3 jar S oxygenInstallDir lib PDFBox 0 7 3 jar org apache fop cli Main fo S fo S method fout You need to add to the classpath JimiProClasses zip for JIMI and jai_core jar jai_codec jar and mlibwrapper_jai jar for JAI For the JAI package you also need to include the directory containing the native libraries mlib_jai dll and mlib_jai_mmx dll on Windows in the PATH system variable The MacOS X version of the JAI library can be downloaded from http www apple com downloads ma cosx apple java3dandjavaadvancedimagingupdate html In order to use it install the downloaded package Other FO processors can be configured in the Preferences gt FO Processors panel Add a font to the built in FOP If an XML document is transformed to PDF using the built in Apache FOP processor but it contains some Unicode characters that cannot be rendered by the default PDF fonts then a font that is capable to render these characters must be configured and embedded in the PDF result Locate font First you have to find out the name of a font that has the glyphs for the special characters you used One font that covers the majority of characters including Japanese Cyrillic and Greek is Arial Unicode MS In the following is described how to embed the true type fonts in
403. namespace http www oxygenxml com sample documentation gt lt xsl template match gt lt html gt lt xsl apply templates gt lt html gt lt xsl template gt lt xsl template match section gt lt xsl apply templates gt lt xsl template gt lt xsl template match image gt lt img src href gt lt xsl template gt lt xsl template match para gt lt p gt lt xsl apply templates gt lt p gt lt xsl template gt lt xsl template match abs def xmlns abs http www oxygenxml com sample documentation abstracts gt lt p gt lt u gt lt xsl apply templates gt lt u gt lt p gt lt xsl template gt lt xsl template match title gt lt h1 gt lt xsl apply templates gt lt h1 gt lt xsl template gt lt xsl template match b gt lt b gt lt xsl apply templates gt lt b gt lt xsl template gt lt xsl template match i gt lt i gt lt xsl apply templates gt lt i gt lt xsl template gt lt xsl template match table gt lt table frame box border l1px gt lt xsl apply templates gt lt table gt lt xsl template gt lt xsl template match header gt lt tr gt lt xsl apply templates gt lt tr gt lt xsl template gt lt xsl template match tr gt 231 lt oXygen gt XML Editor Developer Guide lt xsl template gt lt tr gt lt tr lt xsl apply templates gt gt lt xsl template match td gt
404. nccnnccnnccnnccnncnnncnnncnnnconncnnacnnacnnrnnnronoss 304 How to Configure a JOBC ODBC Connection coooccnccnncnnncnnccnnccnnconnconnccnncnnnconnconnconacinoss 304 How to Configure a Microsoft SQL Server Connection cooocccccnncnnccnnccnnccnnccnnccnnconnconacinicos 305 How to Configure a MySQL Connection 20 0000 cece cece cee ceee ce eecaeeca cena cena cena eeneeeeneeee es 305 How to Configure an Oracle 11g Connection ooooocccccncccnncnnccnnccnnccnnconnccnnccnnconnconaconiconnss 305 How to Configure a PostgreSQL 8 3 Connection oocooccnccnnccnnconnccnncnnnconnconncnnncnnarnncnnnronose 306 Resource Management eoo io r ena veedit AA at R ae 306 Database Explorer VIEW iiss pongen oae a fea resegted een nedevoniston steaeso EEE RE ENEE eSa 306 Actions available at connection level 0 cece cece cence cece eeeeeeeeneeeeeeeeeeeeeeaeeeaes 308 Actions available at catalog level oooonnncnnnnnncnnccnnconnconnconncnnnconnconncnnncnnncnaroninnnos 308 Actions available at schema level oooooconoccnnccnnconoconconocnnncnnccnnrnnacnnconnccnnccnncons 308 Actions available at table level oooocnnncnnncncccnccnnconnconnconncnnnconoconcnnncnnncnnrcninnnns 308 XML Schema Repository level sororia men in asa er r E E T ANAS 308 Oracle s XML Schema Repository Level oooconoconccnncccnocnncnnncnnoconccnnccnnccnninnno 308 IBM DB2 s XML Schema Repository Level oooccooccnccnoccnnconnccnnccnncnnnconacinncos 308 Microsoft SQL
405. nce with the licensing requirements of Sun Microsystems Users are advised that SyncRO Soft Ltd assumes no responsibility for errors or omissions or for damages resulting from the use of lt oXygen gt XML Author and the aforesaid third party software Nor does SyncRO Soft Ltd assume any responsibility for licensing of the aforesaid software should the relevant vendors change their terms By using lt oXygen gt XML Author the user accepts responsibility to maintain any licenses required by SyncRO Soft Ltd or third party vendors Unless SyncRO Soft Ltd declares in writing that the lt oXygen gt XML Author license is inclusive of third party licensing Table of Contents o O SO 1 Key Features and BES A ads 1 2 Installation aro ino rales votes ASEE costed a EEES AEU EEE PARARE 2 Installation Requirements ai er 2 Platform Requirements usina tii E N E EE E E A Paso ease R 2 Operating System Tools and Environment Requirements occooccnnconnconnconnconncnnncnncnnnrnnncnnccnncinnicnno 2 Operating Systemessd sais ci oes ads EE vend Gees E E EATE as EES PESADES chugs IE PESO ES VS AERE E 2 A O EESE 2 Environment Prerequisites indicios ratero artes do pais ia iron Unas pode egos 2 Installation Instructions 2 25 sses cebs AO Ed qa isis 3 Starting lt oXygen gt XML Author plugin 6 ccc cccces 3 ssecdsesesecnsagsvesee ess sceeesdgeecseess secs esisedeassasevenagseesbanes 4 Obtaining and registering a license key 0 2 0 0 c
406. nces gt Data Sources In the Connections panel click the New button Enter a unique name for this connection and select one of the previously configured MySQL data sources from the Data Source combo box Fill in the Connection Details URL URL to the installed MySQL engine User User name to access the MySQL database engine Password Password to access the MySQL engine Click OK How to Configure an Oracle 11g Connection l 2 Go to Preferences gt Data Sources In the Connections panel click the New button Enter a unique name for this connection and select one of the previously configured Oracle data sources from the Data Source combo box Fill in the Connection Details URL URL to the installed Oracle engine User User name to access the Oracle database engine Password Password to access the Oracle engine Click OK 305 Working with Databases Note Registering unregistering or updating a schema might involve dropping creating types For schema based XML Type tables or columns in schemas you need privileges like e CREATE ANY TABLE e CREATE ANY INDEX e SELECT ANY TABLE e UPDATE ANY TABLE e INSERT ANY TABLE e DELETE ANY TABLE DROP ANY TABLE e ALTER ANY TABLE DROP ANY INDEX To avoid granting these privileges to the schema owner Oracle recommends that the operations requiring these privileges be performed by a DBA if there are XML schema based XMLType table or columns in other users dat
407. nd getDescription The Document Type ID is used to uniquely identify the current framework Such an ID must be provided especially if options related to the framework need to be persistently stored and re trieved between sessions public String getDocumentTypelD return Simple Document Framework document type public String getDescription return A custom extensions bundle used for the Simple Document Framework document type In order to be notified about the activation of the custom Author extension in relation with an opened document an ro sync ecss extensions api AuthorExtensionStateListener should be implemented The activation and deactivation events received by this listener should be used to perform custom initializations and to register remove listeners like ro sync ecss extensions api AuthorListener ro sync ecss extensions api AuthorMouseListener or ro sync ecss exten sions api AuthorCaretListener The custom author extension state listener should be provided by implementing the method createAuthorExtensionStateListener Listener createAuthorExtensionStateListener xtensionStateListener public AuthorExtensionSta return new SDFAuthor CJ ee The AuthorExtensionStateListener is instantiated and notified about the activation of the framework when the rules of the Document Type Association match a document opened in the Author editor page The listener is notified about the deac
408. nderstand the purpose of the Document Type Storage The storage refers to the place where the Document Type settings are stored Internal means the Document Types are stored in the default lt oXygen gt preferences file Since we want to share the Document Type to other users we must select External and choose a file The file must be in the oXygen_installation_directory frameworks sdf directory A possible location is Users user_name Desktop oxygen frameworks sdf sdf framework The framework directory structure will be oxygen frameworks sdf sdf framework schema sdf xsd css sdf css Rules If a document opened in lt oXygen gt matches one of the rules defined for the Document Type then it is activated 152 lt oXygen gt XML Editor Developer Guide Java API Rules implemented in Java Press the Add button from the Rules section Using the newly displayed dialog we add a new rule that matches documents with the root from the namespace http www oxy genxml com sample documentation The root name file name or PublicID are not relevant Figure 7 7 Editing a rule Document type rule Root local name lt ANY gt File name lt ANY gt Public ID lt ANY gt Java class Namespace http fuwww oxygenxml com sample documentation A document matches a rule when it fulfills the conditions imposed by each field of the rule Namespace Root local name File name Public
409. nested with one level in the parent container that is lower than the parent with one row The content of the document is formatted by applying the Format and Indent action on every switch from the grid editor to the text editor of the same docu ment The default width in characters of a table column of the grid A column can hold an element name and its text content an attribute name and its value If the total width of the grid structure is too large you can resize any column with the mouse but the change is not persistent To make it persistent set the new column width in this user option the The background color used in the focused selected cell of the grid to make it different in the set of selected cells For example when an entire row is selected only one cell of the row is the focused selected one The background color used in the selected cells of the grid except the focused selected cell which uses a different background color The color used for the lines that separate the grid cells The background color of grid cells that are not selected The color of the text used for the element names text content of elements attrib ute names and attribute values The background color of row headers that are not selected 345 Configuring the application Row header colors Current selec tion color Row header colors Selection color Column header colors Background color Column header colors Current selec t
410. ng org ns compatibility annotations 1 0 will be considered annotation XPath The XPath preferences panel is opened from menu Window Preferences gt Author Editor Content Comple tion XPath Figure 15 20 The Content Completion XPath preferences panel Path a XPath Enable content completion for XPath expressions Include XPath functions Include XSLT Functions Include axes Show signatures of XSLT XPath functions Enable content completion for XPath Disables and enables content completion in XPath expressions entered in the expressions XSL attributes match select and test and also in the XPath toolbar 353 Configuring the application Options are available to allow the user to include XPath functions XSLT func tions or axes in the content completion suggestion list The XPath section controls if the functions axes are presented in the content completion list when editing XPath ex pressions Show signatures of XSLT XPath If checked the editor will indicate in a tooltip helper the signature of the XPath functions function located at the caret position Syntax Highlight lt oXygen gt supports Syntax Highlight for XML JavaScript PHP CSS documents While lt oXygen gt provides a default color configuration for highlighting the tokens you may choose to customize as required using the Colors dialog The Syntax Highlight preferences panel is opened from menu Window Preferences gt Auth
411. ng the XSLT parameters In this dialog you set any global XSLT parameters of the main stylesheet set in the XSL URL field or of the additional stylesheets set with the button Additional XSLT stylesheets Opens a dialog for specifying a URL for a header HTML file added at the begin ning of the result of an HTML transformation and a URL for a footer HTML file added at the end of the HTML result of the transformation Opens the dialog for adding XSLT stylesheets which are applied on the result of the main stylesheet specified in the XSL URL field This is useful when a chain of XSLT stylesheets must be applied to the input XML document Opens the dialog for configuring the XSLT XQuery extension jars or classes which define extension Java functions or extension XSLT elements used in the XSLT XQuery transformation Configure advanced options specific for the Saxon B SA engine They are the same options as the ones set in the user preferences but they are configured as a specific set of transformation options for each transformation scenario By default if you do not set a specific value in the transformation scenario each advanced option has the same value as the global option with the same name set in the user preferences The advanced options include two options that are not available globally in the user preferences the initial XSLT template and the initial XSLT mode of the transformation They are Saxon specific options that allow imposing the n
412. notat t name lt xs attribute gt 4 nillable lt xs attribute na btype lt xs annotati lt xsidocu lt xs annotat If the Content Completion assistant is enabled in user preferences the option Use Content Completion it is automat ically displayed whenever the lt character is entered into a document or by pressing CTRL Space on a partial element or attribute name Moving the focus to highlight an element and pressing the Enter key or the Tab key inserts both the start and end tags of the highlighted element into the document The DTD XML Schema Relax NG NRL or NVDL schema used to populate the Content Completion assistant is specified in the following methods in order of precedence e The schema specified explicitly in the document In this case lt oXygen gt reads the beginning of the document and resolves the location of the DTD XML Schema Relax NG schema NRL or NVDL schema Note Limitation In case of XML Schema the content completion takes into account only the schema declarations from the root element of the document If a schema declaration is attached to other element of the XML doc ument it is ignored e The default schema rule declared in the Document Type Association preferences panel which matches the edited document After inserting the cursor is positioned directly before the gt character of the start tag if the element has attributes in order to enable rapid insertion of any attributed suppo
413. nse key files and the local port number on which the server accepts connections from instances of the lt oXygen gt XML Author The parameters are optional The default values are license for the license file folder 12555 for the local port number The JAVA_HOME variable must point to the home folder of a Java runtime environment installed on your Windows system The startService bat script starts the Windows service so that the license server can accept connections from lt oXygen gt XML Author clients The stopService bat script stops the Windows service The license server is shut down and it cannot accept connections from lt oXygen gt XML Author clients The uninstallService bat script uninstalls the Windows service created by the installService bat script Installation When the license server is used as a Windows service the output messages and the error messages cannot be viewed as for a command line script so that they are redirected automatically to the following log files created in the directory where the license server is installed outLicenseServer log the standard output stream of the server errLicenseServer log the standard error stream of the server On Windows Vista if you want to start or stop the Windows service with the Start menu shortcut called Start Windows service Stop Windows service you have to run the shortcut as Administrator This is a standard option for running Start menu shortcuts on Windows Vis
414. nt so you will leave the script unchanged Register font to FOP configuration Create a file and name it for example fopConfiguration xml lt fop version 1 0 gt lt base gt file C path to FOP font metrics files lt base gt lt source resolution gt 72 lt source resolution gt lt target resolution gt 72 lt target resolution gt lt default page settings height 1lin width 8 26in gt lt renderers gt lt renderer mime application pdf gt lt filterList gt lt value gt flate lt value gt lt filterList gt lt fonts gt lt font metrics url Arialuni xml kerning yes mbed url file Library Fonts Arialuni ttf gt lt font triplet name Arialuni style normal weight normal gt lt font gt lt fonts gt lt renderer gt lt renderers gt lt fop gt The embed url attribute points to the TTF file to be embedded You have to specify it using the URL convention The metrics url attribute points to the font metrics file with a path relative to the base element The triplet refers to the unique combination of name weight and style italic for each variation of the font In our case is just one triplet but if the font had variants we would have to specify one for each variant Here is an hypothetic example for the Arial Unicode if it had italic and bold variants lt fop version 1 0 gt lt fonts gt lt font metrics url Arialuni xml kerning yes mbed url file Library Fonts Aria
415. ntains at least a space character Note On Mac OS X if the full path to the LIBXML executable file is not spe cified in the Executable path text field some errors may occur on validation against a W3C XML Schema like Unimplemented block at xmlschema c These errors can be avoided by specifying the full path to the LIBXML executable file included in lt oXygen gt It is associated to XML Editor and XSD Editor It is able to validate XML Schema schemas and XML documents against XML Schema schemas The validation is done according to the W3C XML Schema 1 0 specification or according to the W3C XML Schema 1 1 one This can be configured in Preferences included in lt oXygen gt Windows edition It is associated to XML Editor XSD Editor and XSL Editor It is able to validate the edited document against XML Schema internal DTD included in the XML document external DTD or a custom schema type included in lt oXygen gt Windows edition It is associated to XML Editor XSD Editor and XSL Editor It is able to validate the edited document against XML Schema internal DTD included in the XML document external DTD or a custom schema type not included in lt oXygen gt A Windows distribution of XSV can be downloaded from ftp ftp cogsci ed ac uk pub XS V XSV31 EXE ftp ftp cogsci ed ac uk pub XS V XSV31 EXE A Linux distribution can be downloaded from ftp ftp cogsci ed ac uk pub XSV XSV 3 1 1 noarch rpm ftp f
416. ntent It aims at integrating mathematical formulae into World Wide Web documents lt oXygen gt offers support for editing and validating MathML 2 0 documents Association rules A file is considered to be a MathML document when the root element name is a math or it s namespace is ht tp www w3 org 1998 Math MathML Schema The schema used for these documents is located in frameworks mathml2 dtd mathml2 dtd where frameworks is a subdirectory of the lt oXygen gt install directory Templates Default templates are available for MathML They are stored in the frameworksDir mathml2 templates folder These templates are available when creating new documents from templates MathML Equation Simple MathML template file The Microsoft Office OOXML document type Office Open XML also referred to as OOXML or OpenXML is a free and open Ecma http www ecma international org publications standards Ecma 376 htm international standard document format and a proposed ISO IEC standard for representing spreadsheets charts presentations and word processing documents OOXML uses a file package conforming to the Open Packaging Convention This format uses the ZIP file format and contains the individual files that form the basis of the document In addition to Office markup the package can also include embedded files such as images videos or other documents lt oXygen gt offers support for editing transforming and validating
417. o a DITA reference document XHTML to DITA task converts an XHTML document to a DITA task document XHTML to DITA topic converts an XHTML document to a DITA topic document The TEI P4 document type The Text Encoding Initiative TEI Guidelines is an international and interdisciplinary standard that enables libraries museums publishers and individual scholars to represent a variety of literary and linguistic texts for online research teaching and preservation 121 Predefined document types Association rules A file is considered to be a TEI P4 document when either of the following occurs e the root s local name is TEI 2 e the document s public id is TEI P4 Schema The DTD schema used for these documents is located in frameworks tei tei2xml dtd where frameworks is a subdirectory of the lt oXygen gt install directory Author extensions The CSS file used for rendering TEI P4 content is located in frameworks tei xml tei css tei_oxygen css Specific actions are B Bold changes the style of the selected text to bold by surrounding it with hi tag and setting the rend attribute to bold F Italic changes the style of the selected text to italic by surrounding it with hi tag and setting the rend attribute to italic U Underline changes the style of the selected text to underline by surrounding it with hi tag and setting the rend attribute to ul Note For all of the above actions i
418. ocation primary schema name optional Decomposition means that parts of the XML documents are stored into relational tables Which parts map to which tables and columns is specified into the schema annotations Schema dependencies management is done by using the Add and Remove buttons Actions available at schema level amp Refresh performs a refresh of the selected node and it s subtree e Unregister removes the selected schema from the XML Schema Repository 8 View opens the selected schema in lt oXygen gt Microsoft SQL Server s XML Schema Repository Level Refresh performs a refresh of the selected node s subtree e Register Opens a dialog for adding a new schema file in the DB XML repository 309 Working with Databases Figure 12 6 Register Dialog Register Collection name test XML schema files C samples clients xsd C samplesisales xsd C samples supplies xsd To register a new schema enter a collection name and the necessary schema files in the above dialog XML Schema files management is done by using the Add and Remove buttons Actions available at schema level amp Refresh performs a refresh of the selected node and it s subtree e Add adds a new schema to the XML Schema files e Unregister removes the selected schema from the XML Schema Repository Y View opens the selected schema in lt oXygen gt Table Explorer View Eve
419. ode node String displayNam ref fragment if node getType AuthorNode NODE_TYPE_ELEMENT 195 lt oXygen gt XML Editor Developer Guide AuthorElement element AuthorElement node if ref equals element getLocalName AttrValue attrValue element getAttribute location if attrValue null displayName attrValue getValue return displayName The method resolveReference resolves the reference of the node and returns a SAXSource with the parser and the parser s input source It takes as arguments an Aut horNode that represents the node for which the reference needs resolving the systemID of the node the AuthorAccess with access methods to the Author data model and a SAX Ent ityResolver which resolves resources that are already opened in another editor or resolve resources through the XML catalog In our implementation we need to resolve the reference relative to the systemID and create a parser and an input source over the resolved reference public SAXSource resolveReference AuthorNode node String systemID AuthorAccess authorAccess EntityResolver entityResolver SAXSource saxSource null if node getType AuthorNode NODE_TYPE_ELEMENT AuthorElement element AuthorElement node if ref equals element getLocalName AttrValue attrValue element getAttribute location if
420. offers support for adding an extension to solve this problem This will be presented in the next chapters The table in this example is a simple one The header must be formatted in a different way than the ordinary rows so it will have a background color table display table border 1px solid navy margin lem max width 1000px min width 150px table width width attr width length tr header display table row header background color silver color inherit td display table cell border 1px solid navy 145 lt oXygen gt XML Editor Developer Guide padding lem Note Children elements with block or table caption display placed at the beginning or the end of an element displayed as a table will be grouped and presented as blocks at the top or the bottom of the table Note Mixing elements having table cell table group table row etc display type with others that have block or inline display or with text content breaks the layout of the table In such cases the table is shown as a block Note Having child elements that do not have table cell or table display in a parent with table row display breaks the table layout In this case the table display is supported for the children of the tab1e row element in order to allow sub tables in the parent table Note lt oXygen gt Author can automatically detect the spanning of a cell without the need to write a Java extension for this This
421. og support for MSXML 3 0 4 0 and NET processors Configuring custom XSLT processors One can configure other XSLT transformation engines than the ones which come with the lt oXygen gt distribution Such an external engine can be used for XSLT transformations within lt oXygen gt in the Editor perspective and is available in the list of engines in the dialog for editing transformation scenarios The output messages of a custom processor are displayed in an output view at the bottom of the lt oXygen gt window If an output message follows the format of an lt oXygen gt linked message then a click on the message in the output view highlights the location of the message in an editor panel containing the file referred in the message Configuring the XSLT processor extensions paths The Xalan and Saxon processors support the use of extension elements and extension functions Unlike a literal result element which the stylesheet simply transfers to the result tree an extension element performs an action The extension is usually used because the xslt stylesheet fails in providing adequate functions to the user for accomplishing a more complex task Samples on how to use extensions can be found at e for Xalan http xml apache org xalan j extensions html e for Saxon 6 5 5 http saxon sourceforge net saxon6 5 5 extensions html e for Saxon 9 1 0 7 http www saxonica com documentation extensions intro html In order to set an XSLT p
422. ole comunicare parla Unicode HSA TIO Unicode TH gt MALS EE HS SLIDES OHA Nar verden vil snakke snakker den Unicode A AA A a wln ea ES N r verda nskjer snakke talar ho Unicode Figure 8 11 Right to left text orientation lt xml version 1 0 encoding UTF 8 IM sample text 9 rows Asi dehy is agi Ey gf AL ay y Lario Quan el m n vol conversar parla Unicode Unicode 2 2278 AIN 1277 AYN OFA WaT Ha a vil g besz lni akar azt Unicode ul mondja Quando il mondo vuole comunicare parla Unicode EFAS gt Unicode CF AAE EE HS SLIDES oA N r verden vil snakke snakker den Unicode N r verda snskjer snakke talar ho Unicode O 0 310 mH amp w amp Nh gt 265 Chapter 9 Transforming documents XML is designed to store carry and exchange data not to display data When we want to view the data we must either have an XML compliant user agent or transform it to a format that can be read by other user agents This process is known as transformation Status messages generated during transformation are displayed in the Console view Output formats Within the current version of lt oXygen gt you can transform your XML documents to the following formats without having to exit from the application For transformation to formats not listed simply install the tool chain required to perform the transformation and process the xml files created with lt oXygen gt in accordance with the process
423. ome directory pd Project directory oxygenInstallDir lt oXygen gt installation directory The editors which can perform validation with the external tool Command line arguments used to validate the current edited file against different types of schema W3C XML Schema Relax NG full syntax Relax NG compact syntax Namespace Routing Language Schematron DTD other schema type The arguments can include any custom switch like rng and the editor variables S cf The path of the currently edited file S cfu Path of current file URL 361 Configuring the application S ds The path of detected schema file S dsu The path of detected schema file URL CSS Validator The CSS Validator preferences panel is opened from menu Window Preferences gt Author CSS Validator Figure 15 31 CSS Validator preferences panel CSS Validator lt P y Profile C553 bd Media Type handheld X Warning level Normal ba Profile Choose one of the available validation profiles CSS 1 CSS 2 CSS 2 1 CSS 3 SVG SVG Basic SVG Tiny Mobile TV Profile ATSC TV Profile Media Type Choose one of the available mediums all aural braille embossed handheld print projection screen Warning Level Set the minimum severity level for reported validation warnings It is one of all normal most important no warnings XML XML Catalog The XML Catalog preferences panel is opened from menu Window gt Preferences gt Aut
424. on For user preferences related to formatting and indenting like Detect indent on open and Indent on paste see the corres ponding Preferences panel XML elements can be excepted from the reformatting performed by the pretty print operation by including them in the Preserve space elements XPath list That means that when the Format and Indent pretty print action encounters in the document an element with the name contained in this list the whitespace is preserved inside that element This is useful when most of the elements must be reformatted with the exception of a few ones which are listed here For the situation when whitespace should be preserved in most elements with the exception of a few elements the names of these elements must be added to the Strip space elements XPath list In addition to simple element names both the Preserve space elements XPath list and the Strip space elements XPath one accept a restricted set of XPath expressions for covering a pattern of XML elements with only one expression The allowed types of expressions are xs documentation the XPath descendant axis can be used only at the beginning of the expression the namespace prefix can be attached to any namespace no namespace binding check is performed when applying the pretty print operation chapter abstract title note the use of the XPath child axis section title the descendant axis can be followed by the child axis The value of an xml space at
425. on attribute from the http dita oasis open org architecture 2005 namespace This enhanced case of matching is only applied when the Enable DTD processing option from the Document Type Detection option page is enabled Schema The default schema used for DITA topic documents is located in frameworks dita dtd ditabase dtd where frameworks is a subdirectory of the lt oXygen gt install directory 109 Predefined document types Author extensions The CSS file used for rendering DITA content is located in frameworks dita css dita css Specific actions for DITA topic documents are B Bold surrounds the selected text with b tag J Italic surrounds the selected text with i tag U Underline surrounds the selected text with u tag Note For all of the above actions if there is no selection then a new specific tag will be inserted These actions are available in any document context e Cross Reference inserts an xref element with the value of attribute format set to dita The target of the xref is selected in a dialog which lists all the IDs available in a file selected by the user Figure 6 5 Insert a cross reference in a DITA document a Insert Reference URL D projects exml samples dita concepts oil xml E la Target type All e Oil concept oilconcept lt conbody id body2 gt prolog sect1 lt p gt Motor oil keeps conbody body2 changed every related links r
426. on time to execute the style sheet Start transformation in this mode Although style sheet execution usually begins in the empty mode this default may be changed by specifying another mode Changing the start mode allows execution to jump directly to an alternate group of templates MSXML NET The MSXML NET preferences panel is opened from menu Window Preferences Au thor XML XSLT FO XQuery XSLT MSXML NET 370 Configuring the application Figure 15 42 The MSXML NET preferences panel MSXML NET qs V Enable XInclude processing Validate documents during parse phase Do not resolve external definitions during parse phase Strip non significant whitespaces J Show time information Forces ASCII output encoding I Allow multiple output documents Use named URI resolver class CO Assembly filename for URI resolver class FO Assembly GAC name for URI resolver class FO List of extension object class name FO Use specified EXSLT assembly Credential loading source xml Credential loading stylesheet PY The options of the MSXML NET processor are the same as the ones available in the command line for the MSXML NET processor http www xmllab net Products nxslt tabid 62 Default aspx Enable XInclude processing If checked XInclude references will be resolved when MSXML NET is used as transformer in the transformation scenario Validate documents during parse If checked and either the source or style sheet do
427. one Saxon9SA specific options Schema based validation of the source file val C Lax schema based validation of the source file vlax Validation errors in the result tree treated as warnings vw e Version warnings If checked a warning will be output when running an XSLT 2 0 processor against an XSLT 1 0 stylesheet The XSLT specification requires this to be done by default Allow calls on extension functions If checked external functions called is allowed Not checking this is recommended in an environment where untrusted stylesheets may be executed Also disables user defined extension elements to gether with the writing of multiple output files all of which carry similar security risks e DTD based validation of the source file If checked XML source documents are validated against their DTD Line numbering If checked line numbers are maintained for the source document Policy for handling recoverable errors in the stylesheet Allows the user to choose how dynamic errors will be handled Either one of the following options can be selected recover silently recover with warnings or signal the error and do not attempt recovery Strip whitespaces feature can be one of the three options All Ignorable None All strips all whitespace text nodes from source documents before any further processing regardless of any xsl strip space declarations in the stylesheet or any xml space attributes in the source docum
428. ons api node AttrValue import ro sync ecss extensions api node AuthorElement import ro sync ecss extensions api node AuthorNode public class ReferencesResolver implements AuthorReferenceResolver The method hasReferences verifies if the handler considers the node to have references It takes as argument an AuthorNode that represents the node which will be verified The method will return t rue if the node is considered to have references In our case to be a reference the node must be an element with the name ref and it must have an attribute named location public boolean hasReferences AuthorNode node boolean hasReferences false if node getType AuthorNode NODE_TYPE_ELEMENT AuthorElement element AuthorElement node if ref equals element getLocalName AttrValue attrValue element getAttribute location hasReferences attrValue null return hasReferences The method getDisplayName returns the display name of the node that contains the expanded referred content It takes as argument an Aut horNode that represents the node for which the display name is needed The referred content engine will ask this AuthorReferenceResolver implementation what is the display name for each node which is considered a reference In our case the display name is the value of the location attribute from the ref element public String getDisplayName AuthorN
429. ons differences 99 WYSIWYG editing 82 Author Settings actions 158 insert section 159 insert table 161 Author default operations 165 Java API 168 Author Extension State Listener 187 CSS Styles Filter 198 example 1 169 example 2 172 Extensions Bundle 184 generate unique ID 206 References Resolver 195 Table Cell Span Provider 203 Table Column Width Provider 199 menus 158 contextual menu 164 main menu 163 toolbars 158 configure toolbar 162 C Common problems 390 Configure the application 336 Archive 383 certificates 386 CSS validator 362 custom validation 360 Data Sources 378 379 download links for database drivers 381 table filters 383 document type association 338 Editor preferences 340 author 342 author track changes 343 code templates 356 content completion 351 document checking 359 document templates 357 elements by prefix 354 format 346 format CSS 350 format JavaScript 350 format XML 347 grid 344 open save 355 pages 341 spell check 357 syntax highlight 354 editor variables 388 391 Index fonts 338 global 336 import preferences from other distribution 388 import export global options 336 Intel XML Software Suite 378 Network Connections 384 outline 387 reset global options 388 scenarios management 386 388 view 387 XML 362 XML catalog 362 XML parser 363 Saxon SA Validation 364 XSLT 365 XSLT FO X Query 365 XSLT FO XQuery p
430. op editing a cell veia A le Aids ii 263 Drag and Drop DnD in the Grid Editor oooconoccnccnnccnnccnncnnncnnoronccnnccnnccnncrnncnnnconnconncnnncnnncnnnenuroness 263 Copy and Paste in the Grid Editon sorrc eea E E E EE NAE ERS EOE E EN ES Eoi 263 Bidirectional Text Support in the Grid Editor ooccoccncccnncnnccnnconnconnconnconnconnconnconncnnncnnnrnnncnnrcnnronicnns 265 9 Transtorming documents a a IS eee is ue ina aces 266 NO 266 Transformation SENIOR A ii 267 SAA E shoots 268 Built in transformation scenarios oooconocnnccnnccnnncnncnnnronoronccnn cono cece eeaeceue een eeeeeeeeeeeeeeeeeaeeeaeeeaes 268 Defining a new transformation scenario cccooccccnoccnnocnnnnccnnnacnnnccnnnnconnnrnnnnccnnnncnoncrnnnnccnnnrcnnness 268 XSLT Stylesheet Parameters ii sil lead je eects hair od ee ey 275 Additional XSLT Stylesheets iens enan a au nes coop Sumesiene osas np E E idos 277 XSLT XQ ety Extension 277 Creating a Transformation Scenario 0 eee eee ce eece ence ence ence eceeeceeseaeeea seca esau ecu eeae esas 278 Transformation Scenarios VIEW 00 0 cseceeneeceeneeeeeececueeeeueeeeeeeceaueeeeeecccaeeceuaeeeeeeceaseseeuseeeaeseeuneeeeees 278 XSL FO Processors scsi owas o E E Ea A nboos tue sesee sedate E EEA EER a E ian 278 Adda font to the bualt 1 POP erie a eee ia a osas 279 Loca dota 279 Generate font metrics Meseci riene ii ol o A ia AOL rulos 280 Register font to FOP configuration oooccnoconoconccnnonnncnnncnnoronc
431. operation Add new line between classes If checked an empty line is added between two classes after a Pretty Print oper ation is performed Allow formatting embedded CSS If checked the CSS content embedded in XML will be formated when the XML content is formated JavaScript The JavaScript Format preferences panel is opened from menu Window Preferences gt Author Editor Format JavaS cript Figure 15 17 The JavaScript Format preferences panel JavaScript as C Start curly brace on new line Preserve empty lines Allow formating embedded JavaScript Start curly brace on new line If true opening curly braces will start on a new line 350 Configuring the application Preserve empty lines Allow formatting embedded JavaS cript Content Completion If true empty lines in the JavaScript code will be preserved If checked the JavaScript content embedded in XML will be formated when the XML content is formated The Content Completion feature enables inline syntax lookup and Auto Completion of mark up elements and attributes to streamline mark up and reduce errors while editing These settings define the operating mode of the content assistant The Content Completion preferences panel is opened from menu Window gt Preferences gt Author Editor Content Completion Figure 15 18 The Content Completion preferences panel Content Completion Auto close the last opened tag Automatically ren
432. or Editor Syntax Highlight Figure 15 21 The Colors preferences panel Syntax Highlight lt p y Element E XML al Foreground mr E Comment E Background E i C User defined E Single quoted Value Entity E Tag Styles E Attribute name OBold A Processing Instruction E Equal v Italic Preview lt xml version 1 0 encoding UTF 8 gt lt IDOCTYPE mainTag SYSTEM some dtd ENTITY entity gt lt oxygen RNGSchema some rng type xml gt lt mainTag gt lt This is a sample comment gt lt childTag attribute Quoted Yalue gt lt withTextContent gt Some text content lt withTextContent gt lt withEntityContent gt Some text content with 8dt entitiestegt lt mithEntity lt otherTag attribute Single quoted Value invalid_text gt lt childTag gt lt I CDATA some CData gt lt mainTag gt lt gt Restore Defaults Apply Open the Syntax Highlight panel by selecting Window gt Preferences gt oXygen gt Syntax Highlight and choose one of the supported Document Types Each document type contains a set of Tokens When a Document Type node is expanded the associated tokens are listed Selecting a token displays the current color properties and enables you to modify them You can also select a token by clicking directly in the preview area on that type of token Syntax Highlight Elements by Prefix The Syntax Highlight preferences panel is opened from menu Window Preferences
433. or create a targetset file which is used to resolve cross references with olinks Association rules A file is considered to be a DocBook Targetset document when the root name is targetset Schema DocBook Targetset documents use a DTD and schema located in frameworks docbook xsl common targetdatabase dtd where frameworks is a subdirectory of the lt oXygen gt install directory Author extensions Templates A default template is available for DocBook Targetset It is stored in frameworksDir docbook templates Targetset folder and can be used for easily creating a targetset This template is available when creating new documents from templates Docbook Targetset Map New Targetset Map The DITA Topics document type The Darwin Information Typing Architecture DITA is an XML based architecture for authoring producing and delivering technical information It divides content into small self contained topics that can be reused in different de liverables The extensibility of DITA permits organizations to define specific information structures and still use standard tools to work with them Association rules A file is considered to be a dita topic document when either of the following occurs e root element name is one of the following concept task reference dita topic e public id of the document is one of the public id s for the elements above e the root element of the file has an attribute named DITAArchVersi
434. or instruc tions PDF Adobe Portable Document Format PDF is a compact binary file format that can be viewed and printed by anyone anywhere across a broad range of hardware and software using the free PDF Viewer from Adobe http www adobe com products acrobat readstep html PS PostScript is the leading printing technology from Adobe http www adobe com 80 products postscript main html for high quality best in class printing solutions ranging from desktop devices to the most advanced digital presses platemakers and large format image setters in the world Postscript files can be viewed using viewers such as GhostScript but are more commonly created as a prepress format TXT Text files are Plain ASCII Text and can be opened in any text editor or word processor XML XML stands for eXtensible Markup Language and is a W3C http www w3c org XML standard markup language much like HTML which was designed to describe data XML tags are not predefined in XML You must define your own tags XML uses a Document Type Definition DTD an XML Schema or a Relax NG schema to describe the data XML with a DTD XML Schema or Relax NG schema is designed to be self descriptive XML is not a replacement for HTML XML and HTML were designed with different goals e XML was designed to describe data and to focus on what data is e HTML was designed to display data and to focus on how data looks e HTML is about displaying information XML is about des
435. orientation Default value You can use the following editor variables frameworks Oxygen frameworks directory URL home The path to user home directory URL cfd The path of current file directory cfdu The path of current file directory URL cfn The current file name without extension The table presents all the parameters of the XSLT stylesheet and all imported and included stylesheets with their current values If a parameter value was not edited then the table presents its default value The bottom panel presents the default value of the parameter selected in the table a description of the parameter if it is available and the system ID of the stylesheet that declares it For setting the value of a parameter declared in the stylesheet in a namespace for example lt xsl param name p param xmlns p namespace gt default lt xsl param gt use the following expression in the Name column of the Parameters dialog namespace param The buttons of the dialog have the following functions Add Add a new parameter to the list The editor variables displayed at the bottom of the dialog frameworks home cfd etc can be used in the values of the parameters to make the value independent of the location of the XSLT stylesheet or the XML document 276 Transforming documents Additional XSLT Stylesheets The list of additional XSLT stylesheets can be edited in the dialog opened by the button Additiona
436. orming documents 8 9 Select the following options a XSLT result as input b PS as method c Built in Apache FOP as processor Select the Output tab In the Save As field enter the output file name relative to the current directory YourFileName ps or the path and output file name C FileDirectory YourFileName ps Optionally uncheck the XHTML and XML check boxes in the Show As group Click Transform Now The transformation is started TXT Output 1 Ze 8 9 Change directory to oxygen frameworks docbook xsl fo Select docbook xs1 click Open The dialog closes Select the FOP tab Check the Perform FOP option The remaining options are enabled Select the following options a XSLT result as input b TXT as method c Built in Apache FOP as processor Select the Output tab In the Save As field enter the output file name relative to the current directory YourFileName txt or the path and output file name C FileDirectory YourFileName txt Optionally uncheck the XHTML and XML check boxes in the Show As group Click Transform Now The transformation is started HTML Output 1 2 Change directory to oxygen frameworks docbook xsl html Select docbook xs1 click Open The dialog closes Select the FOP tab Uncheck the Perform FOP option The FOP options are disabled Select the Output tab 286 Transforming documents 7 In the Save As field enter
437. ory reserved for FOP transform ations Configuration file for the built in You should specify here the path to a FOP configuration file necessary for ex FOP ample to render to PDF using a special true type font a document containing Unicode content The built in FOP generates PDF A When selected PDF A 1b output is generated 1b output Note All fonts have to be embedded even the implicit ones More information about configuring metrics files for the embedded fonts can be found in Add a font to the built in FOP Note You cannot use the lt filterList gt key in the configuration file FOP will generate the following error The Filter key is prohibited when PDF A 1 is active The users can configure the external processors for use with lt oXygen gt in the following dialog 373 Configuring the application Figure 15 44 The external FO processor configuration dialog FO Processor Name XEP FO processor Description FO Processor from XEP Output Encoding Default encoding Error Encoding Default encoding Working directory Command line D XEP 3 8 1 xep bat fo fo method out EJ E Name The name that will be displayed in the list of available FOP processors on the FOP tab of the Transforming Configuration dialog Description The description of the FO processor displayed in the Preferences gt FO Processors option Output Encoding The encoding us
438. os O Project Scenarios Scenarios that apply to XML files Y Docbook 4 gt Docbook 5 Conversion Y Docbook HTML personal schema 282 Transforming documents Also you can use the predefined Docbook PDF scenario which is based on this Docbook stylesheet Run a test trans formation to make sure the PDF is generated The Unicode characters are not yet displayed correctly We have to specify to the stylesheet to generate FO output that uses the font Arialuni Click on the Parameters button in the transformation scenario edit dialog Figure 9 10 The Edit Scenario dialog WwW Edit scenario Name Docbook PDF XSLT FO Processor Output XML URL currentFileURL eee XSL URL Frameworks docbook xsl Fo docbook xs lv 4 O More about currentFileURL C Use xml stylesheet declaration Transformer Saxon SA 9 1 0 3 Parameters Extensions 0 Additional XSLT stylesheets 0 Append header and footer Enter the following parameters indicating the font for the body text and for the titles Table 9 1 XSL FO Parameters Name Value body font family Arialuni title font family Arialuni TEI Stylesheets Create a transformation scenario that makes use of the tei xsl file from the oXygen install dir frameworks tei xs1 fo directory Also you can use the predefined TEI PDF scenario which is based on this XSLT
439. osition of the selected tag Moreover the tag s contents are selected in the document making it easy to notice the part of the document contained by that specific tag and furthermore to easily copy and paste the tag s contents in other parts of the document or in other documents You can also use key search to look for a particular tag name in the Outliner tree 50 Editing documents Grouping documents in XML projects Large Documents Let s consider the case of documenting a large project It is likely to be several people involved The resulting document can be few megabytes in size How to deal with this amount of data in such a way the work parallelism would not be affected Fortunately XML provides a solution for this It can be created a master document with references to the other document parts containing the document sections The users can edit individually the sections then apply FOP or XSLT over the master and obtain the result files let say PDF or HTML Two conditions must be fulfilled e The master should declare the DTD to be used and the external entities the sections A sample document is lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE book SYSTEM xml docbookx dtd lt ENTITY testing SYSTEM testing xml gt gt lt book gt lt chapter gt At a certain point in the master document there can be inserted the section testing xml entity Ktesting e The
440. ow caret position tooltip Y Hide comments V Show placeholders for empty elements Hide processing instructions Y Show Author layout messages Y Hide doctype Y Show block range E Show very large images v Display referred content e g entities XInclude DITA conref etc Format Format and indent when passing from author to text or on save Tags Tags display mode Partial Tags Md Tags background color A Tags foreground color za Configure annotation tooltip For advanced Author configuration see the Document Type Association settings Show caret position info If checked the position information tooltip will be displayed More information about the position information tooltip can be found in the section Position in formation tooltip The documentation tooltip can be disabled from the Content Completion Annotations preferences panel Show placeholders for empty ele When checked placeholders will be displayed for empty elements to make them ments clearly visible Show Author layout messages If checked all errors reported during layout creation will be presented in the Errors view 342 Configuring the application Show block range Hide comments Hide processing instructions Hide doctype Show very large images Display referred content e g entit ies XInclude DITA conref etc Format and indent when passing from author to text or on s
441. panel Mark up of current document is checked to conform with the specified DTD XML Schema or Relax NG schema rules It caches the schema and the next execution of the action uses the cached schema 45 Editing documents Select menu XML Reset Cache and Validate or click the button s Reset Cache and Validate available in the Validate toolbar to reset the cache with the schema and validate the document It returns an error result list in the Message panel Mark up of current document is checked to conform with the specified DTD XML Schema or Relax NG schema rules Select menu XML gt External Validation Alt Shift V E Cmd Alt V E on Mac OS or click the button Y External Validation available in the Validate toolbar to display the External Validation dialog used to select the external schemas XML Schema DTD Relax NG NRL NVDL Schematron schema and to execute the Validation operation on the current document using the selected schemas Returns an error result list in the Message panel Mark up of current document is checked to conform with the specified schemas rules Figure 4 29 The External validation dialog Validate with XML Schema DTD RelaxNG Schema NRL Schema Schematron Schema URL ww tei c org release xml tei customschema relaxng ei_oucs rng w Embedded schematron rules e XML syntax C Compact syntax e Select contextual menu of Navigator or Package Explorer view Batch Vali
442. perties pr put CharacterEncoding UTF8 pr put useUnicode TRUE pr put user user pr put password password Loads the database driver Class forName jdbcDriver Opens the connection Connection connection DriverManager getConnection connectionURL pr java sql Statement statement connection createStatement ResultSet resultSet statement executeQuery sql StringBuffer fragmentBuffer new StringBuffer fragmentBuffer append lt table xmlns http www oxygenxml com sample documentation gt Creates the table header 238 lt oXygen gt XML Editor Developer Guide fragmentBuffer append lt header gt ResultSetMetaData metaData resultSet getMetaData int columnCount metaData getColumnCount for int i 1 i lt columnCount i fragmentBuffer append lt td gt fragmentBuffer append xmlEscape metaData getColumnName 1 fragmentBuffer append lt td gt fragmentBuffer append lt header gt Creates the table content whil resultSet next fragmentBuffer append lt tr gt for int i 1 i lt columnCount i fragmentBuffer append lt td gt fragmentBuffer append xmlEscape resultSet getObject 1 fragmentBuffer append lt td gt fragmentBuffer append lt tr gt fragmentBuffer append lt t
443. pic aclInsert Graphic inserts a graphic object at the caret position This is done by inserting either lt figure gt or lt inlinemediaob ject gt element depending on the current context The following graphical formats are supported GIF JPG JPEG BMP PNG and SVG Insert Content Reference inserts a content reference at the caret position The DITA conref attribute provides a mechanism for reuse of content fragments The conref attribute stores a reference to another element and is processed to replace the referencing element with the referenced element The element containing the content reference acts as a placeholder for the referenced element The identifier for the referenced element must be either absolute or resolvable in the context of the referencing element See here http docs oasis open org dita v1 0 archspec conref html for more details lt oXygen gt will display the referred content of a DITA conref if it can resolve it to a valid resource If you use URI s instead of local paths and you have a catalog used in the DITA OT transformation you can add the catalog to lt oXygen gt and if the URI s can be resolved the referred content will be displayed A content reference is inserted with the action Insert a DITA Content Reference available on the toolbar Author custom actions and on the menu DITA Insert 112 Predefined document types Figure 6 6 Insert Content Reference Dialog Insert Content Refe
444. ple Schema Schema default font Arial 11 This is a text sample Restore Defaults Apply Text Use this section to customize the font used in text based editors There are two options e Map to text font the font used is the same as the one set in General Appearance Colors and Fonts for the basic text editor e Customize allows you to choose a specific font Author Allows you to specify a font to be used in the Author mode Document Type Association The Document Type Association preferences panel is opened from menu Window gt Preferences gt Author Document Type Association 338 Configuring the application Figure 15 5 Document Type Association preferences panel Document Type Association er User roles Content author x Document type Enabled Storage Namespace Root local name Filename Public ID Java class ANT A E proje DITA AY E proje DocBook 4 A E proje Rule book lt ANY gt lt ANY gt Rule article lt ANY gt lt ANY gt Rule lt ANY gt lt ANY gt OASI DocBook 5 A E proje FO A E proje SVG A E proje TEI P4 A E proje Rule TEI 2 lt ANY gt lt ANY gt Rule lt ANY gt lt ANY gt TEIP4 TEIPS A E proje XHTML A E proje XMLSpec A E proje DITA Map A E proje DITAYAL Y E proje Enable DTD XML Schema processing in document type detection User roles You can
445. port Relational databases use a relational model and are based on tables linked by a common key lt oXygen gt offers support for the following relational databases IBM DB2 JDBC ODBC Bridge MySQL Microsoft SQL Server Oracle 11g like browsing the tables of these types of database in the Database Explorer view executing SQL queries against them calling stored procedures with input and output parameters In the following sections one can find the tools that lt oXygen gt offers for working with relational databases and a de scription on how to configure a relational data source a connection to a data source and also the views where connections can be browsed and results are displayed Configuring Database Data Sources How to configure an IBM DB2 Data Source 1 Goto Preferences gt Data Sources In the Data Sources panel click the New button 2 Enter a unique name for this data source and select DB2 from the driver type combo box Figure 12 1 Data Source Drivers Configuration Dialog Data Sources Drivers Name DB2 Source Type DB2 x Driver class com ibm db2 jcc DB2Driver x Driver files file C Documents 20and 205ettings bogdan Application 20Data com oxygenxml File C Documents 20and 20S5ettings bogdan Application 20Data com oxygenxml File C Documents gt 20and 20Settings bogdan Application 20Data com oxygenxml lt E Drivers found 3 301
446. r e Select gt Select Content selects the entire content of the element at the current caret position excluding the start and end tag Performing this action repeatedly will result in the selection of the content of the ancestor of the currently selected element content e Select gt Select Parent selects the parent of the element at the current caret position Note You can select an element by triple clicking inside its content If the element is empty you can select it by double clicking it e Refactoring contains a series of actions designed to alter the document s structure Toggle Comment encloses the currently selected text in an XML comment or removes the comment if it is commented e Split Element splits the content of the closest element that contains the caret s position Thus if the caret is positioned at the beginning or at the end of the element the newly created sibling will be empty Join Elements joins two adjacent elements that have the same name The action is available only when the caret position is between the two adjacent elements Also joining two elements can be done by pressing the Delete or Backspace keys and the caret is positioned between the boundaries of these two elements e Surround with Tag selected text in the editor is marked with the specified tag e Surround with lt Tag name gt selected text in the editor is marked with start and end tags of the last Surround
447. r password sql caretPosition catch SQLException e throw new AuthorOperationException The operation failed due to the following database error getMessage e catch ClassNotFoundException e throw new AuthorOperationException The JDBC database driver was not found Tried to load jdbcDriver e The get Fragment method loads the JDBC driver connects to the database and extracts the data The result is a table element from the http www oxygenxml com sample document ation namespace The header element contains the names of the SQL columns All the text from the XML fragment is escaped This means that the lt and amp characters are replaced with the amp It and amp amp character entities to ensure the fragment is well formed private String getFragment String jdbcDriver String connectionURL String user String password String sql throws SQLException ClassNotFoundException Properties pr new Properties pr put characterEncoding UTF8 pr put useUnicode TRUE pr put user user pr put password password Loads the database driver Class forName jdbcDriver Opens the connection Connection connection 174 lt oXygen gt XML Editor Developer Guide DriverManager getConnection connectionURL pr java sql Statement statement connection createStatement Resu
448. r articles orbooks both composed Of sections The sections may contain titles paragraphs figures tables and other sections To complete the picture each section will include a def element from another namespace The first schema file lt xml version 1 0 encoding UTF 8 gt lt xs schema xmlns xs http www w3 org 2001 XMLSchema targetNamespace http www oxygenxml com sample documentation xmlns doc http www oxygenxml com sample documentation xmlns abs http www oxygenxml com sample documentation abstracts elementFormDefault qualified gt 140 lt oXygen gt XML Editor Developer Guide lt xs i import namespace http www oxygenxml com sample documentation abstracts schemaLocation abs xsd gt The namespace of our documents will be http www oxygenxml com sample documentation The namespace of the def element is http www oxygenxml com sample documentation abstracts Now let s define the structure of the sections They all start with a title then have the optional def element then either a sequence of other sections or a mixture of paragraphs images and tables lt xs element name book type doc sectionType gt lt xs element name article type doc sectionType gt lt xs element name section type doc sectionType gt lt xs complexType name sectionType gt lt xs sequence gt lt xs element name title type xs string gt lt xs element ref abs def minOccurs 0 gt
449. r gt attr no open quote no close lt identifier gt open quote close quote inherit quote counter increment lt identifier gt lt integer gt none inherit counter reset lt identifier gt lt integer gt none inherit cursor ALL direction ltr rtl inherit display inline block list item table table row group run in inline block in table header group table footer group table row line table considered table column group table column table cell block table caption none inherit empty cells show hide inherit float ALL font family lt family name gt lt generic family gt lt family name gt lt generic family gt inherit 211 lt oXygen gt XML Editor Developer Guide Name Supported Values Not Supported Values font size lt absolute size gt lt relative size gt lt length gt lt percentage gt inherit font style normal italic oblique inherit font variant ALL font weight normal bold bolder lighter 100 200 300 400 500 600 700 800 900 inherit font font style II font weight font size line font variant line height height 1 font family inherit caption icon menu message box small cap tion status bar height
450. r the action You can use insert_section Name The name of the action It is displayed as a tooltip when the action is placed in the toolbar or as the menu item name Use Insert section Menu access key On Windows the menu items can be accessed using ALT letter combination when the menu is visible The letter is visually represented by underlining the first letter from the menu item name having the same value Since the name is Insert section we can use as a menu access key the letter s Description You can add a short description for the action In our case Adds a section element will suffice Large icon 20x20 The path to the file that contains the toolbar image for the action A good practice is to store the image files inside the framework directory This way we can use the editor 159 lt oXygen gt XML Editor Developer Guide variableS frameworks to make the image file relative to the framework location Insert frameworks sdf Section20 gif Note If the images are bundled in a jar archive together with some Java operations im plementation for instance it might be convenient for you to refer the images not by the file name but by their relative path location in the class path If the image file Sect ion20 gif is located in the directory images inside the jar archive you can refer to it by using images Section20 gif The jar file must be added into the Classpath list Small icon 16x16 The path to th
451. ragmentOperation We assume the icon files lTable16 gif for the menu item and TH rable20 gif for the toolbar are already available We place these files in the frameworks sdf directory The action properties ID You can use insert_table Name Insert Insert table Menu access key Enter the t letter Description We can use Adds a section element Toolbar icon Use frameworks sdf Table20 gif Menu icon Insert frameworks sdf Table16 gif Shortcut key We can choose Ctrl Shift t Now let s set up the operation the action uses 161 lt oXygen gt XML Editor Developer Guide XPath expression Set it to the value true Note true is equivalent with leaving this field empty Invoke operation We ll use InsertFragmentOperation built in operations that inserts an XML fragment at the caret position Configure its arguments by setting the values fragment lt table xmlns http www oxygenxml com sample documentation gt lt header gt lt td gt lt td gt lt td gt lt header gt lt tr gt lt td gt lt td gt lt td gt lt tr gt lt tr gt lt td gt lt td gt lt td gt lt tr gt lt table gt insertLocation In our example will always add tables at the end of the section that contains the caret position Use ancestor section last insertPosition Select After Configuring the Toolbar Now that we have defined the two actions we can add them to the toolbar The first thing to check is tha
452. ragmentOperation Similar to InsertFragmentOperation except it removes the selected content before inserting the fragment InsertOrReplaceTextOperation Inserts a text It removes the selected content before inserting the text section text The text section to insert 165 lt oXygen gt XML Editor Developer Guide SurroundWithFragmentOperation Surround WithTextOperation Surrounds the selected content by a fragment Since the fragment can have multiple nodes the surrounded content will be always placed in the first leaf element If there is no selection the operation will simply insert the fragment at the caret position The arguments are described here The surround with text operation takes two arguments two text values that will be inserted before and after the selected content If there is no selected content the two sections will be inserted at the caret position The arguments of the op eration are header The text that will be placed before the selection footer The test that will be placed after the selection The arguments of InsertFragmentOperation fragment The value for this argument is a text This is parsed by the lt oXygen gt Author as it was already in the document at the caret position You can use entities references declared in the document and it is namespace aware The fragment may have multiple roots Note You can use even namespace prefixes that are not declared in the inserted fragment
453. ration is displayed e Close accessed by right clicking on an editor tab Closes the selected editor e Close Other Files accessed by right clicking on an editor tab Closes the other files except the selected tab e Close All accessed by right clicking on an editor tab Closes all open editors within the panel Viewing file properties In the Properties view you can quickly access information about the current edited document like the character encoding full path on the file system schema used for content completion and document validation document type name and path associated transformation scenario if the file is read only document s total number of characters line width if indent with tabs is enabled and the indent size The view can be accessed by going to Window Show View Other toXygen Editor properties 27 Editing documents Figure 4 11 The Properties View Editor Properties 22 Name Value Name personal xml Path of curren file C Documents and Encoding UTF 8 Content type text xml Content Compl file C Documents and Number of cha 1580 Indent size 4 Indent with tabs false Line width Fo 100 File size 1 580 bytes Readable Yes Writable No Hidden No Modified L 6 Apr 2009 17 46 31 To copy a value from the Properties View in the clipboard for example the full file path use the Copy action available on the right click menu of the vie
454. rbosity The user can choose between four levels of verbosity DEBUG INFO WARNING ERROR Join existing environment If checked an attempt will be made to join an existing environment in the specified home directory and all the original environment settings will be preserved If that fails you should consider reconfiguring the connection with this option unchecked 316 Working with Databases 4 Click OK How to configure an eXist Connection Figure 12 12 The Connection Configuration Dialog Connection Name Data Source XML DB URI User Password Collection exist Connection exist Datasource x Connection Details xmidb exist 10 0 0 16 8080 exist xmlrpc quest ee db 1 Goto Preferences gt Data Sources In the Connections panel click the New button 2 Enter a unique name for this connection and select one of the previously configured eXist data sources from the Data Source combo box 3 Fill in the Connection Details XML DB URI User Password Collection 4 Click OK URI to the installed eXist engine User name to access the eXist database engine Password to access the eXist database engine eXist organizes all documents in hierarchical collections Collections are like directories They are used to group related documents together This text field allows the user to set the default collection name 317 Working with Databases How to config
455. rch for XML elements operations on the current document As a result the dialog can perform the following e Find all the elements with a specified name e Find all the elements which contain a specified string in their text e Find all the elements which have a specified attribute e Find all the elements which have an attribute with a specified value All these search criteria can be combined to fine filter your results The results of all the operations in the Find All Elements dialog will be presented as a list in the Message Panel Figure 14 1 Find All Elements Dialog Find All Elements Element name para Element text contains W Attribute name id Attribute value contains system C Case sensitive Leave field empty to specify any The dialog fields are described as follows Element name The target element name to search for Only the elements with this exact name are returned For any element name just leave the field empty Element text The target element text to search for The combo box beside this field allows you to specify that you are looking for an exact or partial match of the element text For any element text select contains in the combo box and leave the field empty If you leave the field empty but select equals in the combo box only elements with no text will be found Attribute name The name of the attribute which needs to be present in the elements Only the elements which h
456. references custom engines 376 FO Processors 372 MSXML 370 MSXML NET 370 Saxon B SA 366 Saxon B SA advanced options 368 Saxon6 366 XPath 375 XSLTProc 368 copy paste grid editor 263 CSS support in lt oXygen gt Author lt oXygen gt CSS extensions 213 Media Type oxygen 213 CSS 2 1 features properties support table 210 supported selectors 208 unsupported selectors 209 Customization support 134 Document Type Associations advanced customization tutorial 140 Author Settings 158 Basic Association 140 configuring extensions Link target reference finder 190 configuring Transformation Scenarios 181 New File Templates 177 XML Catalogs 179 example files 224 the Simple Documentation Framework Files 224 simple customization tutorial CSS 136 XML Instance Template 139 XML Schema 135 D Databases 301 Native XML databases NXD 312 Relational databases 301 WebDAV Connection 327 Digital signature 329 canonicalizing files 330 certificates 331 signing files 332 verifying the signature 333 DITA MAP document type 116 association rules 116 Author extension 117 catalogs 118 templates 118 transformation scenarios 118 schema 117 DITA Maps 64 advanced operations 67 edit properties 69 inserting a topic group 69 inserting a topic heading 68 inserting a topic reference 67 DITA OT customization support 77 customizing the lt oXygen gt Ant tool 77 increase the memory for Ant 78 resol
457. register your license key for example to release a floating license to be used by other user and still use the current lt oXygen gt XML Author instance with an individual Named User license or to transfer your license key to other computer before other user starts using your current computer This is done by going to Windows gt Preferences oXygen Register to display the license registration dialog making sure the text area for the license key is empty and the checkbox Use a license server is unchecked and pressing the OK button of the dialog This brings up a confirmation dialog in which you select between falling back to the license key entered previously for the case of releasing a floating license and reverting to the individual license entered previously in the Register dialog and re moving your license key from your user account of the computer Figure 2 3 Unregister a license key Information Do you want to keep the old license key or do you want to reset it In the latter case you will have to restart the application Installation Upgrading the lt oXygen gt XML Author application From time to time upgrade and patch versions of lt oXygen gt XML Author are released to provide enhancements that rectify problems improve functionality and the general efficiency of the application This section explains the procedure for upgrading lt oXygen gt XML Author while preserving any personal con
458. rence file C spraypainting xml ix la Target type All x Spray painting task spraypaint lt task id spraypaint xml lala context context id lt title gt Spray painting lt t steps steps id lt taskbody gt related links related links id ZOON ert Je nGantent lt p gt The garage is lt fcontext gt lt steps id steps iarl lt step gt lt cmd gt Move th paint on lt step gt lt step gt lt cmd gt Place n garage f lt step gt Iv El Conref value spraypainting xml spraypaint In the URL chooser you can choose the file from which you want to reuse content Depending on the Target type filter you will see a tree of elements which can be referred which have id s For each element the XML content is shown in the preview area The Conref value is computed automatically for the selected tree element After pressing OK an element with the same name as the target element and having the attribute conref with the value specified in the Conref value field will be inserted at caret position Replace conref with content Replace the content reference fragment at caret position with the referenced content This action is useful when you want to make changes to the content but decide to keep the referenced fragment un changed Insert Ordered List inserts an ordered list with one list item Insert Unordered List inserts an unordered list with one list item Inse
459. require the ability to test whether the information content of a document or document subset has been changed This is done by comparing the canonical form of the original document before application processing with the canonical form of the document result of the application processing 329 Digital signature A digital signature over the canonical form of an XML document or document subset would allows the signature digest calculations to be oblivious to changes in the original document s physical representation During signature generation the digest is computed over the canonical form of the document The document is then transferred to the relying party which validates the signature by reading the document and computing a digest of the canonical form of the received document The equivalence of the digests computed by the signing and relying parties and hence the equivalence of the canonical forms over which they were computed ensures that the information content of the document has not been altered since it was signed The following canonicalization algorithms are used in lt oXygen gt Canonical XML or Inclusive XML Canonicaliza tion XMLCIAN http www w3 org TR 2001 REC xml c 14n 20010315 and Exclusive XML Canonicalization EX CC14N http www w3 org TR 2002 REC xml exc c 14n 20020718 The first is used for XML where the context doesn t change while the second was designed for canonicalization where the context might change
460. resents also pattern names defined in the Relax NG schema as possible values for pattern references For example if the schema defines an enumValuesElem element lt element name enumValuesElem gt lt choice gt lt value gt valuel lt value gt lt value gt value2 lt value gt lt value gt value3 lt value gt lt choice gt lt element gt in documents based on the schema the Content Completion assistant offers the list of values Figure 4 15 Content Completion assistant element values in Relax NG documents lt root gt lt enumValues Elem gt k enumvalues Elem gt lt froot gt b valuel h value2 h values If only one element name must be displayed by the content assistant then the assistant is not displayed any more but this only option is automatically inserted in the document at the current cursor position If the schema for the edited document defines attributes of type ID and IDREF the content assistant will display for IDREF attributes a list of all the ID values already present in the document for an easy insertion of a valid ID value at the cursor position in the document This is available for documents that use DTD XML Schema and Relax NG schema Also values of all the xml id attributes are treated as ID attributes and collected and displayed by the content completion assistant as possible values for anyURI attributes defined in the schema of the edited document This works only for XML Schema and Relax
461. rform the following tasks 69 Editing documents If a topicref element is selected the action will show a dialog similar with the Insert Topic Reference dialog allowing the editing of some important attributes If a topichead element is selected the action will show a dialog similar with the Insert Topic Heading dialog allowing the editing of some important attributes e Ifa topicgroup element is selected the action will show a dialog similar with the Insert Topic Group dialog allowing the editing of some important attributes e If the map s root element is selected then the user will be able to easily edit the map s title using the Edit Map title dialog Figure 4 46 Edit Map Title Dialog Edit Map Title Title Map Title Setto O Attribute Element All By using this dialog you can also specify whether the title will be specified as the title attribute to the map or as a title element for DITA OT 1 1 or specified in both locations Transforming DITA Maps lt oXygen gt uses the DITA Open Toolkit DITA OT to transform XML content into an output format For this purpose both the DITA Open Toolkit 1 4 3 and ANT 1 7 come bundled in lt oXygen gt Available Output Formats You can publish DITA based documents in any of the following formats XHTML DITA Map to XHTML PDF DITA OT DITA Map to PDF using the DITA OT default PDF target PDF2 IDIOM FO Plugin DITA Map to PDF using the DITA OT I
462. rge number of nodes become expanded and the document structure is not clear any more the collapsing action clears the view quickly by reducing the depth of the expanded nodes to only one child of the currently selected node Outliner filters Show comments Processing Instruc Show Hide Comments and Processing instructions in the outliner tions Show text Show Hide additional text content for the displayed elements Show attributes Show Hide attribute values for the displayed elements The displayed attribute values can be changed from the Outline preferences panel The content of the Outline view can also be filtered with patterns typed in the text field of the view The patterns can include the wildcard characters and If more than one pattern is used they must be separated by comma Any pattern is a prefix filter that is a is appended automatically at the end of every pattern Modification Follow up When editing the Outline view dynamically follows the modifications introduced by the user showing in the middle of the panel the node which is currently being modified This gives the user better insight on location where in the document one is positioned and how the structure of the document is affected by one s modifications Document Structure Change Entire XML elements can be moved or copied in the edited document using only the mouse in the Outline view in drag and drop operations If you drag an XML element in the Outline view
463. rgumentDescriptor ARG_USER ArgumentDescriptor TYPE_STRING The name of the database user new ArgumentDescriptor ARG_PASSWORD ArgumentDescriptor TYPE_STRING The database password new ArgumentDescriptor ARG_SQL ArgumentDescriptor TYPE_STRING The SQL statement to be executed y return args These names types and descriptions will be listed in the Arguments table when the operation is configured When the operation is invoked the implementation of the doOperat ion method extracts the arguments forwards them to the method that connects to the database and generates the XML fragment The XML fragment is then inserted at the caret position public void doOperation AuthorAccess authorAccess ArgumentsMap map throws IllegalArgumentException AuthorOperationException 173 lt oXygen gt XML Editor Developer Guide Collects the arguments String jdbcDriver String map getArgumentValue ARG_JDBC_DRIVER ring connection ring map getArgumentValue ARG_CONNECTION ng user ring map getArgumentValue ARG_USER ing password tring map getArgumentValue ARG_PASSWORD ing sql ring map getArgumentValue ARG_SQL K WM RA Bu ct KW T n ct int caretPosition authorAccess getCaretOffset try 4 authorAccess insertXMLFragment getFragment jdbcDriver connection use
464. riptor getArguments ArgumentDescriptor args new ArgumentDescriptor new ArgumentDescriptor ARG_JDBC_DRIVER ArgumentDescriptor TYPE_STRING The name of the Java class new ArgumentDescriptor ARG_CONNECTION ArgumentDescriptor TYPE_STRING 236 lt oXygen gt XML Editor Developer Guide The database URL connection string new ArgumentDescriptor ARG_USER ArgumentDescriptor TYPE_STRING The name of the database user S e n new ArgumentDescriptor ARG_PASSWORD e d e Q ArgumentDescriptor TYPE_STRING The database password new ArgumentDescriptor Ly ARG_S ArgumentDescriptor TYPE_STRING The SQL statement to be executed y return args return The operation description if public String getDescription return Executes a database query and puts the result in a table public void doOperation AuthorAccess authorAccess ArgumentsMap map throws IllegalArgumentException AuthorOperation Collects the arguments String jdbcDriver String map getArgume String connection String map getArgume String user String map getArgume String password String map getArgume String sql String map getArgume e tValue ARG_JDBC_DRIVER e tValue ARG_CONNECTION pu tValue ARG_USER Y tValue ARG_PASSWORD Y tValue ARG_SQL
465. rkup section When opening a map Specified the default behavior when try to open a map You can choose between e Always open in the DITA Map Manager e Always open as XML e Always ask Show author page warning When checked a warning dialog will be displayed when switching to Author mode The warning reminds you that the whitespaces from the text content are evaluated according to the value of the CSS white space property associated to the enclosing elements Grid The Grid preferences panel is opened from menu Window gt Preferences gt Author Editor Grid 344 Configuring the application Figure 15 11 The Grid editor preferences panel Grid Compact representation Default column width characters 16 Current selection color Selection color Border color Background color Foreground color Row header colors Background color Current selection color Selection color Column header colors Background color Current selection color Selection color Compact representation Format and indent when passing from grid to text or on save Default column width characters Current selection color Selection color Border color Background color Foreground color Row header colors Background color ae C Format and indent when passing From grid to text or on save If checked a child element is displayed at the same height level with the parent element If unchecked a child elements is presented
466. rn add colWidthSpecs get i return toReturn see ro sync ecss extensions api AuthorTableColumnWidthProvider getTableWidth java lan f public WidthRepresentation getTableWidth String tableCellsTagName WidthRepresentation toReturn null if tableElement null amp amp td equals tableCellsTagName AttrValue widthAttr tableElement getAttribute width if widthAttr null String width widthAttr getValue if width null toReturn new WidthRepresentation width true return toReturn pk see ro sync ecss extensions api AuthorTableColumnWidthProvider init ro sync ecss exte public void init AuthorElement tableElement this tableElement tableElement AuthorElement colChildren tableElement getElementsByLocalName customcol if colChildren null amp amp colChildren length gt 0 for int i 0 i lt colChildren length i AuthorElement colChild colChildren i if i 0 colsStartOffset colChild getStartoffset if i colChildren length 1 colsEndOffset colChild getEndOffset Determine the width for this col AttrValue colWidthAttribute colChild getAttribute width String colWidth null if colWidthAttribute null colWidth colWidthAttribute getValue Add WidthRepresentation objects for the columns this customcol specification
467. rocessor extension a directory or a jar file you have to use the Extensions button of the scenario edit dialog The old way of setting an extension using the parameter Dcom oxygenxml additional classpath was deprecated and you should use the extension mechanism of the XSLT transformation scenario 291 Chapter 10 Querying documents Running XPath expressions What is XPath XPath is a language for addressing specific parts of an XML document XPath like the Document Object Model DOM models an XML document as a tree of nodes An XPath expression is a mechanism for navigating through and selecting nodes from the XML document An XPath expression is in a way analogous to a Structured Query Language SQL query used to select records from a database XPath models an XML document as a tree of nodes There are different types of nodes including element nodes at tribute nodes and text nodes XPath defines a way to compute a string value for each type of node XPath defines a library of standard functions for working with strings numbers and Boolean expressions Examples child Select all children of the root node mame Select all elements having the name name descendants of the current node catalog cd price gt 10 80 Selects all the cd elements that have a price element with a value larger than 10 80 To find out more about XPath the following URL is recommended http www w3 org TR xpath lt oXygen gt s XPath conso
468. rough Java lt oXygen gt Author has a built in set of operations covering the insertion of text and XML fragments see the Author Default Operations and the execution of XPath expressions on the current document edited in Author mode However there are situations in which we need to extend this set For instance if you need to enter an element whose attributes 168 lt oXygen gt XML Editor Developer Guide should be edited by the user through a graphical user interface Or the users must send the selected element content or even the whole document to a server for some kind of processing or the content authors must extract pieces of inform ation from a server and insert it directly into the edited XML document Or you need to apply an XPath expression on the current Author document and process the nodes of the result nodeset In the following sections we are presenting the Java programming interface API available to the developers You will need the Oxygen Author SDK http www oxygenxml com InstData Editor Developer oxygenAuthorSDK zip available on the lt oXygen gt website http www oxygenxml com developer html which includes the source code of the Author operations in the predefined document types and the full documentation in Javadoc format of the public API available for the developer of Author custom actions The next Java examples are making use of AWT classes If you are developing extensions for the lt oXygen gt XML
469. rrors are very easily introduced When working with large projects or many files the probability that errors will occur is even greater Determining that your project is error free can be time consuming and even frustrating For this reason lt oXygen gt provides functions that enable easy error identification and rapid error location Checking XML well formedness A Well Formed XML document is a document that conforms to the XML syntax rules A Namespace Well Formed XML document is a document that is Well Formed XML and is also namespace wellformed and namespace valid The XML Syntax rules for Well Formed XML are e All XML elements must have a closing tag e XML tags are case sensitive e All XML elements must be properly nested All XML documents must have a root element e Attribute values must always be quoted e With XML white space is preserved The namespace wellformed rules are e All element and attribute names contain either zero or one colon No entity names processing instruction targets or notation names contain any colons The namespace valid rules are The prefix xml is by definition bound to the namespace name http www w3 org XML 1998 namespace It MAY but need not be declared and MUST NOT be undeclared or bound to any other namespace name Other prefixes MUST NOT be bound to this namespace name 37 Editing documents The prefix xmlns is used only to declare namespace bindings and is by def
470. rstand opening and saving files directly in archives browsing and modifying archive structures The archive support is available for all ZIP type archives for JAR and ODF formats and for IDML files which are also based on the ZIP archive format This means that you can modify transform validate files directly from OOXML or ODF packages Using files directly from archives Now you can transform validate and perform many other operations on files directly from an archive When selecting an URL for a specific operation like transformation or validation you can click the Browse for archived file button to navigate and choose the file from a certain archive Figure 11 1 Browsing for a file in an archive Archive Browser URL file C samples_ zip B E EH samples_ zip A import amp samples amp css HG cvs Loy samplel css ag fo sample2 css ba sample2 xhtml fod sample3 css fed sample3 xhtml gt cvs 2 debugger 5 dita 5 docbook gt fn v E E EE Browsing and modifying archives structure You can navigate archives directly in the Archives Browser either by opening them from the Navigator or by using the integration with the Eclipse File System For the EFS Eclipse File System integration you must right click the archive in the Navigator and choose Expand Zip Archive All the standard Eclipse Navigator actions are available on the mounted archive If you decide to close
471. rt List Item inserts a new list item for in any of the above two list types insert Table opens a dialog that allows you to configure the table to be inserted 113 Predefined document types E E Figure 6 7 Insert Table Dialog Insert Table Model cats O Simple Title Table Size lt gt Rows 3 S Columns 2 Generate table header Frame none v The dialog allows the user to configure the number of rows and columns of the table if the header will be generated if the title will be added and how the table will be framed Insert Row inserts a new table row with empty cells The action is available when the caret position is inside a table lInsert Column inserts a new table column with empty cells after the current column The action is available when the caret position is inside a table y Insert Cell inserts a new empty cell depending on the current context If the caret is positioned between two cells a new one will be inserted at caret s position If the caret is inside a cell then the new one will be created after the current cell Delete Column deletes the table column where the caret is located Delete Row deletes the table row where the caret is located Join Row Cells joins the content of the selected cells The operation is available if the selected cells are from the same row and they have the same row span The action is also available wh
472. rt automatically the required attributes from the DTD or XML Schema for an element inserted with the help of the Content Completion assistant This option is applied also in the Author mode of the XML editor When checked lt oXygen gt will insert automatically any FIXED attributes from the DTD or XML Schema for an element inserted with the help of the Content Completion assistant This option is applied also in the Author mode of the XML editor When checked lt oXygen gt will remember the last inserted items from the Content Completion window The number of items to be remembered is limited by Maximum number of recent items shown combo box These most frequently used items are displayed on the top of Content Completion window and their icon is decorated with a small red square This option is applied also in the Author mode of the XML editor Limits the number of recently used items presented at the top of the content completion window This option is applied also in the Author mode of the XML editor When checked lt oXygen gt will display a list with all attributes values learned from the current document This option is applied also in the Author mode of the XML editor When checked lt oXygen gt will automatically learn the document structure when the document is opened This option is applied also in the Author mode of the XML editor When checked lt oXygen gt will automatically learn the typed words and will make the
473. rted by the element or after the gt char of the start tag if the element has no attributes Pressing the space bar directly after element insertion will again display the assistant In this instance the attributes supported by that element will be displayed If an attribute supports a fix set of parameters the assistant will display the list of valid parameter If the parameter setting is user defined and therefore variable the assistant will be closed to enable manual insertion The values of the attributes can be learned from the same elements in the current document If you press CTRL Enter instead of Enter or Tab after inserting the start and end tags in the document lt oXygen gt will insert an empty line between the start and end tag and the cursor will be positioned between on the empty line on an indented position with regard to the start tag If the feature Add Element Content of Content Completion is enabled all the elements that the new element must contain as specified in the DTD or XML Schema are inserted automatically in the document The Content Completion assistant can also add optional content and first choice particle as specified in the DTD or XML Schema for the element if the two options are enabled The content assistant can be started at any time by pressing CTRL Space The effect is that the context sensitive list of proposals will be shown in the current position of the caret in the edited document if element attribute
474. ry table from the Database Explorer can be displayed and edited by pressing the Edit button from the contextual menu or by double clicking one of its fields To modify a cell s content double click it and start typing When editing is finished lt oXygen gt will try to update the database with the new cell content Figure 12 7 The Table Explorer View ES Table Explorer 3 Otis Sa o DEPARTMENT_ID NUMBER DEPARTMENT_NAME VARCHAR2 MANAGER_ID NUMB E __ El 1 20 Marketing 201 2 30 Purchasing 114 3 40 Human Resources 203 50 Shipping 121 5 60 IT 103 lt N NMokhli Malabia MA lt gt BONUS DEPT EMP DEPARTMENTS 23 You can sort the content of a table by one of its columns by clicking on its column header Note the following The first column is an index does not belong to the table structure e Every column header contains the field name and its data type 310 Working with Databases The primary key columns are marked with this symbol e e Multiple tables are presented in a tabbed manner For performance issues you can set the maximum number of cells that will be displayed in the Table Explorer view the Limit the number of cells field from the Data Sources Preferences page If a table having more cells than the value set in lt oXygen gt s options is displayed in the Table Explorer view a warning dialog will inform you that the table is only parti
475. s is a subdirectory of the lt oXygen gt install directory The XML Schema document type This document type is used to associated CSS stylesheets to an XML Schema so it can be visualized in the Author page 129 Predefined document types Association rules A file is considered to be an XML Schema document when the root name is schema and namespace is ht tp www w3 org 2001 XMLSchema Author extensions The following CSS alternatives are proposed for visualizing XML Schemas in the Author page frameworks xmlschema schema Documentation representation of XML Schema optimized for editing and main css viewing documentation frameworks xmlschema sche XMLSchema ISOSchematron representation of XML Schema with embedded malSOSchematron css ISO Schematron rules frameworks xmlschema schemaS XMLSchema Schematron representation of XML Schema with embedded chematron css Schematron rules frameworks xmlschema de XMLSchema Schematron representation of XML Schema for general editing fault css The RelaxNG document type This document type is used to associated CSS stylesheets to an RelaxNG file so it can be visualized in the Author page Association rules A file is considered to be an RelaxNG document when the namespace is http relaxng org ns structure 1 0 Author extensions The following CSS alternatives are proposed for visualizing RelaxNG schemas in the Author page frameworks
476. s a container can hold millions of resources If the node corresponding to such a container in the Database Explorer view would display all the contained resources at the same time the performance of the view would be very slow To prevent such a situation only a limited number of the contained resources is displayed as child nodes of the container node Navigation to other contained resources from the same container is enabled by the Up and Down buttons of the Database Explorer view This limited number is set in the option Maximum number of children for container nodes The default value is 200 nodes The Show warning when expanding other database schema in the section Convert DB Structure to XML Schema controls if a warning message will be displayed when expanding another database schema and there are tables selected in the current expanded one This applies for the dialog Select database table when invoking Convert DB Structure to XML Schema action New Opens the Connection dialog 380 Configuring the application Figure 15 52 The Connection dialog Connection Name ODBC Connection Data Source JDBC ODEC Bridge Connection details URL jdbc odbc ODBCTest User Password Name Allows you to name the new connection Data Source Select data source defined in the Data Source Drivers dialog Depending upon the selected Data Source you can set some of the following parameters in the Connection de
477. s a different region of text of the current document depending on the position of the click in the document e if the click position is inside a start tag or an end tag then the entire element enclosed by that tag is selected if the click position is immediately after a start tag or immediately before an end tag then the entire content of the element enclosed by that tag is selected including all the child elements but excluding the start tag and the end tag of the element e otherwise the triple click selects the entire current line of text Syntax highlight depending on namespace prefix The syntax highlight scheme of an XML file type allows the configuration of a color per each type of token which can appear in an XML file Distinguishing between the XML tag tokens based on the namespace prefix brings additional visual help in editing some XML file types For example in XSLT stylesheets elements from different namespaces like XSLT XHTML XSL FO or XForms are inserted in the same document and the editor panel can become cluttered Marking tags with different colors based on the namespace prefix allows easier identification of the tags 63 Editing documents Figure 4 41 Example of coloring XML tags by prefix lt xsl template match name gt lt fo list item gt lt fo list item label end indent label end gt lt fo block text align end font weight bold gt Full Name lt fo block gt lt fo list item label gt lt
478. s an XML vocabulary for specifying formatting semantics lt oXygen gt supports XSLT XPath version 1 0 using Saxon 6 5 5 Xalan Xsltproc MSXML 3 0 4 0 NET and XSLT XPath 2 0 by using Saxon 9 1 0 7 B Saxon 9 1 0 7 SA and Saxon NET Transformation scenario Before transforming the current edited XML document in lt oXygen gt you must define a transformation scenario to apply to that document A scenario is a set of values for various parameters defining a transformation It is not related to any particular document but to a document type Scenarios that apply to XML files Such a scenario contains the location of an XSLT stylesheet that is applied on the edited XML document and other transform parameters Scenarios that apply to XSLT files Such a scenario contains the location of an XML document that the edited XSLT stylesheet is applied on and other transform parameters Scenarios that apply to XQuery files Such a scenario contains the location of an XML source that the edited XQuery file is applied on and other transform parameters When the XML source is a native XML database the XML source field of the scenario is empty because the XML data is read with XQuery functions like document When the XML source is a local XML file the URL of the file is specified in the XML input field of the scenario 267 Transforming documents A scenario can be created at document type level or at global level The scenarios defined at docum
479. s not been released yet by the W3C However it addresses several important issues like selectors that are namespace aware and values for the CSS 142 lt oXygen gt XML Editor Developer Guide properties extracted from the attributes of the XML documents Although not yet conforming with the current CSS standard these are supported by the lt oXygen gt Author Defining the General Layout We are now creating the basic layout of the rendered documents Elements that are stacked one on top of the other are book article section title figure table image These elements are marked as having block style for display Elements that are placed one after the other in a flowing sequence are b i These will have inline display Vertical flow book section para title image ref display block Horizontal flow b i display inline 1 Important Having block display children in an inline display parent makes lt oXygen gt Author change the style of the parent to block display Styling the section Element The title of any section must be bold and smaller than the title of the parent section To create this effect we have to create a sequence of CSS rules The operator matches any element so we can use it to match titles having progressive depths in the document title font size 2 4em font weight bold title font size 2 0em x title font size 1 6em x
480. s resolved through XML catalog lt li gt lt ul gt return The SAX source including the parser and the parser s input source ed public SAXSource resolveReference AuthorNode node String systemID AuthorAccess authorAccess EntityResolver entityResolver SAXSource saxSource null if node getType AuthorNode NODE_TYPE_ELEMENT AuthorElement element AuthorElement node if ref equals element getLocalName AttrValue attrValue element getAttribute location if attrValue null String attrStringVal attrValue getValue try URL absoluteUrl new URL new URL systemID authorAccess correctURL attrStringVal nputSource inputSource entityResolver resolv absoluteUrl toString if inputSource null inputSource new InputSource absoluteUrl toString Entity null 249 lt oXygen gt XML Editor Developer Guide XMLReader xmlReader authorAccess newNonValidatingXMLReader xmlReader setEntityResolver entityResolver saxSource new SAXSource xmlReader inputSource catch MalformedURLException e logger error e Je catch SAXException e logger error e Ne catch IOException e logger error e ee return saxSource Get an unique identifier for the node referenc The unique identifier is used to avoid resolving the references recursively
481. s simple documentation framework QueryDatabase0peration This class must implements the ro sync ecss extensions api AuthorOperation interface 172 lt oXygen gt XML Editor Developer Guide import ro sync ecss extensions api ArgumentDescriptor import ro sync ecss extensions api ArgumentsMap import ro sync ecss extensions api AuthorAccess import ro sync ecss extensions api AuthorOperation import ro sync ecss extensions api AuthorOperationException public class QueryDatabaseOperation implements AuthorOperationf Let s define the arguments of the operation For each of them we will use a St ring constant representing the argument name private static final String ARG_JDBC_DRIVER jdbc_driver private static final String ARG_USER user private static final String ARG_PASSWORD password private static final String ARG_SOL sql private static final String ARG_CONNECTION connection We must describe each of the argument name and type To do this implement the get Argument s method which will return an array of argument descriptors public ArgumentDescriptor getArguments ArgumentDescriptor args new ArgumentDescriptor new ArgumentDescriptor ARG_JDBC_DRIVER ArgumentDescriptor TYPE_STRING The name of the Java class that is the JDBC driver new ArgumentDescriptor ARG_CONNECTION ArgumentDescriptor TYPE_STRING The database URL connection string new A
482. s used to associated CSS stylesheets to a Schematron 1 5 file so it can be visualized in the Author page Association rules A file is considered to be a Schematron 1 5 document when the namespace is http www ascc net xml schematron Author extensions The following CSS is proposed for visualizing Schematron 1 5 schemas in the Author page frameworks schematron schemat Representation of Schematron 1 5 optimized for editing in the Author mode ron15 css The XSLT document type This document type is used to associated CSS stylesheets to an XSLT stylesheet file so it can be visualized in the Author page Association rules A file is considered to be a XSLT document when the namespace is http www w3 org 1999 XSL Transform 131 Predefined document types Author extensions The following CSS is proposed for visualizing XSLT stylesheets in the Author page frameworks xslt xslt css Representation of XSLT optimized for editing in the Author mode The XMLSpec document type XMLSpec is a markup language for W3C specifications and other technical reports Association rules A file is considered to be an XMLSpec document when the root name is spec Schema XMLSpec documents use a RelaxNG schema located in f frameworks xmlspec schema xmlspec rng where frameworks is a subdirectory of the lt oXygen gt install directory Author extensions Templates Default templates are available for XMLSpec
483. s with external storage Editor The Editor preferences panel is opened from menu Window gt Preferences gt Author Editor Use these options to configure the visual aspect of the text editor The same options panel is available in the restricted version of the Preferences dialog 340 Configuring the application Figure 15 6 The Editor preferences panel Editor Appearance color options Editor background Completion proposal background Completion proposal Foreground Documentation window background Documentation window Foreground Line wrap disables Folding Highlight matching tag Enable Folding when opening a new editor Minimum fold range only for XML 4 Editor background color Completion proposal background Completion proposal foreground Documentation window background Documentation window foreground Line Wrap disables folding Highlight matching tag Enable folding when opening a new editor Minimum fold range only for XML Pages Use this option to set the background color of the editor and also of the Diff Files editors Use this option to set the background color for the content completion window Use this option to set the foreground color for the content completion window Use this option to set the background color for the window containing document ation for the content completion elements Use this option to set the foreground color for the window conta
484. se E EE ders 159 The Insert Table Action e dole eei tacts Ae eis ata Wed Oa eae Bae 161 Configuring the Too Dar pesyeen deepens a E gras EEEE SEE PERSEE SERTER EEDS 162 Configuring the Main Menu nens mesentere e E E E EE E N 163 Configuring the Contextual Menu ooocconccnnconnconnconccnnncnnronoronocnn cono connccnnccnnconnccnnoos 164 Author Default Operations coiere eea e pE enee EE E AEA pE E EES p Saa eegs 165 The arguments of InsertFragmentOperation ssssessssererrresrsrereresrereee 166 The arguments of SurroundWithFragmentOperation sesssesseeresrereee 168 Java API Extending Author Functionality through Java ooonconccnccnnccnnconnccnnconnconaconiconono 168 Example 1 Step by Step Example Simple Use of a Dialog from an Author Opera RT 169 Example 2 Operations with Arguments Report from Database Operation 172 Configuring New File Templates 20 0 0 0 cce cee cc cece ence ence eeceeeeeeeea seca seca sean eeu eeneeeneeeeeeeeea 177 Configuring XML Catalogs seco ss assistant ida rra 179 Configuring Transformation Scenarios cece cece cece eee cece ce eece cena cea cenneeeeeeeeeeeeeeeeaeseaeeeaes 181 Vili lt oXygen gt XML Author 10 3 User Manual for Eclipse Configuring EXtensiOns s cies csgass svncodies E E E EI E EEE ESNE EEES ate 183 Configuring an Extensions Bundle oooooccncccnncnnccnnccnnccnncnnncnnccnnconnconnccnnconnconnconncnnncnnnss 184 Implementing a
485. ses are used on machines connected to different local networks a separate license server must be started and the licenses deployed on it Installation Procedure 2 6 Floating license server setup 1 Download the license server from one of the download URLs included in the registration email message with your floating license key Run the downloaded Windows 32 bit installer or Windows 64 bit installer or unzip the all platforms zip archive kit on your server machine The Windows installer installs the license server as a Windows service it provides the option to start the Windows service automatically at Windows startup and it creates shortcuts in the Start menu group for starting and stopping the Windows service manually If you use the zip archive on Windows you have to run the scripts provided in the archive for installing starting stopping and uninstalling the server as a Windows service If you start the server with the script LicenseServer bat licenseServer sh you can leave the default values for the parameters for the licenses folder and server port or you can set these two parameters to other values The default folder for the floating license file is 1icense server install dir license and the default TCP IP server port is 12346 To change the default values of the license server the following parameters have to be used e licenseDir followed by the path of the directory where the license files will be placed e port
486. sible help system from Sun Mi crosystems http java sun com products javahelp index html that enables developers and authors to incorporate online help in applets components applications operating systems and devices JavaHelp is a free product and the binaries for JavaHelp can be redistributed Eclipse Help Eclipse Help is the help system incorporated in the Eclipse platform http www eclipse org that enables Eclipse plugin developers to incorporate online help in their plugins Many other target formats are possible these are the most popular The basic condition for transformation to any format is that your source document is well formed Always make sure that the XSL used for the transformation is the right one according to the desired output format and with the input source definition For example if you want to transform to HTML format using a DocBook html stylesheet your source xml document should respect the DocBook DTD An XSL stylesheet specifies the presentation of a class of XML documents by describing how an instance of the class is transformed into an output document by using special formatting vocabulary XSL consists of three parts XSL Transformations XSLT XSLT is a language for transforming XML documents XML Path XPath Language XPath is an expression language used by XSLT to access or refer parts of an XML document XPath is also used by the XML Linking specification XSL Formatting Objects XSL FO XSL FO i
487. sionsSaxon saxonExt jar 277 Transforming documents An extension function called from the XSLT or XQuery file of the current transformation scenario will be searched in the specified extensions in the order of the list displayed in the dialog For changing the order of the items the user must select the item that must be moved to other position in the list and press the t up and down buttons Creating a Transformation Scenario Use the following procedure to create a scenario 1 Select XML gt Configure transformation scenario Alt Shift T C Cmd Alt T C on Mac OS to open the Configure Transformation dialog 2 Click the Duplicate Scenario button of the dialog to create a copy of the current scenario 3 Click in the Name field and type a new name 4 Click OK or Transform Now to save the scenario Transformation Scenarios view The list of transformation scenarios may be easier to manage for some users as a list presented in a dockable and floating view called Transformation Scenarios Figure 9 8 The Scenarios view amp Transformation Scenarios 3 Y Docbook 4 gt Docbook 5 Conversion Duplicate The actions available on the right click menu allow the same operations as in the dialog Configure Transformation Scenario creating editing executing duplicating and removing a transformation scenario XSL FO processors The lt oXygen gt installation package is distributed
488. sociation This involves putting together the CSS files the XML schemes actions menus etc bundling them and distributing an archive The CSS and the GUI elements are settings of the lt oXygen gt Author The other settings like the templates catalogs transformation scenarios are general settings and are enabled whenever the association is active no matter the editing mode Text Grid or Author We will discuss both approaches in the following sections Simple Customization Tutorial XML Schema Let s consider the following XML Schema test_report xsd defining a report with results of a testing session The report consists of a title few lines describing the test suite that was run and a list of test results each with a name and a boolean value indicating if the test passed or failed lt xml version 1 0 encoding UTF 8 gt lt XS schema xmlns xs http www w3 org 2001 XMLSchema gt lt xs element name report gt lt xs complexType gt lt xs sequence gt lt xs element ref title gt lt xs element ref description gt lt xs element ref results gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs element name title type xs string gt lt xs element name description gt lt xs complexType gt lt xs sequence maxOccurs unbounded gt lt xs element name line gt lt xs complexType mixed true gt lt xs sequence minOccurs 0 maxOccurs unbounded gt lt xs element name
489. sor position Figure 5 9 The Entities View E oxy oxygen XML Editor E quot The Author editor In order to view the XML file in Author view the XML document must be associated with a CSS file that defines the way the XML file is rendered The document can be edited as text the XML markup being hidden by default Navigating the document content Fast navigating the document content can be done using the Tab Shift Tab for advancing forward backwards The caret will be moved to the next previous editable position Entities and hidden elements will be skipped A left hand side stripe paints a vertical thin light blue bar indicating the vertical span of the element found at caret position Also a top stripe indicates the path from document root to the current element 88 Authoring in the tagless editor Figure 5 10 Top stripe in Editor view book chapter secti sect2 sect3 para figure title The last element is also highlighted by a thin light blue bar for easier identification Clicking one element from the top stripe selects the entire element in the Editor view Figure 5 11 The top stripe pop up menu Append child Insert before Insert after Cut Copy Paste Paste before Paste after Paste as Child X Delete I Toggle Comment Rename Element The Append child Insert before and Insert after submenus allow to quickly insert new tags in the document at the place of the selected
490. stylesheet Run a test transformation to make sure the PDF is generated Just like for the Docbook we have to specify to the stylesheet to generate FO output that uses the font Arialuni Click on the Parameters button of the transformation scenario edit dialog Enter the following parameters indicating the font for the body text and for other sections 283 Transforming documents Table 9 2 XSL FO Parameters Name Value bodyFont Arialuni sansFont Arialuni Make the transformation again The characters are now displayed correctly DITA OT Stylesheets For setting a font to the Apache FOP processor in the transformation of a DITA map with an IDIOM FOP transformation there are two files that must be modified e font mappings xml available in folder frameworks dita DITA OT demo fo cfg fo the font face element included in each element physical font having the attribute char set default must contain the name of the font Arialuni in our example instead of the default value e fop xconf available in folder frameworks dita DITA O0T demo fo fop conf an element font must be inserted in the element fonts which is inside the element renderer having the attribute mime application pdf as in the above fopConfiguration xml file for example lt renderer mime application pdf gt lt fonts gt lt font metrics url Arialuni xml kerning yes mbed url file Library Fonts Arialuni ttf gt
491. supported in lt oXygen gt Author The properties from the table below belong to the visual category 210 lt oXygen gt XML Editor Developer Guide Table 7 5 CSS Level 2 1 Properties and their support in lt oXygen gt Author Name Supported Values Not Supported Values background attachment ALL background color lt color gt inherit transparent background image ALL background position ALL background repeat ALL background ALL border collapse ALL border color lt color gt inherit transparent border spacing ALL border style lt border style gt inherit border top border right border bot lt border width gt lt border style gt border top tom border left color inherit border top color border right color lt color gt inherit transparent border bottom color border left color border top style border right style lt border style gt inherit border bottom style border left style border top width border right width lt border width gt inherit border bottom width border left width border width lt border width gt inherit border lt border width gt lt border style gt I border top color inherit bottom ALL caption side ALL clear ALL clip ALL color lt color gt inherit content normal none lt string gt lt uri gt lt counte
492. t xml version 1 0 encoding UTF 8 gt lt root xmlns nsp gt lt item xmlns id dty2 gt lt item xmlns id dty3 gt lt root gt 167 lt oXygen gt XML Editor Developer Guide insertLocation insertPosition An XPath expression that is relative to the current node It selects the reference node for the fragment insertion One of the three constants Inside After or Before showing where the insertion is made relative to the reference node selected by the insertLocation Inside has the meaning of the first child of the reference node The arguments of SurroundWithFragmentOperation fragment The XML fragment that will surround the selection Example 7 4 Surrounding with a fragment Let s consider the fragment lt F gt lt A gt lt A gt lt B gt lt C gt lt C gt lt B gt lt F gt And the document lt doc gt lt X gt lt X gt lt Y gt lt Y gt lt Z gt lt Z gt lt doc gt Considering the selected content that is to be surrounded is the sequence of elements X and Y then the result is lt doc gt lt F gt lt A gt lt X gt lt X gt lt Y gt lt Y gt lt A gt lt B gt lt C gt lt C gt lt B gt lt F gt lt Z gt lt Z gt lt doc gt Because the element A was the first leaf in the fragment it received the selected content The fragment was then inserted in the place of the selection Java API Extending Author Functionality th
493. t xpointerPath 0 charAt 0 191 lt oXygen gt XML Editor Developer Guide This is the case xpointerPathDepth else This is the case xpointerPathDepth startWithElementID when xpointer have the following pattern 1 5 7 xpointerPath length when xpointer starts with an element ID ls true The method startElement will be invoked at the beginning of every element in the XML document even when the element is empty The arguments it takes are uri localName qName atts the namespace URI or the empty string if the element has no namespace URI or if namespace processing is disabled the local name of the element the qualified name of the element the attributes attached to the element If there are no attributes it will be empty The method returns t rue if the processed element is found to be the one indicated by the link The XPointerElement Locator implementation of the startElement will update the depth of the current element and keep the index of the element in its parent If the xpointerPath starts with an element ID then the current element ID is verified to match the specified ID If this is the case the depth of the XPointer is updated taking account of the depth of the current element If the XPointer path depth is the same as the current element depth then the kept indices of the current element path are compared to the indices in the XPointer path If all of them match
494. t can be inserted in a specific context can be filtered using the filterElements method The SDFSchemaManagerFilter uses this method to replace the td child element with the th element when header is the current context element public Lis WhatElementsCanGo he ele ff TE E the the ContextE if hea for 1 CIE1 if lt CIElemen ment eleme eleme nt co td th leme der tera n n n tor lt CclI itera 1 men E gt PTE HereCo from equals co terElemen ntext context the current context m the list of conte ts List lt CIElement gt elements is th header element remov completion proposals and add fro n tElem x nt context g Element getQNam tElementStack peek 1 n x Eleme Lor ment it nt gt hasNex iterator eleme t 1 nts iterator Remove the car il equals ments remove rator next td element lement getQNam 0 4 break lement Insert the th element in the list of content completion proposals CIElement thElement new SDFElement thElement setName th elements add thElement retur n elements 189 lt oXygen gt XML Editor Developer Guide The elements or attributes values can be filtered using the filterElementValues or filterAttributeValues methods
495. t caret position Insert Graphic inserts a graphic object at the caret position This is done by inserting either lt figure gt or lt in linegraphic gt element depending on the current context The following graphical formats are supported GIF JPG JPEG BMP PNG and SVG 104 Predefined document types 5 Insert Ordered List inserts an ordered list with one list item Insert Itemized List inserts an itemized list with one list item Insert Variable List inserts a DocBook variable list with one list item Insert List Item inserts a new list item for in any of the above three list types Insert Table opens a dialog that allows you to configure the table to be inserted Figure 6 3 Insert Table Dialog Insert Table Model cals OHTML Title Table Size A A Rows 3 Columns 2 Generate table header Generate table footer Frame none v The dialog allows the user to configure the number of rows and columns of the table if the header and footer will be generated and how the table will be framed Also CALS or HTML table model can be selected Note Unchecking the Title checkbox an informaltable element will be inserted Insert Row inserts a new table row with empty cells The action is available when the caret position is inside a table Insert Column inserts a new table column with empty cells after the current column The action is ava
496. t file path where the signed XML document will be saved Open in editor If checked the output file will be opened in the editor Certificates A certificate is a digitally signed statement from the issuer an individual an organization a website or a firm saying that the public key and some other information of some other entity has a particular value When data is digitally signed the signature can be verified to check the data integrity and authenticity Integrity means that the data has not been modified Authenticity means the data comes indeed from the entity that claims to have created and signed it Certificates are kept in special repositories called Keystores A Keystore is an encrypted file that contains private keys and certificates All keystore entries key and trusted certi ficate entries are accessed via unique aliases An alias must be assigned for every new entry of either a key or certificate as areference for that entity No Keystore can store an entity if it s alias already exists in that Keystore and no KeyStore can store trusted certificates generated with keys in it s KeyStore In lt oXygen gt there are provided two types of keystores Java Key Store JKS and Public Key Cryptography Standards version 12 PKCS 12 A keystore file is protected by a password In a PKCS 12 keystore you should not store a certi ficate without alias together with other certificates with or without alias as in such a case the certificat
497. t is forced to be ASCII encoded and all non ASCII characters get escaped as XML character references amp nnnn form 371 Configuring the application Allow multiple output documents Use named URI resolver class Assembly file name for URI resolver class Assembly GAC name for URI resolv er class List of extension object class names Use specified EXSLT assembly Credential loading source xml Credential loading stylesheet FO Processors This option allows to create multiple result documents using the exs1 docu ment extension element http www exslt org exsl elements document index html This option allows to specify a custom URI resolver class to resolve URI refer ences in xsl import xsl include instructions during XSLT stylesheet loading phase and in document function during XSL transformation phase The previous option specifies partially or fully qualified URI resolver class name e g Acme Resolvers CacheResolver Such name requires addi tional assembly specification using this option or the next option but fully qualified class name which always includes an assembly specifier is all suffi cient See MSDN for more info about fully qualified class names http msdn microsoft com library default asp url library en us cpguide html cpconspecifyingfullyqualifiedtypenames asp This option specifies a file name of the assembly where the specified resolver class can be found This option specifi
498. t item i child element Insert Unordered List inserts an unordered list ul element with one list item li child element gt Insert Definition List inserts a definition list dl element with one list item a dt child element and a dd child element Insert List Item inserts a new list item for in any of the above two list types Insert Table opens a dialog that allows you to configure the table to be inserted 119 Predefined document types Figure 6 10 Insert Table Dialog Insert Table Y Caption Employees Table Size Rows 3 Columns 2 a Generate table header _ Generate table footer Frame above The dialog allows the user to configure the number of rows and columns of the table if the header and footer will be generated and how the table will be framed Insert Row inserts a new table row with empty cells The action is available when the caret position is inside a table ES lInsert Column inserts a new table column with empty cells after the current column The action is available when the caret position is inside a table Insert Cell inserts a new empty cell depending on the current context If the caret is positioned between two cells a new one will be inserted at caret s position If the caret is inside a cell then the new one will be created after the current cell Helete Column deletes the table column where the caret is located a Del
499. t make much sense individually and which cannot be validated in isolation due to interdependencies with the other modules A mechanism is needed to set the main module of the document which in fact must be validated when an imported module needs to be checked for errors A typical example is the chunking DocBook XSL stylesheet which has chunk xs1 as the main module and which imports a stylesheet module called param xs1 which only defines XSLT parameters and other modules called chunk common xsl and chunk code xs1 The module chunk common xs1 defines a named XSLT template with the name chunk which is called by chunk code xs1 The parameters defined in param xs1l are used in the other modules without being redefined Validation of chunk code xs1 as an individual XSLT stylesheet issues a lot of misleading errors referring to parameters and templates used but undefined which are only caused by ignoring the context in which this module is used in real XSLT transformations and in which it should be validated To validate such a module properly a validation scenario must be defined which sets the main module of the stylesheet and also the validation engine used to find the errors Usually this is the engine which applies the transformation in order to detect by validation the same errors that would be issued by transformation To define a validation scenario first open the Configure Validation Scenario dialog You do this with the Configure Validation
500. t oXygen gt are also used for the ANT transformation so if the transformation fails because it cannot connect to an external location you can check the HTTP Proxy Configuration DITA OT customization support Support for transformation customizations You can change all DITA transformation parameters to customize your needs See here for more details In addition you can specify a custom build file parameters to the JVM and many more for the transformation Using your own DITA OT toolkit from lt oXygen gt The DITA OT toolkit which comes with lt oXygen gt is located in the INSTALLATION_DIRECTORY frame works dita DITA OT directory You can configure another DITA OT toolkit directory for use in lt oXygen gt To do this you must edit the transformation scenario that you are using and in the Parameters tab change the dita dir parameter to your custom DITA OT install ation directory Also in the Advanced tab the Libraries button you have to add e the dost jar and resolver jar libraries as file paths that point to the libraries from your custom DITA OT installation directory e the installation directory of your custom DITA OT and the 1 ib subdirectory of that installation directory as directory paths Using your custom build file You can specify a custom build file to be used in DITA OT ANT transformations by editing the transformation scenario that you are using and in the Advanced tab change the Custom build file path
501. t of the row that holds the row number The inserted row will be below the selection Inserting a column into a table You can insert a column after the selected one using the action from the contextual menu Table Insert column The icon is Fa Clearing the content of a column You can clear all the cells from a column using the action from the contextual menu Table Clear content Adding nodes Using the contextual menu you can add nodes before after or as last child of the currently selected node The sub menus containing detailed actions are Insert beforeInsert afterAppend child Duplicating nodes A quicker way of creating new nodes is to duplicate the existing ones The action is available in the contextual menu Duplicate 262 Grid Editor Refresh layout When using drag and drop to reorganize the document the resulted layout may be different from the expected one For instance the layout may contain a set of sibling tables that could be joined together To force the layout to be re computed you can use the Refresh action The action is available in the contextual menu Refresh selected Start editing a cell value You can simply press ENTER after you have selected the grid cell Stop editing a cell value You can either press ENTER when already in cell editing To cancel the editing without saving in the document the current changes you have to press the ESC key Drag and Drop DnD in t
502. t the toolbar Author custom actions should be displayed when switching to the Author mode Right click in the application window upper part in the area that contains the toolbar buttons and check Author custom actions in the displayed menu if it is unchecked Open the Document Type edit dialog for the SDF framework and select on the Author tab Next click on the Toolbar label Figure 7 14 Configuring the Toolbar LS Available actions Current actions 2 Actions Name Description Toolbar 3 Menu Separator Toolbar separator insert section 4 Contextual menu Actions g Toolbar actions group insert table 5 Toolbar insert sect insert section 162 lt oXygen gt XML Editor Developer Guide The panel is divided in two sections the left side contains a list of actions while the right one contains an action tree displaying the list of actions added in the toolbar The special entry called Separator allows you to visually separate the actions in the toolbar Select the Insert section action in the left and the Toolbar label in the right then press the Add as child button Now select the Insert table action in the left and the Insert section in the right Press the e Add as sibling button When opening a Simple Documentation Framework test document in Author mode the toolbar below will be displayed at the top of the editor Figure 7 15 Author Custom Actions Toolbar Configuring the Main Menu
503. ta n A custom extensions bundle used for the Simple Document Framework ntTypelD Simple Documen m EX Listener createAuthor thor Aut tensions return new SDFAuthorExtensionStateListener solver thorTableCellSpanProvider thorTableColumnWidthProvider nsBundle ylesFilter Ele DefaultEleme r torProvider ntLocatorProvider horDnDListener Bundle t Framework document type document type public SchemaManagerFilter createSchemaManagerFilter retur n new SDFSchemaManagerFilter public ElementLocatorProvider createElementLocatorProvider return new DefaultElementLocatorProvider public AuthorDnDListener createAuthorAWTDndListener return new SDFAuthorDndListener public AuthorReferenceResolver createAuthorReferenceResolver return new ReferencesResolver public StylesFilter createAuthorStylesFilter return new SDFStylesFilter public AuthorTableCellSpanProvider createAuthorTableCellSpanProvider return new TableCellSpanProvider public AuthorTableColumnWidthProvider createAuthorTableColumnWidthProvider return new TableColumnWidthProvider ExtensionStateListener 240 lt oXygen gt XML Editor Developer Guide SDFSchemaManagerFilter java package simple documentation framework
504. ta and is necessary for giving the required permission to the command that starts stops the Windows service How to release a floating license To release a floating license key so that it can be registered for other user or for the cases when you do not have Internet access and you own also an individual license to which you want to switch from the floating license you do not have to disable or to uninstall the lt oXygen gt XML Author plugin All you have to do is to go to the main lt oXygen gt XML Author preferences panel press the Register button uncheck the Use a license server checkbox in the license registration dialog paste the individual license key and press OK in the dialog If you only want to stop using the lt oXygen gt XML Author plugin just uncheck the checkbox and press the OK dialog This will release the floating license and leave the plugin in the unregistered state License registration with a registration code If you have only a registration code and you want to register the associated license key you must request this license key by filling the registration code and other details associated with your license in a request form on the lt oXygen gt website The button Request license for registration code in the registration dialog available from menu Window gt Preferences oXygen Register opens this request form in the default Web browser on your computer Unregistering the license key Sometimes you need to un
505. ta sources from the Data Source combo box 3 Fill in the Connection Details XML DB URI URI to the installed Tamino engine User User name to access the Tamino database engine Password Password to access the Tamino database engine Database The name of the database to access from the Tamino database engine Choose the Select button to display all databases on the specified server in an addi tional dialog box You can then choose the desired database This feature works only with databases that have been created starting with version 4 2 1 In all other cases a message appears saying that a list of databases is not available Show system collections Check this if you want to see the Tamino system collections in the Database Explorer 4 Click OK 319 Working with Databases How to configure a Raining Data TigerLogic Connection Figure 12 15 The Connection Configuration Dialog Connection Name TigerLogic Connection Data Source TigerLogic Datasource x Connection details Host 10 0 0 5 Port 3408 User admin Password eo Database test 1 Goto Preferences gt Data Sources In the Connections panel click the New button 2 Enter a unique name for this connection and select one of the previously configured TigerLogic data sources from the Data Source combo box 3 Fill in the Connection Details Host Port User Password Database 4 Click OK The host na
506. tab Uncheck the Perform FOP option The FOP options are disabled Click Transform Now The transformation is started XHTML Output l Ze Change directory to oxygen frameworks docbook xsl xhtml Select docbook xs1 click Open The dialog closes Select the FOP tab Uncheck the Perform FOP option The FOP options are disabled 287 Transforming documents 5 Select the Output tab 6 In the Save As field enter the output file name relative to the current directory YourFileName html or the path and output file name C XFileDirectorylYourFileName html a If your pictures group b Specify the path are not located relative to the out location check the XHTML check box in the Show As to the folder or URL where the pictures are located 7 Click Transform Now The transformation is started Supported XSLT processors The lt oXygen gt distribution comes with the following XSLT processors Xalan 2 7 1 Saxon 6 5 5 Saxon 9 1 0 7 B Saxon 9 1 0 7 SA Xalan Java http xml apache org xalan j is an XSLT processor for transforming XML documents into HTML text or other XML document types It implements XSL Transform ations XSLT Version 1 0 and XML Path Language XPath Version 1 0 Saxon 6 5 5 http saxon sourceforge net saxon6 5 5 is an XSLT processor which imple ments the Version 1 0 XSLT and XPath with a number of powerful extensions This version of Saxon also includes many of the ne
507. tableCellsTagName if colWidths null amp amp tableElement null if colsStartOffset gt 0 amp amp colsEndOffset gt 0 amp amp colsStartOffset lt colsEndOffset authorDocumentController delete colsStartOffset colsEndOffset String xmlFragment createXMLFragment colWidths int offset Ls AuthorElement header tableElement getElementsByLocalName header if header null amp amp header length gt 0 Insert the cols elements before the header element offset header 0 getStartOffset if offset 1 throw new AuthorOperationException No valid offset to insert the columns width speci authorDocumentController insertXMLFragment xmlFragment offset private String createXMLFragment WidthRepresentation widthRepresentations StringBuffer fragment new StringBuffer String ns tableElement getNamespace for int i 0 i lt widthRepresentations length i WidthRepresentation width widthRepresentations i fragment append lt customcol String strRepresentation width getWidthRepresentation if strRepresentation null fragment append width width getWidthRepresentation if ns null amp amp ns length gt 0 fragment append xmlns ns X fragment append gt return fragment toString EN The following three
508. tableElement null if colsStartOffset gt 0 amp amp colsEndOffset gt 0 amp amp colsStartOffset lt colsEndOffset authorDocumentController delete colsStartOffset colsEndOffset String xmlFragment createXMLFragment colWidths int offset 1 AuthorElement header tableElement getElementsByLocalName header if header null amp amp header length gt 0 Insert the cols elements before the header element offset header 0 getStartOffset if offset 1 244 lt oXygen gt XML Editor Developer Guide throw new AuthorOperation authorDocumentController i Creates the XMI param widthRepresen return The XMI Ki private String createXMI StringBuffer frag nsertXMLFragment xmlFragment offset L fragment representing the column specifications tions nt as a string ta L fragme LFragment WidthRepresentation new StringBuffer ment String ns tableElement getNamespace for int i 0 i lt widthRepresentations length i WidthRepresentation width widthRepresentations i fragment append lt customcol String strRepresentation width getWidthRepresentation if strRepresentation null fragment append width width getWidthRepresentation if ns null amp amp ns length gt 0 fragment append xmlns
509. tails area URL User Password Host Port XML DB URI Database Collection Environment home directory Verbosity The URL used to connect Provide the database user Provide the database password Provide the host address Provide a port to connect Provide the database URI to connect Provide the initial database Select one of the available collections for the specified data source Specify the home directory for a Berkeley database Set the verbosity level for a Berkeley database Edit Opens the Connection dialog allowing you to edit the selected connection See above the specifications for the Connection dialog Delete Deletes the selected connection Download links for database drivers You can find below the locations where you have to go to get the drivers necessary for accessing databases in lt oXygen gt 381 Configuring the application Berkeley DB XML database IBM DB2 Pure XML database eXist database MarkLogic database Microsoft SQL Server 2005 2008 database Oracle 11g database PostgreSQL 8 3 database RainingData TigerLogic XDMS database SoftwareAG Tamino database Documentum xDb X Hive DB XML database MySQL database Copy the jar files from the Berkeley database install directory to the lt oXygen gt install directory as described in the procedure for configuring a Berkeley DB data source Go to the IBM website http www 306 ibm com software
510. tches the document type association where the extensions bundle is defined The instantiated filter object is kept and used until another extensions bundle corresponding to another Document Type is activated as result of the detection process public StylesFilter createAuthorStylesFilter return new SDFStylesFilter See the Configuring CSS styles filter section for more details about the styles filter extension In order to edit data in custom tabular format implementations of the ro sync ecss extensions api Au thorTableCellSpanProviderandthe ro sync ecss extensions api AuthorTableColum nWidthProvider interfaces should be provided The two methods from the ExtensionsBundle specifying these two extension points are createAuthorTableCellSpanProvider and createAuthorTable ColumnWidthProvider public AuthorTableCellSpanProvider createAuthorTableCellSpanProvider return new TableCellSpanProvider public AuthorTableColumnWidthProvider createAuthorTableColumnWidthProvider return new TableColumnWidthProvider The two table information providers are not reused for different tables The methods are called for each table in the document so new instances should be provided every time Read more about the cell span and column width information providers in Configuring a Table Cell Span Provider and Configuring a Table Column Width Provider sections If the functionality related to one of the previous ext
511. te Documents via FTP SFTP oooocococcnccnnccnnccnnconoconccnnconnccnnccnnccnnccnncos 24 Changing file permissions on a remote FTP Server oocoooccnoconoconccnnccnnncnncnnnrnnccnnconnconnccnnioos 26 Opening the current document in a Web browser ocoooccnccnnccnnconnconnconnconnconncnnnonoronconccnncinncinnions 27 AS A ON 27 Viewing fil properties a A AA ee 27 Editing XML document ss risers rindan a dea culsshotead ssctsaeasseossoanevdeeugess cos sg Seesaw nderevteags ens 28 lil lt oXygen gt XML Author 10 3 User Manual for Eclipse Associate a schema toa document sss ose sacs ede pea eea ede edoren emacs op ENE EENS E restan tner 28 Setting a schema for the Content Completion ooocooccnncnnncnnccnnccnnconnccnnccnncnnnconncnnncnnncnnnonose 28 Setting a default schema imise tye sites tree aE gees O aces ie seers EEE NR 28 Adding a Processing Instruction ooooooccnnconoconoconconoconocnncnnncnnncnnconnccnnccnnconnconncnnnoos 29 Learning document strictis pene ea E R EE veley traido EREE 30 Streamline with Content Completion 0c e a E E E N T E S 30 Code O 34 Content Completion helper panels ooocoooconocnnccnnccnnonnncnnncnnncnnccnnconnccnnoconccnnconncnnncnnncnnnes 34 The Model panel Seedri aa N E na E ER TEPES EEE 34 The Element Structure panel roest honol n er aT E E E RES 34 Lhe Annotation panel ssie ti doi iii han a a E A aaa sr e Tan 35 The Attributes panel icc none n R E ceeds a TE N EEO E EE EEE
512. than one row The row span of the source cell will be decreased with one Split Cell Below splits the cell from current caret position in two inserting a new empty table cell below Note that this action works only if the current cell spans over more than one row The row span of the source cell will be decreased with one All actions described above are available in the contextual menu main menu XHTML submenu and in the Author custom actions toolbar Templates Default templates are available for XHTML They are stored in frameworksDir xhtml templates folder and they can be used for easily creating basic XHTML documents These templates are available when creating new documents from templates XHTML 1 0 Strict New Strict XHTML 1 0 XHTML 1 0 Transitional New Transitional XHTML 1 0 XHTML 1 1 DTD Based New DTD based XHTML 1 1 XHTML 1 1 DTD Based Math New XHTML 1 1 with MathML and SVG insertions ML 2 0 SVG 1 1 XHTML 1 1 Schema based New XHTML 1 1 XML Schema based Catalogs There are three default catalogs for XHTML document type frameworks xhtml dtd xhtmlcatalog xml frame works xhtml1 I dtd xhtmlcatalog xml and frameworks xhtml1 1 schema xhtmlcatalog xml Transformation Scenarios The following default transformation scenarios are available for XHTML XHTML to DITA concept converts an XHTML document to a DITA concept document XHTML to DITA reference converts an XHTML document t
513. that contains the catalog Save the catalog file and modify the sdf xsd file by changing its import element then add the catalog to the Document Type association You can do this in the Catalogs tab by pressing the New button Enter frame works sdf catalog xml in the displayed dialog Figure 7 28 Adding Catalogs to the Document Type Association Catalogs frameworks sdf catalog xml To test the catalog settings restart lt oXygen gt and try to validate a new sample Simple Documentation Framework document There should be no errors 180 lt oXygen gt XML Editor Developer Guide Configuring Transformation Scenarios When distributing a framework to the users it is a good idea to have the transformation scenarios already configured This would help the content authors publish their work in different formats Being contained in the Document Type Association the scenarios can be distributed along with the actions menus toolbars catalogs etc In the following section we will create a transformation scenario for our framework Create the directory xs 1 in the directory frameworks sdf The directory structure for our documentation framework should be oxygen frameworks sdf schema css templates xsl Create the sdf xs1 file in the xs1 directory The complete content of the sdf xs1 file is found in the Example Files Listings Open the Options Preferences Document Type Associations Open the Document
514. the Grid Editor xmins xs http vAwww w3 org 2001 MLSchema xs element name type 8 rows 1 personnel 2 person amame 4 family xs string 5 given xs string 6 email xs string 7 url A 8 link p xsischema 1 xs element 3 xs comples Typal Wes all 1 xs element 1 ill p xs schema 1 xs element 3 xs complexType 1 xs all 1 xs element 2 ref given xsischema 1 xs element 4 name Family type xs string E Note XPath 2 0 basic queries are executed using Saxon 9 B engine XPath 2 0 schema aware queries are executed using Saxon 9 SA engine 294 Querying documents The popup menu of the history list of the XPath dialog contains the action Remove for removing the selected expression from the history list Example 10 1 XPath Utilization with DocBook DTD Our example is taken from a DocBook book based on the DocBook XML DTD The book contains a number of chapters DocBook defines that chapters as have a lt chapter gt start tag and matching lt chapter gt end tag to close the element To return all the chapter nodes of the book enter chapter into the XPath expression field then Enter This will return all the chapter nodes of the DocBook book in the Message Panel If your book has six chapters their will be six records in the result list Each record when clicked will locate and highlight the chapter and all sibling nodes contained between the start and end tags of the chapter If we used XPath
515. the nth child element of the previously located element lt li gt NCNam starting from the element located by the given name lt li gt lement element1D 3 4 A child sequence appearing after an identifies an element by means of stepwise navigation public class XPointerElementLocator extends ElementLocator pk Logger for loggi 47 ng private static Logger logger Logger getLogger XPointerEle mentLocator class getName 253 lt oXygen gt XML Editor Developer Guide Verifies if a given attribute is of a type ID ws private IDTypeVerifier idVerifier XPointer path the path to locate the linked element ES private String xpointerPath The stack with indexes in parent of the current iterated elements a private Stack currentElementIndexStack new Stack pk The number of elements in xpointer path Y private int xpointerPathDepth pk If true then the XPointer path starts with an element ID ay private boolean startWithElementID false pk The depth of the current element in document incremented in startElement ef private int startElementDepth 0 pk Depth in document in the last endElement event eh private int endElementDepth 0 The index in parent of the previous iterated element Set in endElement xy private int lastIndexInParent
516. the output file name relative to the current directory YourFileName html or the path and output file name C FileDirectory YourFileName html a If your pictures are not located relative to the out location check the XHTML check box in the Show As group b Specify the path to the folder or URL where the pictures are located Click Transform Now The transformation is started HTML Help Output 1 2 Change directory to oxygen frameworks docbook xsl htmlhelp Select htmlhelp xs1 click Open The dialog closes Set the XSLT parameter base dir it identifies the output directory If not specified the output directory is system dependent Also set the manifest in base dir to 1 in order to have the project files copied in output as well Select the FOP tab Uncheck the Perform FOP option The FOP options are disabled Click Transform Now The transformation is started At the end of the transformation you should find the html hhp and hhc files in the base dir directory Download Microsoft s HTML Help Workshop and install it Apply the HTML Help compiler called hhc exe on the html hhp and hhc files in the base dir directory Java Help Output 1 2 Change directory to oxygen frameworks docbook xsl javahelp Select javahelp xs1 click Open The dialog closes Set the XSLT parameter base dir it identifies the output directory If not specified the output directory is system dependent Select the FOP
517. the referred resource you can use the Refresh references action Please note that the content of the expanded external entities can only be refreshed by using the Reload action Finding and replacing text The Find Replace dialog can be used in the Author page in the same way as in the Text page These limitations can be compensated by using the Find All Elements dialog Contextual menu More powerful support for editing the XML markup is offered via actions included in the contextual menu Two types of actions are available generic actions actions that not depends on a specific document type and document type actions actions that are configured for a specific document type Figure 5 16 Contextual menu Edit Attributes Alt Shift Enter Cut Ctrl Copy Ctrl C m Paste Ctrl V Paste as XML Select Refactoring Insert Entity Open File at Caret F3 Emphasize Link i Im Insert Section Insert Paragraph Ctrl Shift P Insert Graphic El a w List Table E iii Generate IDs Options The generic actions are e Cut Copy Paste common edit actions with the same functionality as those found in the text editor e Paste As XML similar to Paste operation except that the clipboard s content is considered to be XML e Select contains the following actions e Select gt Select Element selects the entire element at the current caret position 92 Authoring in the tagless edito
518. the source topic file The Target combo box shows all available topics that can be targeted in the file Selecting a target modifies the Href value to point to it The Format and Scope combos are automatically filled based on the selected file You can specify and enforce a custom navigation title by checking the Navigation title checkbox and entering the desired title The file chooser located in the dialog allows you to easily select the desired topic The selected topic file will be added as a child sibling of the current selected topic reference You can easily insert multiple topic references by keeping the dialog opened and changing the selection in the DITA Maps Manager tree You can also select multiple resources in the file explorer and then insert them all as topic references Another easy way to insert a topic reference is to directly drag and drop topic files from the Oxygen Project or the Explorer right in the DITA Maps tree Inserting a Topic Heading The topichead element provides a title only entry in a navigation map as an alternative to the fully linked title provided by the topicref element A topic heading can be inserted both from the toolbar action and the contextual node actions 68 Editing documents Figure 4 44 Insert Topic Heading Dialog Insert Topic Heading Element name topichead v Attributes Navigation title My daily tasks Type Format Scope Collection t
519. their default values by using the Restore Defaults button available in each preference page A restricted version of the Preferences dialog is available at any time in editors of the lt oXygen gt plugin by right clicking in the editor panel and selecting Preferences Figure 15 1 Eclipse Preferences dialog restricted version Preferences editor Ex Editor General Appearance color options t Ant Editor background Java Completion proposal background oxy Completion proposal Foreground Documentation window background Documentation window foreground Plug in Development Team C Line wrap disables folding Y Highlight matching tag Y Enable Folding when opening a new editor Minimum fold range only For XML Restore Defaults Apply Global The Global preferences panel is opened from menu Window Preferences gt Author 336 Configuring the application Figure 15 2 The Global preferences panel Author lt oXygen gt XML Editor 9 2 build 2008041711 License Licensed to user Company Category Enterprise Number of licenses 1 SGN MCWCFGYFOSGLGG I bSEzxQouBwriMg aAhRpUQ2080 License This panel presents the data of the license key which enables the lt oXygen gt XML Author plugin registration name category and number of purchased li censes encrypted signature of the license key Clicking on
520. ther language you have to translate all the messages and labels available in the user interface menu action names button names checkbox texts view titles error messages status bar messages etc and provide a text file with all the translated messages to lt oXygen gt in the form of a Java properties file Such a file contains pairs of the form message key translated message displayed in the user interface In order to install the new set of translated messages you must copy this file to the oXygen install folder lib folder restart lt oXygen gt and set the new language in the lt oXygen gt preferences You can get the keys of all the messages that must be translated from the properties file containing the English translation used in lt oXygen gt To get this file contact us at support oxygenxml com Handling read only files If a file marked as read only by the operating system is opened in lt oXygen gt you will not be able to make modifications to it regardless of the page the file was opened in You can check out the read only state of the file by looking in the Properties view If you modify the file s properties from the operating system and the file becomes writable you will be able to make modifications to it on the spot without having to reopen it 81 Chapter 5 Authoring in the tagless editor Authoring XML documents without the XML tags Once the structure of the XML document and the required restrictions on the e
521. this dialog you can specify the elements for which lt oXygen gt should generate an ID You can choose to automat ically generate an ID for these elements by selecting Auto generate ID s for elements You can choose a pattern for the generated ID using the field ID Pattern If the element already has an ID this ID is preserved All actions described above are available in the contextual menu main menu TEI P4 submenu and in the Author custom actions toolbar Templates Default templates are available for XHTML They are stored in frameworksDir tei templates TEI P4 folder and they can be used for easily creating basic TEI P4 documents These templates are available when creating new documents from templates TEI P4 Lite New TEI P4 Lite TEI P4 New Document New TEI P4 standard document Catalogs There are two default catalogs for TEI P4 document type frameworks tei xmI teip4 schema dtd catalog xml and frameworks tei xml teip4 custom schema dtd catalog xml Transformation Scenarios The following default transformations are available TEI HTML transforms a TEI document into a HTML document TEI P4 gt TEI P5 Conversion convert a TEI P4 document into a TEI P5 document 125 Predefined document types TEI PDF transforms a TEI document into a PDF document The TEI P5 document type Customization for TEI PS is similar with that for TEI P4 with the following exceptions Association rules A f
522. this section for more details Editing CSS stylesheets lt oXygen gt provides special support for developing CSS stylesheet documents Validating CSS stylesheets lt oXygen gt includes a built in CSS validator integrated with the general validation support This brings the usual val idation features to CSS stylesheets Content Completion in CSS stylesheets A content completion assistant similar to the one of XML documents offers the CSS properties and the values available for each property It is activated on the CTRL Space shortcut and it is context sensitive when it is invoked for the value of a property Figure 4 54 Content Completion in CSS stylesheets quote color 000066 E azimuth A The background property is a shorthand property For setting E background the individual background properties i e background color E background attachment background color background image background repeat background attachment background image and background position at the same place in the style sheet df backgroundk positio The background property first sets all the individual bi C E P background properties to their initial values then assigns background repeat explicit values given in the declaration E border M background color white margin left 100px text align center 79 Editing documents The properties and the values offered as proposals ar
523. thor Track Changes preferences panel is opened from menu Window Preferences gt Author Editor Au thor Track Changes Figure 15 9 The lt oXygen gt Track Changes preferences panel Track Changes Author John Doe Inserted content color O Auto Custom Deleted content color O Auto D Custom Author The name of the user who performs the changes when Change Tracking is active for a given editor This information will be associated with each performed change Inserted content color Auto Automatically assign colors for the insert changes based on the Author name 343 Configuring the application Custom Use a custom color for all insert changes regardless of the Author name Deleted content color Auto Automatically assign colors for the delete changes based on the Author name Custom Use a custom color for all delete changes regardless of the Author name Messages Figure 15 10 The Author s Messages preferences panel Messages ae v Delete tag action O Always join O Always unwrap Always ask When opening a reference from the DITA Map Manager O Always open in Author mode O Always open in text mode Always ask C show author page warning Delete tag action Specifies the default behavior when you delete the start or end marker of an element You can choose between e Always ask e Always join e Always unwrap You can read more about this in Editing the XML ma
524. tion title is expected Undo the tag name change Press on the Author button at the bottom of the editing area lt oXygen gt should load the CSS from the document type association and create a layout similar to this document book section para E a e My Technical Book PXML 4 Definition Pextensible Markup Language In this section of the book 1 will explain different XML applications x vw Text Grid Author Packaging and Deploying Using a file explorer go to the lt oXygen gt frameworks directory Select the sdf directory and make an archive from it Move it to another lt oXygen gt installation eventually on another computer Extract it in the frameworks directory Start lt oXygen gt and test the association as explained above If you create multiple document type associations and you have a complex directory structure it might be easy from the deployment point of view to use an lt oXygen gt all platforms distribution Add your framework files to it repackage it and send it to the content authors 157 lt oXygen gt XML Editor Developer Guide Warning When deploying your customized sdf directory please make sure that your sdf directory contains the sdf framework file that is the file defined as External Storage in Document Type Association dialog shall always be stored inside the sdf directory If your external storage points somewhere else lt oXygen gt will not be able to
525. tion defined by this row of the table is applied also by the Validate as you type feature If the Validate as you type feature is disabled in Preferences then this option does not take effect as the Preference setting has higher priority 44 Editing documents Extensions A list of Java jar files or classes which implement extensions of the language of the current module For example when the current module is an XSLT stylesheet an ex tension jar contains the implementation of the XSLT extension functions or the XSLT extension elements used in the stylesheet which includes the current module A row of the table is created or edited in the following dialog Figure 4 27 Edit a Validation Unit Edit validation unit URL _ 4 frameworks docbook xs html chunk xs la la 2 Engine type Saxon6 5 5 Validate as you type Extensions 1 The components of the dialog are the same as the columns of the table displayed in the scenario edit dialog The URL of the main module can be specified with the help of a file browser for the local file system the EY button with the help of the Open FTP SFTP WebDAV dialog opened by the B button or by inserting an editor variable from the following pop up menu Figure 4 28 Insert an editor variable Frameworks Oxygen frameworks directory URL oxygenHome Oxygen installation directory URL home The path to user home directory URL pdu Pro
526. tion for the given specialization 78 Editing documents The topic titles rendered in the DITA Maps Manager are collected from the target files by matching the class attribute and not a specific element name When editing DITA specializations of maps in the main editor the insertions of topic reference topic heading topic group and conref actions should work without modification For the table actions you have to modify each action by hand to insert the correct element name at caret position You can go to the DITA Map document type from the Document Type Association page and edit the table actions to insert the element names as specified in your specialization See this section for more details Support for editing DITA Topic specializations In addition to recognizing the default DITA topic formats topic task concept reference and composite topic special izations can also be edited in the Author page The Content Completion should work without additional modifications and you can choose the tags which are allowed at the caret position The CSS styles in which the elements are rendered should also work on the specialized topics without additional modifications The toolbar menu actions should be customized to insert the correct element names if this is the case You can go to the DITA document type from the Document Type Association page and edit the actions to insert the element names as specified in your specialization See
527. tion in the schema and that schema is of the type XML Schema lt oXygen gt seeks an annotation in the type definition of the element attribute or if no an notation is found there in the parent type definition of that definition etc In a Relax NG schema any element outside the Relax NG namespace http relaxng org ns structure 1 0 is handled as annotation and the text content is displayed in the annotation window together with the content completion window For NVDL schemas annotations for the elements attributes in the referred schemas XML Schema RNG etc are presented Figure 4 16 Schema annotations displayed at Content Completion lt start gt lt element name startElem gt lt element gt lt ref name startElementRef gt lt choice gt lt start gt lt define name startElementRef b lt define gt This attribute specifies how multiple definitions of a pattern combine named pattern or start pattern should be combined The Ma datatypeLibrary possible values are choice and interleave When the combine Ens attribute is specified and set to choice multiple definitions of a pattern are combined in a choice pattern When the combine attribute is specified and set to interleave multiple definitions of a pattern are combined in an interleave pattern Note that it s forbidden to specify more than one define with the same name and no combine attribute or multiple defines with different values of the combine
528. tivation when another framework is activated for the same document the user switches to another page or the editor is closed A complete description and implementation of an ro sync ecss extensions api AuthorExtensionStateListener can be found in the Imple menting an Author Extension State Listener 184 lt oXygen gt XML Editor Developer Guide Customizations of the content completion proposals are permitted by creating a schema manager filter extension The interface that declares the methods used for content completion proposals filtering is ro sync content completion xml SchemaManagerFilter The filter can be applied on elements attributes or on their values Responsible for creating the content completion filter is the method createSchemaManagerFilter Anew SchemaManagerFilter will be created each time a document matches the rules defined by the Document Type Association which contains the filter declaration public SchemaManagerFilter createSchemaManagerFilter return new SDFSchemaManagerFilter A detailed presentation of the schema manager filter can be found in Configuring a Content completion handler section The lt oXygen gt Author supports link based navigation between documents and document sections Therefor if the document contains elements defined as links to other elements for example links based on the id attributes the extension should provide the means to find the referred content To do th
529. to point to the custom build file Customizing the lt oXygen gt Ant tool The ANT 1 7 tool which comes with lt oXygen gt is located in the INSTALLATION_DIRECTORY tools ant directory Any additional libraries for ANT must be copied to the lt oXygen gt ANT 1ib directory 77 Editing documents Example 4 8 Enabling JavaScript in ANT build files If you are using Java 1 6 to run lt oXygen gt the ANT tool should need to additional libraries to process JavaScript in build files If you are using Java 1 5 you have to copy the bsf jar http jakarta apache org bsf and js jar http www mozilla org rhino download html libraries in the lt oXygen gt ANT 1ib directory Upgrading to a new version of DITA OT The DITA OT framework bundled in lt oXygen gt is located in the INSTALLATION_DIRECTORY frame works dita DITA OT directory Important There are a couple of modifications made to the DITA OT framework which will be overwritten if you choose to copy the new DITA OT version over the bundled one The DTD s in the framework have been enriched with documentation for each element If you overwrite you will lose the documentation which is usually shown when hovering an element or in the Model View The IDIOM FO Plugin comes pre installed in the bundled DITA OT framework Several build files from the IDIOM plugin have been modified to allow transformation using the lt oXygen gt Apache Built in FOP libraries
530. tore file Represents the location of the file to be imported Keystore password The password which is used to protect the privacy of the stored keys Certificate alias The alias to be used to store the key entry the certificate and or the private key inside the keystore Private key password It is only necessary in case of JKS keystore It represents the certificate s private key password Validate Verifies the entries from the fields assures that the certificate is valid Scenarios Management The Scenarios Management preferences panel is opened from menu Window Preferences gt Author Scenarios Management Figure 15 58 The Scenarios Management preferences panel Scenarios Management Import Global Transformation Scenarios Export Global Transformation Scenarios Import transformation scenarios Allows you to import all transformation scenarios from a scenarios properties file Their names will appear in the Configure Transformation Scenario dialog followed by import This way there are no scenarios names conflicts 386 Configuring the application Export transformation scenarios Allows you to export all transformation scenarios available in the Configure Transformation Scenario dialog Outline The Outline preferences panel is opened from menu Window gt Preferences gt Author Outline Figure 15 59 The Outline preferences panel Outline tes Preferred attribute names for display na
531. tp cogsci ed ac uk pub XSV XSV 3 1 1 noarch rpm The executable path is configured already in lt oXygen gt for the installation directory oXygen install dir xsv If it is installed in a different directory the predefined executable path must be corrected in Preferences Itis associated to XML Editor and XSD Editor Itis able to validate the edited document against XML Schema or a custom schema type not included in lt oXygen gt It can be downloaded from here http www alphaworks ibm com tech xmlsqc opengzl xml dev t grx p shecheck 1t comes as a zip file at the time of this writing SQC2 2 1 zip is about 3 megabytes The executable path and working directory are configured already for the SQC installation directory oXygen install dir sqc If it is 42 Editing documents installed in a different directory the predefined executable path and working directory must be corrected in Preferences It is associated to XSD Editor Intel XML Software Suite not included in lt oXygen gt Before you can use this validator you must install the Intel XML Software Suite and configure it in the lt oXygen gt preferences It is associated to XML Editor and XSD Editor It can validate an XML Schema schema and an XML document against a DTD or against an XML Schema schema Linked output messages of an external engine The output messages of the validation engines are displayed in an output view at the bottom of the lt oXygen gt win
532. tribute present in the XML document on which the pretty print operation is applied always takes precedence over the Preserve space elements XPath and the Strip space elements XPath lists 58 Editing documents Viewing status information Status information generated by the Schema Detection Validation Validate as you type and Transformation threads are fed into the Console view allowing the user to monitor how the operation is being executed Messages contain a timestamp the name of the thread that generated it and the actual status information The number of displayed messages in the console view can be controlled from the options panel XML editor specific actions lt oXygen gt offers groups of actions for working on single XML elements They are available from the On Windows the context menu can be displayed with the mouse on a right click or with the keyboard by pressing the special context menu key available on Windows keyboards Edit actions e Turns on line wrapping in the editor panel if it was off and vice versa It has the same effect as the Line wrap preference e contextual menu of current editor gt Toggle comment Ctrl Comment the current selection of the current editor If the selection already contains a comment the action removes the comment from around the selection If there is no selection in the current editor and the cursor is not positioned inside a comment the current line is commented If the
533. ttributes are shown along with any restrictions they might possess 34 Editing documents Figure 4 18 The Element Structure panel Et Model 23 e lt xs complexType gt Namespace http fwwwy w3 org 2001 XMLSchema Content element only Attributes name string Required true Whitespace collapse Pattern Citc amp i i e i mixed boolean abstract boolean final Union block Union Did ID Model xs annotation 0 1 xs simpleContent xs complexContent xs group xs all xs choice xs sequence 0 1 xs attribute xs attributeGroup 0 UNBOUNDED xs anyAttribute 0 1 The Annotation panel The Annotation panel shows the annotations that are present in the used schema for the currently edited or selected tag This information can be very useful to persons learning XML because it has small available definitions for each used tag Figure 4 19 The Annotation panel Defines a top level complex type Complex Type Definitions provide For i Constraining element information items by providing Attribute Declarations governing the appearance and content of attributes Constraining element information item children to be empty or to conform to a specified element only or mixed content model or else constraining the character information item children to conform to a specified simple type definition x The Attributes panel
534. tual menu 2 Actions Contextual menu 3 Menu Table 4 Contextual me Submenu Submenu E Insert table 5 Toolbar Clients report Clients report Insert Section Insert image Insert image Insert Section Insert a section t Insert table Insert table lt gt To test it open the test file and click to open the contextual menu In the lower part there is shown the Table sub menu and the Insert section action Figure 7 20 Author Contextual Menu Paste Ctrl Paste as XML gt I Toggle Comment Ctrl Refactoring gt Insert Entity Content Assistant Ctri Space Select Open File at Cursor F3 Table Insert Section Author Default Operations Below are listed all the operations and their arguments InsertFragmentOperation Inserts an XML fragment at the current cursor position The selection if there is one remains unchanged The fragment will be inserted in the current context of the cursor position That means that if the current XML document uses some namespace declarations then the inserted fragment must use the same declara tions The inserted fragment will not be copied and pasted to the cursor position but the namespace declarations of the fragment will be adapted if needed to the existing namespace declarations of the XML document Examples of namespace adjusting when the fragment is inserted and the descriptions of the arguments are described here InsertOrReplaceF
535. tus bar 3 Select menu Document XML Document Save Structure Ctrl Shift S to display the Save Structure dialog used to name and create DTD documents learnt by the Learn Structure function Note The resulting DTD is only valid for documents containing the elements and structures defined by the document used as the input for creating the DTD If new element types or structures are defined in a document they must be added to the DTD in order for successful validation Streamline with Content Completion lt oXygen gt s intelligent Content Completion feature is a content assistant that enables rapid in line identification and insertion of structured language elements attributes and in some cases their parameter options 30 Editing documents Figure 4 14 Content Completion Assistant lt xs sequence gt lt xs element ref name gt lt xs element ref email minOccurs 0 ma curs unbounded gt lt xs element ref url minOccurs 0 ma unbounded gt lt xs element rez 1ink minOccurs 0 maxOccurs 1 gt Specifies the value of the block attribute on this element The block attribute prevents an element that has a specified type of derivation from being used in place of this element This value can contain all or a list that is a subset of extension restriction or substitution lt xsisequence gt a block lt xs attribute na default lt xs annotati hfixed lt xs docu ram lt xs an
536. u E Insert table 5 Toolbar Clients report Clients report Insert Section Insert image Insert image Insert Section Insert a section t Insert table Insert table When opening a Simple Documentation Framework test document in Author mode the menu we created is displayed in the editor menu bar between the Debugger and the Document menus In the menu we find the Table submenu and the two actions Figure 7 18 Author Menu SDF Framework Window Help Table gt Insert table Ctrl Shift T Insert Section S Note The shortcut of an action defined for the current document type is enabled only if the action is added to the main menu Otherwise the author can run the action only from the toolbar Configuring the Contextual Menu The contextual menu is shown when you right click on Mac OS X it is used the combination ctrl and mouse click in the Author editing area In fact we are configuring the bottom part of the menu since the top part is reserved for a list of generic actions like Copy Paste Undo etc Open the Document Type dialog for the SDF framework and click on the Author tab Next click on the Contextual Menu label Follow the same steps as explained above in the Configuring the Main Menu except changing the menu name the contextual menu has no name 164 lt oXygen gt XML Editor Developer Guide Figure 7 19 Configuring the Contextual Menu 1 C55 Actions Contex
537. ubdirectory of the lt oXygen gt install directory CSS The default CSS options for the XHTML document type are set to merge the CSSs specified in the document with the CSSs defined in the XHTML document type Author extensions The CSS file used for rendering XHTML content is located in frameworks xhtml css xhtml css Specific actions are B Bold changes the style of the selected text to bold by surrounding it with b tag Z Ttalic changes the style of the selected text to italic by surrounding it with i tag U Underline changes the style of the selected text to underline by surrounding it with u tag Note For all of the above actions if there is no selection then a new specific tag will be inserted These actions are available in any document context H Headings groups actions for inserting h1 h2 h3 h4 h5 h6 elements T Insert Paragraph inserts a new paragraph depending on the current context If current context is a paragraph context one of the ancestors of the element at caret position is p then a new paragraph will be inserted after the paragraph at caret Otherwise a new paragraph is inserted at caret position as lInsert Graphic inserts a graphic object at the caret position This is done by inserting an mg element regardless of the current context The following graphical formats are supported GIF JPG JPEG BMP PNG and SVG Insert Ordered List inserts an ordered list ol element with one lis
538. uctions from the XML document are processed together as being all a list of processing instructions lt oXygen gt Author fully implements the W3C recommendation regarding Associating Style Sheets with XML docu ments For more information see http www w3 org TR xml stylesheet http www w3 org TR REC html40 present styles html h 14 3 2 156 lt oXygen gt XML Editor Developer Guide Testing the Document Type Association To test the new Document Type create an XML instance that is conforming with our Simple Document Format We will not specify an XML Schema location directly in the document using an xsi schemaLocation attribute lt oXygen gt will detect instead its associated document type and use the specified schema lt book xmlns http www oxygenxml com sample documentation xmlns abs http www oxygenxml com sample documentation abstracts gt lt title gt My Technical Book lt title gt lt section gt lt title gt XML lt title gt lt abs def gt Extensible Markup Language lt abs def gt lt para gt In this section of the book I will explain different XML applications lt para gt lt section gt lt book gt When trying to validate the document there should be no errors Now modify the title to title2 Validate again This time there should be one error cvc complex type 2 4 a Invalid content was found starting with element title2 One of http www oxygenxml com sample documenta
539. ulink url before link attr url content Click to open attr url olink targetdoc before link attr targetdoc content Click to open attr targetdoc lt oXygen gt Custom CSS functions In lt oXygen gt Author there are implemented a few lt oXygen gt specific custom CSS functions Imbricated custom functions are also supported Example 7 10 Imbricated functions The result of the functions below will be the local name of the current node with the first letter capitalized capitalize local name The local name function This function evaluates the local name of the current node It does not have any arguments The name function This function evaluates the qualified name of the current node It does not have any arguments The url function This function evaluates the URL of a location relative to the CSS file location and appends each of the relative path components to the final location url location loc_1 loc_2 1 location loc_ 1 loc_2 location The location as string If not absolute will be solved relative to the CSS file URL loc_1 loc_n Relative location path components as string optional 221 lt oXygen gt XML Editor Developer Guide The base uri function This function evaluates the base URL in the context of the current node It does not have any arguments and takes into account the xml base context of the current node See th
540. ult aii inet 132 Catalogs it E ra toi a 132 Transformation Scenarios cece cece cence nce ec e a ec eeeeneceeaeeeenenecneaeeeeneaeeneeeeneneeneneeeens 132 The FO document type secu ice nde AS ee vest ca dean ed taeda del sedi andes ey eee aie 132 Vil lt oXygen gt XML Author 10 3 User Manual for Eclipse ASSOCIATION AA R e E a EE ph oad ebepotwae E EO EEPE VENERN RSi 133 OEA a a A E E A E E ETTE ORN 133 AUTON extensions EEE E E AE AE SE E AOE EEE EE Seay 133 Transformation Scenarios sseesssrsssesesessrerertssrerrresseerretsseereeerseereetsscerereserereresdeeet 133 The EAD documenttype sss a a testy aa e AS e e a e TVEN EAN 133 ASSOCIAMONLU ES Vi A A nd 133 O 133 AUthor Extension da e Do redada 133 O NON 133 Catalonia AL da Aa 133 7 lt oXygen gt XML Editor Developer Guide sorsien aeee EE EE Sa NERE EEEE EES 134 Introduction eet nnn s e E E E R EEA E a detent Sena E E E EET 134 Simple Customization Tutorial sses a cote es fawn Ee E TEE EN EEE EE SE Enp 135 XML Schema orren Sate A AAA A E Weds oa dees cae tains 135 Writing the CSS siese e a a a e A E A E SEa ENE 136 T XM E Instance Template ni A ees 139 Advanced Customization Tutorial Document Type Associations oocococcnnccnnconnconcnnncnnncnnncnononaronicnns 140 Creating the Basic Association iio do e ei 140 Errst step MIL Schema bites lt aer a dead canes a e these a 140 Second step The CSS vein seses cae eon ir te ii lab 142 Defining th
541. ult but they are third party processors which do not support the output message format for linked messages described above LIBXML included in lt oXygen gt Windows edition associated to XML Editor able to validate the edited document against XML Schema Relax NG schema full syntax internal DTD included in the XML document or a custom schema type XML catalogs support catalogs and XInclude processing xinclude are enabled by default in the preconfigured LIBXML validator The postvalid flag is set as default allowing LIBXML to validate correctly the main document even if the XInclude fragments contain IDREFS to ID s located in other frag ments For validation against an external DTD specified by URI in the XML document the parameter dtdvalid ds must be added manually to the DTD validation command line ds represents the detected DTD declaration in the XML document 41 Editing documents Saxon SA MSXML 4 0 MSXML NET XSV SQC Schema Quality Checker from IBM Note Known problem file paths containing spaces are not handled correctly in the LIBXML processor For example the built in XML catalog files of the predefined document types DocBook TEI DITA etc are not handled by LIBXML if lt oXygen gt is installed in the default location on Windows C Program Files because the built in XML catalog files are stored in the frameworks subdirectory of the installation directory which in this case co
542. umn span of the source cell will be decreased with one at Split Cell To The Right splits the cell from current caret position in two inserting a new empty table cell to the right Note that this action works only if the current cell spans over more than one column The column span of the source cell will be decreased with one All actions described above are available in the contextual menu main menu DITA submenu and in the Author custom actions toolbar Templates Default templates available for DITA Maps are stored in frameworksDir dita templates map folder They can be used for easily creating a DITA map and bookmap files These templates are available when creating new documents from templates DITA Map Bookmap New DITA Bookmap DITA Map Map New DITA Map Catalogs The default catalog is stored in frameworks dita catalog dita xml Transformation Scenarios To configure and run DITA OT ANT transformations on a DITA Map you have to open it in the DITA Maps Manager view The XHTML document type The Extensible HyperText Markup Language or XHTML is a markup language that has the same depth of expression as HTML but also conforms to XML syntax Association rules A file is considered to be a XHTML document when the root element name is a html 118 Predefined document types Schema The schema used for these documents is located in frameworks xhtml dtd xhtml 1 strict dtd where frameworks is a s
543. update the Document Type Association options automatically on the deployed computers Author Settings You can add a new Document Type Association or edit the properties of an existing one from the Options Prefer ences Document Type Association option pane All the changes can be made into the Document type edit dialog Figure 7 12 The Document Type Dialog Name SDF Description A simple Documentation Framework Storage Internal External D workspace eXml frameworks sdf sdf framework o Rules Namespace Root local name File name Public ID Java class x x z x Schema Classpath Author Templates Catalogs Transformation Extensions The schema defined here is used only if there is no schema detected in the XML file Schema type XML Schema 52 Schema URI Siframeworks sdf sdf xsd ier o nai Configuring Actions Menus and Toolbars The lt oXygen gt Author toolbars and menus can be changed to provide a productive editing experience for the content authors You can create a set of actions that are specific to a document type In our example the sdf framework we created the stylesheet and the validation schema Now let s add some actions for inserting a section and a table To add a new action follow the procedure 1 Open the Options Dialog and select the Document Types Association option pane 158 lt oXygen gt XML Editor Developer Guide 2 Inthe low
544. ure a MarkLogic Connection Figure 12 13 The Connection Configuration Dialog WebDAV URL http 10 0 0 17 8003 Connection Name MarkLogic Connection Data Source MarkLogic Datasource x Connection Details Host 10 0 0 17 Port 8002 User test Password e 1 Goto Preferences gt Data Sources In the Connections panel click the New button 2 Enter a unique name for this connection and select one of the previously configured MarkLogic data sources from the Data Source combo box 3 Fill in the Connection Details XDBC Host The host name or ip address of the installed MarkLogic engine Port The port number of the MarkLogic engine User User name to access the MarkLogic engine Password Password to access the MarkLogic engine WebDAV The url used for browsing the MarkLogic database in the Database Explorer view optional URL 4 Click OK 318 Working with Databases How to configure a Software AG Tamino Connection Figure 12 14 The Connection Configuration Dialog Connection Name Tamino Connection Data Source Tamino Datasource x Connection Details XML DB URI http 10 0 0 17 tamino User guest Password Database mydb Show system collections 1 Goto Preferences gt Data Sources In the Connections panel click the New button 2 Enter a unique name for this connection and select one of the previously configured Tamino da
545. use the Associate XSLT CSS Stylesheet ae action to associate a CSS Stylesheet to your document The document content Text Grid Author I Description 1 item W No CSS file specified Author views The content author is supported by special views which are automatically synchronized with the current editing context of the editor panel and which present additional information about this context thus helping the author to see quickly the current location in the overall document structure and the available editing options Outline view The Outline view has the following available functions e the section called XML Document Overview e the section called Modification Follow up e the section called Document Structure Change Figure 5 3 The Outline View DE Outline 3 Bla MM o amp gt para A content author edits the co Al para In case the edited XML docume para The syntax of such a processi You can read more about assoc para When the document has no C55 600000000 D a ao The content author is sup synchronized with the c 0 q2 Additional information ab 2 0 chapter author Current location in the ov title da intri eens PA a pas 8 lt XML Document Overview The Outline view displays a general tag overview of the current edited XML Document It also shows the correct hierarchical dependencies between the tag
546. ustom build levita Beil a eh ee eae eee ne ee fee as eatin 77 Customizing the lt oXygen gt Ant tool ooooconoconccnnccnnncnncnnncnnoconccnnconnconnccnnccnnconnconncnnncnnnes 77 Upgrading to a new version of DITA OT cece cence eee c cence neeeneeeeneeeeeeeeeeeeeaees 78 Increasing the memory for the Ant Process csececseeceeeeeceeeceueeeeeuececueeeeneeeeaeeceuneeeeees 78 Resolving topic references through an XML catalog 2 0 0 0 e cece eee e cence eee neeeeeeeees 78 DITA specializations Support ss 3 sos tacecer tins E pot EE AE iiO EE den Seve S 78 Support for editing DITA Map specializations 2 2 0 0 cece cee cece cece eee e cee e cence neeeeeeeeeeeeeeaees 78 Support for editing DITA Topic specializations oocccoooccnnccnnnoccnnnccnnnccnnnncnnnnonnnnccnnnacnnnions 79 Editing ESS stylesheets its a o Ad 79 NES IEA E seease chase qoueshvasy 79 Content Completion in CSS stylesheets ooooocccncnnccnoccnnconnconnccnnconnconoconncnnncnnncnnronnrnnccnnccnnccnncons 79 CSS Outline VIEW irpo ornp E e iia ita 80 Folding in SS stylesheets irn er n di 80 Formatting and indenting CSS stylesheets pretty print ooooccooccnnccnncnnccnnccnnconnconnccnnccnnccnnconncnnnoos 81 Other CSS editing actions IA A See tae Seed ER Satay 81 Changing the user interface language 20 0 0 0 en E R TRE RS ERE E EEEE SEEPS teen seas E 81 Handling read only MeS uni RA tias 81 S Authonng in the tasless editor iniiae petane ctaet sen thee ds p
547. ustomize document XML schema DTD RNG RNC gt NRL NVDL URL file samples frameworks xhtml relaxngjxhtml rng x B E Cluse relative paths XML syntax O Compact syntax Root Element html x Namespace http www w3 org 1999 xhtml Prefix Description Complete the dialog as follows URL Specifies the location of a Relax NG schema in XML or compact syntax RNG RNC XML syntax When checked the specified URL refers to a Relax NG schema in XML syntax It will be checked automatically if the user selects a document with the rng extension Compact syntax When checked the specified URL refers to a Relax NG schema in compact syntax It will be checked automatically if the user selects a document with the rnc extension Document Root Populated from the elements defined in the specified RNG or RNC document enables selection of the element to be used as document root Namespace Specifies the document namespace Prefix Specifies the prefix for the namespace of the document root Description Shows a small definition for the currently selected element 21 Editing documents Figure 4 5 The Create an XML Document NRL Tab New XML Document Customize document XML schema DTD RNG RNC NRL NVDL URL File E Projects eXmli test RelaxNG NRL nrlSchema nrl lv use relative paths Add optional content Add First Choice particle O Complete th
548. value to change the style of the element font size attr font_size em The complete CSS rule is para display block background color attr bg_color color font size attr font_size em margin attr space em The document is rendered as document article a Blue paragraph Text Grid Author Additional Custom Selectors Oxygen Author provides support for selecting additional types of nodes These custom selectors apply to document doctype sections processing instructions comments CDATA sections and entities In order for the custom selectors 217 lt oXygen gt XML Editor Developer Guide to work in your CSS files you will have to declare the Author extensions namespace at the beginning of the stylesheet documents namespace oxy url http www oxygenxml com extensions author Example rules e document oxy document display block e doctype sections oxy doctype display block color blue background color transparent e processing instructions oxy processing instruction display block color purple background color transparent e comments oxy comment display block color green background color transparent CDATA sections oxy cdata display block color gray background color transparent e entities oxylentity display morph editable false color orange 218 lt oXygen gt XML Editor Developer Guide background color
549. ve DB server will be started in the current JVM Depending on the application this can be much faster than using a remote server because the communication overhead is avoided However only one JVM can run an Documentum xDb X Hive DB server for a specific federation at the same time For the second case using a bootstrap file to connect you need to add additional JAR files when you configure the data source User User name to access the Documentum xDb X Hive DB database engine Password Password to access the Documentum xDb X Hive DB database engine Database The name of the database to access from the Documentum xDb X Hive DB database engine 321 Working with Databases Run XQuery in read write session If checked the Documentum xDb X Hive DB session ends with a commit with committing otherwise it ends with a rollback 4 Click OK Resource Management Database Explorer View This view presents in a tree like fashion the database connections configured in Preferences gt Data Sources You can connect to a database simply by expanding the connection node The database structure can be expanded up to column level lt oXygen gt supports multiple simultaneous database connections and the connections tree provides an easy way to browse them Some of the basic components employed by the XML DB API are collections and resources and they appear in the tree sorted in alphabetical order A O collection is a hierar
550. ve topic reference through an XML catalog 78 upgrade DITA OT 78 use your own custom build file 77 use your own DITA OT 77 DITA specializations support 78 editing DITA Map specializations 78 editing DITA Topic specializations 79 DITA transformation scenario 71 transforming DITA Maps 70 output formats 70 running an ANT transformation 77 DITA Topics document type 109 association rules 109 Author extensions 110 catalogs 116 templates 116 transformation scenarios 116 schema 109 DITA transformation scenario 71 customize scenario 71 DocBook Targetset document type 109 association rules 109 Author extensions 109 templates 109 schema 109 DocBook V4 document type 102 association rules 102 392 Index Author extensions 103 catalogs 107 templates 107 transformation scenarios 107 schema 103 DocBook V5 document type 108 association rules 108 Author extensions 108 catalogs 108 templates 108 transformation scenarios 108 schema 108 E EAD document type 133 association rules 133 Author extensions 133 templates 133 schema 133 edit 17 archives 299 change user interface language 81 close documents 27 create new documents 18 file properties 27 open and close documents 17 open current document in Web browser 27 open read only files 81 open remote documents FTP SFTP WebDAV 24 save documents 24 Unicode documents 17 Unicode support 17 Editing CSS stylesheets 79 content
551. w Editing XML documents Associate a schema to a document Setting a schema for the Content Completion In case you are editing document fragments for instance the chapters from a book each one in a separate file you can activate the Content Completion for these fragments in two ways Setting a default schema The list of document types available at Options Preferences gt Document Type Association contains a set of rules for associating a schema with the current document when no schema is specified within the document The schema is one of the types XML Schema XML Schema with embedded Schematron rules Relax NG Relax NG with embedded Schematron rules Schematron DTD NRL NVDL The rules are applied in the order they appear in the table and take into account the local name of the root element the default namespace and the file name of the document Important The editor is creating the Content Completion lists by analysing the specified schema and the current context the position in the editor If you change the schema you can observe that the list of tags to be inserted is changing 28 Editing documents Figure 4 12 Content completion driven by a DocBook DTD lt para gt To apply the stylesheet you have to press the Apply transformation scenario button or to press CTRL SHIFT T META SHIFT T on Mac OS Xj lt para gt lt para gt Here are some useful links regarding XML lt para gt lt il lt i
552. w features that were first defined in the XSLT 1 1 working draft but for conformance and portability reasons these are not available if the stylesheet header specifies version 1 0 Saxon B http saxon sf net implements the basic conformance level for XSLT 2 0 and XQuery The term basic XSLT 2 0 processor is defined in the draft XSLT 2 0 specifications it is a conformance level that requires support for all features of the language other than those that involve schema processing Saxon 9SA http www saxonica com is the schema aware edition of Saxon 9 and it is one of the built in processors of lt oXygen gt Saxon SA includes an XML Schema processor and schema aware XSLT XQuery and XPath processors The validation in schema aware transformations is done according to the W3C XML Schema 1 0 specification or according to the W3C XML Schema 1 1 one This can be configured in Preferences Besides the above list lt oXygen gt supports the following processors Xsltproc libxslt Libxslt http xmlsoft org XSLT is the XSLT C library developed for the Gnome project Libxslt is based on libxml12 the XML C library developed for the Gnome project It also implements most of the EXSLT set of processor portable exten sions functions and some of Saxon s evaluate and expressions extensions The libxml version included in lt oXygen gt is 2 6 32 and the libxslt version is 1 1 23 lt oXygen gt uses Libxslt through its command line tool
553. work Development and MARC Standards Office of the Library of Congress LC in partnership with the Society of American Archivists Association rules A file is considered to be a FO document when the it s namespace is urn isbn 1 931666 22 9 or it s public ID is DTD ead dtd Encoded Archival Description EAD Version 2002 EN Schema EAD documents use a Relax NG Schema located in frameworks ead rng ead rng where frameworks is a sub directory of the lt oXygen gt install directory Author extensions Templates Default templates are available for EAD They are stored in frameworksDir ead templates folder and they can be used for easily creating an EAD document These templates are available when creating new documents from templates EAD NWDA Template 2008 04 New EAD document 08 Catalogs The default catalog is stored in frameworks ead catalog xml 133 Chapter 7 lt oXygen gt XML Editor Developer Guide Introduction Starting with version 9 lt oXygen gt adds extensive support for customization The Author mode from lt oXygen gt was designed for bridging the gap between the XML source editing and a friendly user interface The main achievement is the fact that the Author combines the power of the source editing and the intu itive interface of a text editor Figure 7 1 oXygen Author Editor
554. x title font size 1 2em Note a CSS rules are combined as follows 143 lt oXygen gt XML Editor Developer Guide e All the rules that match an element are kept as a list The more specific the rule is the further it will be placed to the end of the list e If there is no difference in the specificity of the rules they are placed in the list in the same order as they appear in the CSS document e The list is then iterated and all the properties from the rules are collected overwriting the already collected values from the previous rules That is why the font size is changed depending on the depth of the element while the font weight property remains unchanged no other rule is overwriting it It s useful to have before the title a constant text indicating that it refers to a section This text can include also the current section number To achieve we have to use the before and after pseudo elements plus the CSS counters We declare a counter named sect for each book or article The counter is set to zero at the beginning of each such element book article counter reset sect The sect counter is incremented with each section that is the a direct child of a book or an article element book gt section article gt section counter increment sect The static text that will prefix the section title is composed of the constant Section followed by the decimal value of the sect
555. xs complexType gt lt xs element gt lt xs element name tr maxOccurs unbounded gt lt xs complexType gt lt xs sequence gt lt xs element name td type doc tdType maxOccurs unbounded gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs complexType name tdType gt lt xs complexContent gt lt xs extension base doc paragraphType gt lt xs attribute name row_span type xs integer gt lt xs attribute name column_span type xs integer gt lt xs extension gt lt xs complexContent gt lt xs complexType gt The def element is defined as a text only element in the imported schema abs xsd lt xml version 1 0 encoding UTF 8 gt lt xs schema xmlns xs http www w3 org 2001 XMLSchema targetNamespace http www oxygenxml com sample documentation abstracts gt lt xs element name def type xs string gt lt xs schema gt Now that we defined our XML data structure let s start styling it Second step The CSS If you read the Simple Customization Tutorial then you already have some basic notions about creating simple styles Our document contains elements from different namespaces so we will use CSS Level 3 extensions supported by the lt oXygen gt layout engine to associate specific properties with that element Note Please note that the CSS Level 3 is a standard under development and ha
556. xs schema xmlns xs http www w3 org 2001 XMLSchema targetNamespace http www oxygenxml com sample documentation xmlns doc http www oxygenxml com sample documentation xmlns abs http www oxygenxml com sample documentation abstracts elementFormDefault qualified gt lt xs import namespace http www oxygenxml com sample documentation abstracts schemaLocation abs xsd gt lt xs element name book type doc sectionType gt lt xs element name article type doc sectionType gt lt xs element name section type doc sectionType gt lt xs complexType name sectionType gt lt xs sequence gt lt xs element name title type xs string gt lt xs element ref abs def minOccurs 0 gt lt xs choice gt lt xs sequence gt lt xs element ref doc section maxOccurs unbounded gt lt xs sequence gt lt xs choice maxOccurs unbounded gt m lt xs element ref doc para gt lt xs element ref doc ref gt lt xs element ref doc image gt lt xs element ref doc table gt lt xs choice gt lt xs choice gt lt xs sequence gt lt xs complexType gt 224 lt oXygen gt XML Editor Developer Guide lt xs element name para type doc paragraphType gt lt xs complexType name paragraphType mixed true gt lt xs choice minOccurs 0 maxOccurs unbounded gt lt xs element name b gt lt xs element name i gt lt xs element name link gt lt
557. xygen jar contains the Java interfaces we have to imple ment and the available Author API needed to access its features Create the class simple documentation framework CustomRule This class must implement the ro sync ecss extensions api DocumentTypeCustomRuleMatcher interface 153 lt oXygen gt XML Editor Developer Guide The interface defines two methods matches and getDescription 1 The mat ches method is the one that is invoked when the edited document must be checked against the doc ument type association It takes as arguments the root local name its namespace the document location URI the PublicID and the root element attributes It must return t rue when the document matches the association 2 The getDescription method returns a description of the rule Here is the implementation of these two methods The implementation of mat ches is just a Java equivalent of the rule we defined earlier public boolean matches String systemID String rootNamespace String rootLocalName String doctypePublicID Attributes rootAttributes return http www oxygenxml com sample documentation equals rootNamespace public String getDescription return Checks if the current Document Type Association is matching the document The complete source code is found in the Example Files Listings the Java Files section Package the compiled class into a jar file Here is an example of an AN
558. y implement support for this feature The layout of the tables from these types of documents takes into account the table width and the column width specifications particular to them The tables and columns widths can be visually adjusted by dragging with the mouse their edges and the modifications will be committed back into the source document Figure 5 19 Resizing a column in lt oXygen gt Author editor col span 1 width 2 col span 1 width 0 5 Person Name Jane gt 26 Bart l 24 Alexander 2 b They are all students of the computer science department DocBook The DocBook table layout supports two models CALS and HTML In the CALS model only column widths can be specified by using the colwidth attribute of the associated colspec element The values can be fixed or proportional Figure 5 20 CALS table Sample CALS Table with no specified width and proportional column widths colspec colname c1 colnum 1 colwidth 1 colspec colname c2 colnum 2 colwidth 1 5 colspec colname c3 colnum 3 colwidth 0 7 colspec colname c4 colnum 4 colwidth 0 5 colspec colname c5 colnum 5 colwidth 1 7 Horizontal Span a3 fad a5 a lp BPP bl b2 a aeey cl Spans Both4 C4 SPan dl directions d4 d5 96 Authoring in the tagless editor XHTML The HTML table model accepts both table and column widths by using the width attribute of the table element and the col element associated with ea
559. ygen gt XML Editor Developer Guide Figure 7 5 Folded Sections document My Technical Book Section 1 XML Section 2 Accessing XML data a Section 3 Documentation frameworks dbx Text Grid Author Marking elements as links You can specify what elements are links The text content specified in the be fore pseudo element will be underlined When hovering the mouse over that content the mouse pointer will change to indicate that it can follow the link Clicking on a link will result in the referred resource being opened in an editor In our case we will mark the link elements as links with the href attribute indicating the referred location link href beforel display inline link attr href content Click to open attr href Note If you plan to use IDs as references for links the value of the link property should start with a sharp sign This will ensure that the default link target reference finder implementation will work and clicking on the link will send you to the indicated location in the document For more details about the link target reference finder read the section Configuring a Link target reference finder Example 7 1 IDs as references for links link linkend before display inline link attr linkend content Click to open attr linkend Third Step The Association Now that we have the XML Schema and the CSS stylesheet for the documents
560. ype By using the Insert Topic Heading Dialog you can easily insert a topichead element The Navigation title is required but other attributes can be specified as well from the dialog Inserting a Topic Group The topicgroup element identifies a group of topics such as a concepts tasks or references or other resources A topicgroup can contain other topicgroup elements allowing you to express navigation or table of contents hierarchies as well as implying relationships between the containing topicgroup and its children You can set the collection type of a container topicgroup to determine how its children are related to each other Relationships end up expressed as links in the output with each participant in a relationship having links to the other participants by default A topic group may be inserted both from the toolbar action and the contextual node actions Figure 4 45 Insert Topic Group Dialog Insert Topic Group Element name topicgroup e Attributes Type Format Scope Collection type By using the Insert Topic Group Dialog you can easily insert a topicgroup element The Type Format Scope and Collection type attributes can be specified from the dialog Edit properties The Edit properties action available both on the toolbar and on the contextual menu is used to edit the properties of the selected node Depending on the selected node the action will pe

Download Pdf Manuals

image

Related Search

Related Contents

Eaton Pulsar Evolution 1100 Tower  ce 705 proceso de lodos activados  W200-3/6/14  intelligel perfromance  iiyama 20.1 INCH TFT MONITOR ZWART  StarTech.com 10 ft Premium Stereo Audio Cable RCA - M/M  Logic state analyzer with sequential triggering and restart  

Copyright © All rights reserved.
Failed to retrieve file