VideosWorking with XML Modules


In this demonstration, you will see how oXygen helps you to edit modular XML files that are referenced using external entities.


00:00:07Large documentation projects sometimes require a certain degree of modularization by breaking
00:00:13up the projects into functional smaller modules.
00:00:16This approach brings a series of advantages:
00:00:19increased flexibility, improved re-usage degree, and ultimately reduced overall project costs.
00:00:26Thus, a documentation project might have a structure like the following one:
00:00:31... where chapters and even sections are organized as distinct modules.
00:00:36All of them are assembled in a book that refers them using either XInclude and external entity
00:00:45However, editing a module might need a larger context to solve issues like module connection
00:00:51overview (understanding how modules are connected with
00:00:55each other),
00:00:57module validation,
00:00:58editing using the content completion assistant or ID referencing.
00:01:02 helps you to do all these using the Master Files support.
00:01:07In this demonstration we will see how helps you to edit modular XML files that are
00:01:13referred using external entities.
00:01:16We have already defined a project containing two user guides for two phone models.
00:01:21As you can see some of the content is different, here highlighted with red and some content
00:01:28is shared between the two user guides.
00:01:36The main file refers chapters of the manual using External Entities and each chapter refers
00:01:43different sections of the manual.
00:01:45oXygen helps you to visualize the structure of the manual in a dedicated side view where
00:01:50all the modules are arranged in a tree-like fashion.
00:01:54To open this side-view, use the Resource Hierarchy action from project's contextual menu.
00:02:00Now it is easier to see what chapters are referred from the manual, and what sections
00:02:06that make up each of the chapters.
00:02:08Also, you have easy access to any of the modules that compose this hierarchy. Double click
00:02:13a module to open it in the editor view.
00:02:17The next step is to edit the module.
00:02:19The Making a call.xml cannot be validated as a standalone module because it does not
00:02:24have a schema associated with it.
00:02:28Note the error mesage displayed in the Results View.
00:02:33Also the content completion assistant does not offer any element proposal.
00:02:37Now, if we open another file, lets say Making a conference call.xml, this file cannot be
00:02:43validated as a standalone module because it does not have a schema associated with it
00:02:49and also refers entities that are not defined in this module.
00:03:00In order to edit these modules in the context of the user manual, you need to enable the
00:03:05master files support and add the user manual file as a master file.
00:03:11First , we press the Enable button.
00:03:13The application displays an information dialog with more information about Master Files support.
00:03:19We choose to allow oXygen to Detect the possible master files in the current project.
00:03:25Here we choose to detect the possible master files for XML resources.
00:03:30After the detection phase is complete, oXygen presents a tree with the hierarchy of the
00:03:34files detected in the project.
00:03:36On the first level we have the possible master files, which are the user manuals that refer
00:03:42the chapters and sections.
00:03:44We set both files as master files.
00:03:49In the last wizard page you can preview the master files that will be added in your project.
00:03:56oXygen added links to the selected resources in the Master Files folder from the Project
00:04:02oXygen uses the hierarchy of these files to determine the editing context for a specific
00:04:13Now the validation of a module will be done in the context of the main files...
00:04:17Let's try to validate one of the files that was previously found as invalid...
00:04:22As you can see, now the validation is successfull.
00:04:25Also the content completion assistant uses the schema declarations from the master files.
00:04:30We can easily edit the module because the content completion assistant proposes only
00:04:35elements valid in the current context.
00:04:37After defining the Master files, oXygen also presents in a module the entities declared
00:04:43in the main files.
00:04:44We start the content completion assistant and start typing an entity name.
00:04:51Also, the Entities view presents in a tabular form the entities defined in the master file.
00:05:01Double click an entity name to insert it at the current caret position.
00:05:05Now we close this file and focus on Making-a-conference-call.xml
00:05:11Similarly, it also becomes valid because it is now validated in the context of the main
00:05:24Next ... we'll take a look at oXygen's capabilities of handling IDs.
00:05:27The content completion assistant presents all the IDs that can be referred in the current
00:05:33The id's are collected from the entire file hierarchy starting from the master files.
00:05:39To determine where the "makingACall" ID is declared, press and hold the Ctrl key and
00:05:45click the ID name.
00:05:47The file that contains the ID's declaration is open and the ID is highlighted to make
00:05:52it more visible.
00:05:54Also the Quick Assist support helps you rename the ID and search an ID reference or a declaration
00:06:01in the scope determined by the master files.
00:06:03We will use the "Rename in" action to modify the ID from "makingACall" to "initiatingACall".
00:06:11Also you can preview the modifications before accepting them.
00:06:15Note that both the declaration and the reference of the ID are modified.
00:06:20We accept the modifications.
00:06:28The Master Files are used also to define the scope for the Rename and Move operations invoked
00:06:34at project level.
00:06:36As an example, we will move the Making a call.xml file into the Getting Started folder.
00:06:46Just drag the file and drop it into the target folder.
00:06:49The confirmation dialog allows you to update also the references to the moved resource.
00:06:55Before finishing the operation, you can preview the modifications.
00:06:59We note that the file is referred in two resources.
00:07:04We accept the modifications.
00:07:06Also if we rename or move a folder you can choose to update also the references to the
00:07:12resources from the folder.
00:07:14For example if we rename "Phone-Basics" to "Phone-Basic-Operations"...
00:07:18we note in the preview dialog that all the reference to the files from this folder are
00:07:35So far, this demonstration highlighted oXygen's ability of editing XML modules referred using
00:07:49external entities.
00:07:50Similarly, you can use oXygen to edit XML modules using XInclude references.
00:07:54The Master Files support is a very effective and powerful feature but adding too many files
00:08:01in the Master Files folder may impact on the application performance, unless you apply
00:08:06the following three simple rules:
00:08:09- Add only the top level files, each of them being the root of a tree of modules
00:08:15- Keep the file set to a minimum - Do not add standalone files in the Master
00:08:22Files folder
00:08:23And this concludes our demonstration.
00:08:25Thanks for watching.