InDesign CS5 users should hand off their design to a Flash developer as soon as possible. QuarkXPress 8 gives layout designers tools to develop interactive content without knowing code.
Cross-media publishing often involves the use of technologies that can bridge the differences between the different output channels and media, such as print, web, and even dynamic publishing technologies. XML is the technology most often used to bridge these differences. XML itself is a Markup Language, much like HTML is a markup language. Both HTML and XML are sub-technologies with their roots in SGML, Standard Generalized Markup Language.
oXygen XML Editor is an editor that enables you to develop everything needed for publishing XML documents. It is a complete platform-independent solution for creating many types of XML documents, validating them, editing schema, generating HTML documentation, converting one XML type ot another, and much more.
oXygen XML Editor recognizes and supports Darwin Information Typing Architecture (DITA), Schematron, XQuery (supporting a large number of relational databases can be accessed directly), DTDs, XSL:FO, Relax NG, NRL Scemas, NVDL Schemas, WSDL, XSLT transformers such as Saxon and Saxon.NET, XInclude, and most every other XML technology. SVG, XHTML, and CSS are on the menu as well.
Before you can do as much as start working with oXygen XML Editor, you are required to at least know what XML is, what you can do with it, and how it works. Before I go on covering the oXygen XML Editor itself, I’ll briefly cover some of the technologies you can work with in oXygen XML Editor. If you know these, you can skip the following chapter.
An XML Schema is a document that describes in a formal way, the syntax elements and parameters of an XML document. XML Standards and SchemaDITA is an architecture for creating topic-oriented, information-typed content that can be reused and single-sourced in a variety of ways. It is also an architecture for creating new information types and describing new information domains based on existing types and domains. This allows groups to create very specific, targeted document type definitions using a process called specialization, while still sharing common output transforms and design rules developed for more general types and domains.
DITA supports a unique transclusion mechanism that is validated under DTD processing rules: an element can replace itself with the content of a like element elsewhere, either in the current topic or in a separate topic that shares the same content models. DITA’s conref ‘transclusion’ mechanism is similar to the SGML conref mechanism, which uses an empty element as a reference to a complete element elsewhere.
However, DITA requires that at least a minimal content model for the referencing element be present, and performs checks during processing to ensure that the replacement element is valid in its new context. This mechanism goes beyond standard XInclude, in that content can be incorporated only when it is equivalent: If there is a mismatch between the reusing and reused element types, the conref is not resolved.
It also goes beyond standard entity reuse, in that it allows the reused content to be in a valid XML file with a DTD. The net result is that reused content gets validated at authoring time, rather than at reuse time, catching problems at their source.
The Schematron differs in basic concept from other schema languages. It is not based on grammars but on finding tree patterns in the parsed document. This approach allows many kinds of structures to be represented which are inconvenient and difficult in grammar-based schema languages. If you know XPath or the XSLT expression language, you can start to use The Schematron immediately.
RELAX NG is a simple schema language for XML. A RELAX NG schema specifies a pattern for the structure and content of an XML document. It identifies a class of XML documents consisting of those documents that match the pattern. A RELAX NG schema is itself an XML document. XQuery is designed to meet the requirements identified by the W3C XML Query Working Group, to be a language in which queries are concise and easily understood. It is also flexible enough to query a broad spectrum of XML information sources, including both databases and documents. The Query Working Group has identified a requirement for both a non-XML query syntax and an XML-based query syntax.
XQuery is designed to meet the first of these requirements. oXygen XML EditorNow let’s see what oXygen XML Editor can do with all these schema and languages. First of all, oXygen XML Editor is platform-independent, which means it is a Java application. Nevertheless, oXygen XML Editor 9.1 started very fast on my Power Mac G5. All functionality of the program was equally fast, so oXygen XML Editor isn’t going to hold you back in terms of speed.
The Mac OS X interface of oXygen XML Editor closely resembles any other Mac OS X application (but it’s “stuck” at version 10.3, in interface terms). The main reason why you’re going to use oXygen XML Editor has of course little to do with the look and feel of the application. An example of using oXygen XML Editor could be a layout designer working in InDesign CS3 exporting his layout document using the built-in XML capabilities of the program and creating a DTD from that XML document for repurposing in oXygen XML Editor. This was one of the tests I put oXygen XML Editor through and it worked like a charm. It also made painfully clear how limited InDesign’s built-in XML export capabilities really are, but that’s another story.
The DTD that resulted from the conversion can be used for creating layouts in InDesign that will follow the rules defined in the DTD. If you want to synchronise a layout with a web page, this would be of paramount importance.
Another use for oXygen XML Editor could be the creation of a XSLT style sheet for publishing a FileMaker database on the web. This as well is something that you can do well with oXygen XML Editor.
You might also do this sort of coding with a program like TextMate—and it would be far more inexpensive. But oXygen XML Editor has advantages that will save you time and energy, and that will enable you to create better code. What's Better: General Purpose or Dedicated XML Editor?The first feature that sets oXygen XML Editor apart from general purpose editors like TextMate or BBEdit is the interface. An oXygen XML Editor window has different panels—you may call them “Inspectors”—that give you different views on the document you’re working on, and which contain the ability to warn you of errors and results.
The program also has different modes of operation. These are called “Perspectives” because they offer different views of the project you’re working on. The Editor Perspective is the one you open by default. It gives you a good view of a document you’re editing. XSLT Debugger Perspective shows tracing information for debugging—not a luxury if you have ever edited a XSLT style sheet yourself.There’s also a XQuery Debugger Perspective, a Database Perspective where you can connect to multiple relational and XML databases and browse their records, query them, etc. Finally, there is a Tree Editor Perspective where a XML document is shown as a (editable) tree structure.
oXygen XML Editor comes with a large number of templates so you can start a project with some of the work already done for you. In some XML Schema it is possible to create XML Elements and Attributes (call them Tags if you like) as in Panic Software’s Coda—with code completion. Converting a XML document into a Schema is possible too. The DTD I created from InDesign’s flat-looking XML was done by first opening the XML in oXygen XML Editor, selecting “Learn Structure” , then selecting “Save Structure” from the Documents menu. In two steps I had created a very simple DTD that I could now expand into something more useful.
XML can be well-formed or valid. It is valid only if it meets the rules of a Schema such as a DTD. No matter what, validation is part of oXygen XML Editor, and you can even have it validate your document as you type. The error message aren’t always as clear as I would have liked them to be, but that has much to do with the complexity of the Schema you’re working with, and not so much with oXygen XML Editor. Validation can be done against external sources too.
oXygen XML Editor has a Trang converter built-in to convert DTD or Relax NG Schemas to an equivalent XML Schema. Trang converts between different schema languages for XML. It supports Relax NG, XML 1.0 DTDs and W3C XML Schema. FramemakerAnother form of built-in “intelligence” is oXygen’s ability to automatically break the edited line—important for printing—and its ability to insert an empty line between start and end tags.
Although most of us will find it easier to write the actual content in a XML document in a “real” editor like InCopy or QuarkCopyDesk, oXygen XML Editor can be used in WYSIWYG mode, as soon as the XML structure has been created. The document is then styled through a prior defined CSS style sheet.
One of the benefits of authoring content directly in oXygen XML Editor is that you are typing directly in the structured document. However, I can imagine an InDesign user importing the DTD upon which the XML structure is based, and working inside InDesign. On Windows PCs, Adobe Framemaker comes in the picture again. For documents like scientific books, oXygen XML Editor comes with DocBook v.4 and v.5 installed. DITA, XHTML, TEI P4 and P5 (Text Encoding Initiative—a standard used by libraries, museums, etc), are included as well.
oXygen XML Editor can be customised so that unexperienced users or people who need to work with Schema and structures that are not by default supported, can nevertheless work with oXygen XML Editor 9.1 for those needs as well. The manual has a large section on customising oXygen XML Editor—a task that really is something only developers will bring to a successful end.
oXygen XML Editor
Cross-media publishing often involves the use of technologies that can bridge the differences between the different output channels and media, such as print, web, and even dynamic publishing technologies. XML is the technology most often used to bridge these differences. XML itself is a Markup Language, much like HTML is a markup language. Both HTML and XML are sub-technologies with their roots in SGML, Standard Generalized Markup Language.
oXygen XML Editor is an editor that enables you to develop everything needed for publishing XML documents. It is a complete platform-independent solution for creating many types of XML documents, validating them, editing schema, generating HTML documentation, converting one XML type ot another, and much more.
oXygen XML Editor recognizes and supports Darwin Information Typing Architecture (DITA), Schematron, XQuery (supporting a large number of relational databases can be accessed directly), DTDs, XSL:FO, Relax NG, NRL Scemas, NVDL Schemas, WSDL, XSLT transformers such as Saxon and Saxon.NET, XInclude, and most every other XML technology. SVG, XHTML, and CSS are on the menu as well.
Before you can do as much as start working with oXygen XML Editor, you are required to at least know what XML is, what you can do with it, and how it works. Before I go on covering the oXygen XML Editor itself, I’ll briefly cover some of the technologies you can work with in oXygen XML Editor. If you know these, you can skip the following chapter.
An XML Schema is a document that describes in a formal way, the syntax elements and parameters of an XML document.
XML Standards and SchemaDITA is an architecture for creating topic-oriented, information-typed content that can be reused and single-sourced in a variety of ways. It is also an architecture for creating new information types and describing new information domains based on existing types and domains. This allows groups to create very specific, targeted document type definitions using a process called specialization, while still sharing common output transforms and design rules developed for more general types and domains.
DITA supports a unique transclusion mechanism that is validated under DTD processing rules: an element can replace itself with the content of a like element elsewhere, either in the current topic or in a separate topic that shares the same content models. DITA’s conref ‘transclusion’ mechanism is similar to the SGML conref mechanism, which uses an empty element as a reference to a complete element elsewhere.
However, DITA requires that at least a minimal content model for the referencing element be present, and performs checks during processing to ensure that the replacement element is valid in its new context. This mechanism goes beyond standard XInclude, in that content can be incorporated only when it is equivalent: If there is a mismatch between the reusing and reused element types, the conref is not resolved.
It also goes beyond standard entity reuse, in that it allows the reused content to be in a valid XML file with a DTD. The net result is that reused content gets validated at authoring time, rather than at reuse time, catching problems at their source.
The Schematron differs in basic concept from other schema languages. It is not based on grammars but on finding tree patterns in the parsed document. This approach allows many kinds of structures to be represented which are inconvenient and difficult in grammar-based schema languages. If you know XPath or the XSLT expression language, you can start to use The Schematron immediately.
RELAX NG is a simple schema language for XML. A RELAX NG schema specifies a pattern for the structure and content of an XML document. It identifies a class of XML documents consisting of those documents that match the pattern. A RELAX NG schema is itself an XML document.
XQuery is designed to meet the requirements identified by the W3C XML Query Working Group, to be a language in which queries are concise and easily understood. It is also flexible enough to query a broad spectrum of XML information sources, including both databases and documents. The Query Working Group has identified a requirement for both a non-XML query syntax and an XML-based query syntax.
XQuery is designed to meet the first of these requirements.
oXygen XML EditorNow let’s see what oXygen XML Editor can do with all these schema and languages. First of all, oXygen XML Editor is platform-independent, which means it is a Java application. Nevertheless, oXygen XML Editor 9.1 started very fast on my Power Mac G5. All functionality of the program was equally fast, so oXygen XML Editor isn’t going to hold you back in terms of speed.
The Mac OS X interface of oXygen XML Editor closely resembles any other Mac OS X application (but it’s “stuck” at version 10.3, in interface terms). The main reason why you’re going to use oXygen XML Editor has of course little to do with the look and feel of the application.
An example of using oXygen XML Editor could be a layout designer working in InDesign CS3 exporting his layout document using the built-in XML capabilities of the program and creating a DTD from that XML document for repurposing in oXygen XML Editor. This was one of the tests I put oXygen XML Editor through and it worked like a charm. It also made painfully clear how limited InDesign’s built-in XML export capabilities really are, but that’s another story.
The DTD that resulted from the conversion can be used for creating layouts in InDesign that will follow the rules defined in the DTD. If you want to synchronise a layout with a web page, this would be of paramount importance.
Another use for oXygen XML Editor could be the creation of a XSLT style sheet for publishing a FileMaker database on the web. This as well is something that you can do well with oXygen XML Editor.
You might also do this sort of coding with a program like TextMate—and it would be far more inexpensive. But oXygen XML Editor has advantages that will save you time and energy, and that will enable you to create better code.
What's Better: General Purpose or Dedicated XML Editor?The first feature that sets oXygen XML Editor apart from general purpose editors like TextMate or BBEdit is the interface. An oXygen XML Editor window has different panels—you may call them “Inspectors”—that give you different views on the document you’re working on, and which contain the ability to warn you of errors and results.
The program also has different modes of operation. These are called “Perspectives” because they offer different views of the project you’re working on. The Editor Perspective is the one you open by default. It gives you a good view of a document you’re editing. XSLT Debugger Perspective shows tracing information for debugging—not a luxury if you have ever edited a XSLT style sheet yourself.There’s also a XQuery Debugger Perspective, a Database Perspective where you can connect to multiple relational and XML databases and browse their records, query them, etc. Finally, there is a Tree Editor Perspective where a XML document is shown as a (editable) tree structure.
oXygen XML Editor comes with a large number of templates so you can start a project with some of the work already done for you. In some XML Schema it is possible to create XML Elements and Attributes (call them Tags if you like) as in Panic Software’s Coda—with code completion.
Converting a XML document into a Schema is possible too. The DTD I created from InDesign’s flat-looking XML was done by first opening the XML in oXygen XML Editor, selecting “Learn Structure” , then selecting “Save Structure” from the Documents menu. In two steps I had created a very simple DTD that I could now expand into something more useful.
XML can be well-formed or valid. It is valid only if it meets the rules of a Schema such as a DTD. No matter what, validation is part of oXygen XML Editor, and you can even have it validate your document as you type. The error message aren’t always as clear as I would have liked them to be, but that has much to do with the complexity of the Schema you’re working with, and not so much with oXygen XML Editor. Validation can be done against external sources too.
oXygen XML Editor has a Trang converter built-in to convert DTD or Relax NG Schemas to an equivalent XML Schema. Trang converts between different schema languages for XML. It supports Relax NG, XML 1.0 DTDs and W3C XML Schema.
FramemakerAnother form of built-in “intelligence” is oXygen’s ability to automatically break the edited line—important for printing—and its ability to insert an empty line between start and end tags.
Although most of us will find it easier to write the actual content in a XML document in a “real” editor like InCopy or QuarkCopyDesk, oXygen XML Editor can be used in WYSIWYG mode, as soon as the XML structure has been created. The document is then styled through a prior defined CSS style sheet.
One of the benefits of authoring content directly in oXygen XML Editor is that you are typing directly in the structured document. However, I can imagine an InDesign user importing the DTD upon which the XML structure is based, and working inside InDesign. On Windows PCs, Adobe Framemaker comes in the picture again.
For documents like scientific books, oXygen XML Editor comes with DocBook v.4 and v.5 installed. DITA, XHTML, TEI P4 and P5 (Text Encoding Initiative—a standard used by libraries, museums, etc), are included as well.
oXygen XML Editor can be customised so that unexperienced users or people who need to work with Schema and structures that are not by default supported, can nevertheless work with oXygen XML Editor 9.1 for those needs as well. The manual has a large section on customising oXygen XML Editor—a task that really is something only developers will bring to a successful end.
Related Information
No related information.