oXygen XML Editor demo
CC Attribution - NoDerivatives 2.0 UK: England & Wales:
You are free to use, copy, distribute and transmit the work or content in unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Bina, George Cristian
A live demo of oXygen presented by two of the oXygen team members. The demo will cover some of the important XML authoring and development features like: - visual authoring (DocBook, DITA, etc.) - schema development - XSLT development and debugging - working with XQuery and XML Databases
 My name is George Bina. I'm from Syncrosov, the company that develops Oxygen XML Editor. And I'm here with my colleague Octavian that helped me put together this demonstration. I will show some of the important features that we added in Oxygen in the last versions. And I will be using a developer snapshot for the demonstration because I want to show you also some of the features that are working progress and will be available in one month in version 10.2. The demonstration will show the XML authoring part and the XML development. And in the end, I will also mention some ideas that we have for the future. Let's start with the XML authoring part. Oxygen includes visual CSS-based editor that allows content authors to edit XML documents in an interface similar with the word processor. And what we tried to do with visual authoring was to use very simple principles for editing. And in Oxygen, there are just two things that you need to know to edit visually. First, you need to locate a position where you want what content or markup. And then you are the type to insert content or press enter to insert markup. And I will show you that immediately with a practical example. We use, for our website, we have an XML document, this one here. And we convert this through XSLT to get the Oxygen website. And as a side note, you can see here that this uses XML schema, schema-transchema, embedded rules from the XML schema and entities. It mentions also the ZD for entities. And you can see also the CSS stylesheet that is associated with the document. And when I switch to the Outer Mode, I can see the document rendered through that stylesheet. And this is how it looks like. And I will show you immediately how editing works. So there are just two basic steps that you need to know. If I want to enter content, I just go to that position and I just type in the content. And if I want to enter markup, I just press enter and I get a proposal with what markup, what elements can I enter in that location? So if I enter an inline element that is already rendered, and I can type in markup. And now the problem is how to locate the right position. And Oxygen provides mainly three ways to allow you to know where you are in the document. And what I use all the time is that when you pass through a boundary, you can see location tooltip that shows you where you are. You are between the title and the paragraph here. You are at the beginning of the paragraph. If I press enter here, I can enter a new paragraph here. And basically that's all you need to know to be able to edit visually the XML documents. Apart from that, for instance, if we have, we offer also, if we have an inline content, and if I select something here, if I press enter, I get again the proposals. And if I select an element, then that will surround that location. And if I press enter here, the first proposal is to split the paragraph. And if I press enter again, I can see that Oxygen creates a new paragraph, and the split is performed deeply. You can see that there's also the strong and strike elements are present in the new paragraph. There are a number of views for the visual mode. One, for instance, I can put on the tags. And this allows to easily move content, for instance, if I want to move one paragraph in front of the other or with drag and drop actions. Now, one problem that we had when editing the website is that we have many people that edit the website content. And each one has different formatting options. And a small change made in the document resulted in a large number of changes when you compare the revisions from the subversion repository. And we needed to find a solution for that. And what we did was to use the project level support for options that Oxygen provides. And we put, you see, almost all the pages, option pages have these global options, project options, radio button. And we put the options, the formatting options at project level, and all the people edit the website through the site project. And thus, we get only the relevant changes that each one makes on the website. And this is a problem that appears all the time when you have multiple people working on the same document. Okay. Let's go back to out-toring. Oxygen provides ready-to-use support, apart from these basic stuff, for a number of, for the most popular documenting frameworks, document frameworks like Doug Book, Dita, Dita, TI. And for this, we provide more than the basic support. And for instance, this is a Doug Book file document. And if I switch to the Outor mode, you can see a large number of actions here. Oxygen detects that this is a Doug Book document from its namespace and loads specific support for that. One, once I see, if you notice here the tables, you can see that there are current specifications for tables, right? And Oxygen provides multiple cascading stylesheets. You can set alternate cascading stylesheets. And I can choose one that hides the current specifications. Then we provide actions to easily insert different types of emphasizes, different links, sections, paragraphs, images to insert different types of lists. And I can just add more list items. So instead of going like, no positioning between the two list items and entering another list item, right? And then doing something like that, I can just click a button and have that immediately inserted. Then we have extensive support for tables that allows to, that handles both cost tables and HTML tables and allows to create whatever table structure you like through joints and splitting different cells. And we have working progress here to handle support for current weeds and to allow people to drag and drop on a table column, for instance, to specify its width. More than that, we have Oxygen provides support for linking and for included content. For instance, here I have a Dougbook file document that uses Xinclude to add some more of the few sections. And if I switch to the OuterMode, I get this representation. So the Xinclude content is rendered to present a consolidated view of the document. And I can just click on this icon to go to the Xinclude file and I can edit there. Yes? Yes, it works the same with entities. Yes. And I have also, on the linking part, I sketch the presentation here and I put some links using Xlink. You see, here, for instance, right? So if I click here, I get to add a document. But all this for Dougbook, nothing from this support is hard-coded in Oxygen. Everything is just a configuration. And we provide a default for Dougbook. And anyone can create another configuration for another framework for basically your type of document. And if we look in the Oxygen options, you can see here that we have a document type association entry. And this lists a number of frameworks that we support. And for Dougbook, you can see that we have a rule that detects that a document is Dougbook that specifies, okay, it's this namespace, the Dougbook file namespace, any local name for the root, any file name, any public ID. And we allow also to have a class if you want to detect more, looking also at attribute values, for instance, to detect that type of document. And then you can see that we have the RelaxNG schema with embedded schema rules that Oxygen uses automatically to edit Dougbook file files. You can specify transformation scenarios that we want for Dougbook. So when you have a Dougbook document, you just can one click to get PDF or HTML. But all these are configurable by user for any other framework. XML catalogs, new document templates. And on the outer tab, we have the stylesheets that we used, the cascading stylesheets that we used for rendering. And then all the actions that were available in that toolbar. And here the support for defining these actions is very, very easy to use by any user. Because if we look at the insert paragraph action, that is edited visually in an interface. And the interesting part here is that it performs different operations in different contexts. If you are in a paragraph, you will insert the paragraph after that. And you can see here that it says, it's just an expat expression that says, Anchester or Selfies paragraph with the Dougbook file namespace. Then perform this operation, insert fragment operation where this locates the node and after that insert the new paragraph. And here you see that it's in the context of a title. And this is the default action. And for insert section, for instance, there are 12 different contexts that are defined. But the idea is that you can create these actions because you can use this. We provide a lot of common operations already implemented. The source code is available for these operations. So it can be easily extended to create other operations if these are not enough for what you are doing. Okay. What we have for the XML Outer, and I will show you why I'm still here, is for the next version, is track changes support. So if I enable track changes, then when I add content, okay, that is marked up here. If I delete something, that is deleted. And then I can see those markers. And in a further operation, I can accept or reject changes. It will have multiple, or support multiple users. So Oxygen has these two mind parts, the Outer ring and XML development. In the Outer mode, they are working in the visual Outer mode. And basically there are some set of highlights that show different parts of the document, highlight different parts of the document. And when we serialize the document, because this is in the Outer model, and when we serialize the document, we convert them to processing instructions because this will leave the document in the same form. It can be processed in the same way. Yes. Okay, so... We have some more plans for the Outer ring part for the next versions. Apart from the change tracking, we plan to improve the dog book support to offer a better support for creating all links. Okay, I mentioned that we extended the CSS support for handling tableweeds. And another thing that I want to have... is a way to... You know, when you go between two paragraphs, sometimes you may need to go from one paragraph directly to another. Right now you can tap to move more quickly to another element. But I was thinking of a way to... You know, you press R down, you should get sometimes from one paragraph to another if you are not interested to enter structure, if you are interested to enter markup only. Okay, let's move to the development part. This is actually what we do for eight years, actually, from 2001. Oxygen offers support for the mine XML development technologies. We support all the XML schema languages, including NVDL that you saw this morning, including Schematron, XML schema, RelaxNG, DTDs, Schematron rules embedded in XML schema, the XML schema and RelaxNG. We have support for XSLP1 and 2 and Xquery and XML databases. I will just show you a couple of interesting points that are in general in the latest......adjusted additions. One is the new schema diagram that we added in version 10.1 that presents the schema and allows, at the same time, to edit the schema directly on the diagram without going to the code. You can do that using in-place editing, drag and drop, a couple of side views that can help editing and contextual actions. For instance, if I... I included a schema. I consider included content also in the outline view. You see it here. I can add a new element. If I want to rename it, I just click on that and I can enter a new name. Then I can assign a type to that. I can just add that to the person content model. Make it optional. This is the general... If I want to change the type, I can double click here and choose another type or I can use the attribute side view to change any of the properties. The outline will allow me to filter... If I want to see only person and address, I can just type there, add and comma person. I filter the outline to see only those components. Another interesting action that we provide is to allow, for instance, to extract the type from an element or extract a group from a model group. If I extract a global type from here, you see I get a proposal. We set automatically the type value and the oxygen extracts that as a separate type. More than this, we added a new schema documentation support in oxygen. We had also before support based on XS3P schema documentation generator. That was in haste with diagrams and a lot of stuff. We had a lot of problems and we decided to create a new documentation support starting from zero. What's interesting with this is that we convert the documentation in XML. From that, we have a couple of styles sheets that convert to Doug book, convert to HTML and convert to PDF. The interesting part is that the documentation can be part of your documentation. For instance, we use Doug book for our documentation. If the schema documentation is also Doug book, the schema documentation becomes part of your company documentation. It's not a separate research you link to. There are a lot of options that allow you to set what will be in the documentation. You can also export those to files so you can reuse them or use them from the command line if you want. If you want to integrate the documentation in a workflow. You can see here how the documentation looks like. It has schema diagrams. You can click on them to see the...to navigate. I also put here the PDF documentation. The outline will allow me to filter. If I want to see only person and address, I can just type their add and comma person. I filter the outline to see only those components. Another interesting action that we provide is to allow, for instance, to extract the type from an element. I extract a group from a model group. If I extract a global type from here, you see I get a proposal. We automatically set the type value and the oxygen extracts that as a separate type. More than this, we added a new schema documentation support in oxygen. We had also before support based on XS3P schema documentation generator. That was in haste with diagrams and a lot of stuff. We had a lot of problems and we decided to create a new documentation support starting from zero. What's interesting with this is that we convert the documentation in XML. From that, we have a couple of styles sheets that convert to Doug book, convert to HTML and convert to PDF. The interesting part is that the documentation can be part of your documentation. For instance, we use Doug book for our documentation. If the schema documentation is also Doug book, the schema documentation becomes part of your company documentation. It's not a separate research you link to. There are a lot of options that allow you to set what will be in the documentation. You can also export those to files so you can reuse them or use them from the command line if you want. If you want to integrate the documentation in a workflow. You can see here how the documentation looks like. It has schema diagrams. You can click on them to see the...to navigate. I also put here the PDF documentation for schema.1.5. There were some challenges creating the PDF documentation because all the diagrams are very big. You need to put some work to have that in this form. Here is the documentation for XSLT20. You can see here we generate also type hierarchy. You can see what elements can go inside that. You can also use these options to specify what is visible or not in this view. You can also have the ISO schema documentation in Dougbook. I can open it in the Outer Mode. I want to see it in oxygen. On the XSLT support, I will just take one more moment on the schema part. I played with the visual outer page for the schemas. I created a cascading style sheet to render the schema in a visual way. I believe it ended up with a really interesting presentation. You see the schema that I showed you earlier looks something like this. It is really like a quick documentation. More than that, you can edit here. You can just edit in the Outer Mode. It is really funny. What I did this for is that I provided also another style sheet that shows renders only the annotations. It serializes the schema document. The idea was to be able to edit HTML annotations for the schema directly here. You see if I enter HTML or whatever language that can be rendered, that you have a framework in oxygen, can be used and you see the annotation rendered directly here. For XSLT, I have here the Dougbook style sheets. What we have in the new version is this recess higher archive view that shows what style sheets this include. You can browse down to see or you can show dependencies. Where is version included from? This takes a while because there are so many style sheets. Then you can see the past version it is used from. We have this also for XML schema following including ports. We have this for relaxing, showing included schemas and so on. Next we plan to have also call hierarchies, type hierarchies, all this kind of stuff. What I wanted to show you for Dougbook for XSLT is... This is the outline that shows not only components from the current document, but also from all the included and imported documents. I can filter here and I filtered on base-dir parameter. What I want to show is I want to rename this using one of the refactoring actions that oxygen provides. You can see that oxygen detects all the places where that component is used. It shows you what change it will do. If you have a project this size it will be really hard to perform such a rename manually because you will need to find all those places. I have one more topic if I may. It is X-query and X is to support. I plan to show that with using X-EAST. Oxygen supports basically all the XML databases available and provides X-query support and allows to browse the resources from the database. I started X-EAST and I go to the database perspective. As you can see here I have a database. If I open a dogbook document that is stored in the database, I can edit it as any other resource. It is just like a file on the local system. I can save it and it will be saved in the database. We have an X-query here. I can execute that. We added support also for 10.2. When a database returns you a lot of results. We will show only a part of them. We can get the other ones if the user wants to. Otherwise if you get like 15 megabytes of results, it will blow up the application. What we added recently is the support for database functions. The oxygen shows, for instance, the signature of the functions, what functions are available in different namespaces for each database. Some of these features that I showed you are not yet available in 10.1, but will be available in about one month in 10.2. I hope you got an overview of what oxygen does. What we plan to do next will be to do more on this refactoring part. I plan to have this visual part, like we have for XML schema, for NVDL, for instance, or for Schematron. We plan to increase the number of refactoring actions to have an IDE like a Clitz offers for Java, also for XML. Thank you. Thank you.
 My name is George Bina. I'm from Syncrosov, the company that develops  Oxygen XML Editor. And I'm here with my colleague Octavian that helped me put  together this demonstration. I will show some of the important features that  we added in Oxygen in the last versions. And I will be using  a developer snapshot for the demonstration because I want to show you also some  of the features that are working progress and will be available in one month in  version 10.2. The demonstration will show the XML  authoring part and the XML development. And in the end, I will also mention some  ideas that we have for the future. Let's start with the XML authoring part.  Oxygen includes visual CSS-based editor that allows content authors to edit XML  documents in an interface similar with the word processor. And what we tried to do  with visual authoring was to use very simple principles for editing. And in  Oxygen, there are just two things that you need to know to edit visually. First,  you need to locate a position where you want what content or markup. And then  you are the type to insert content or press enter to insert markup. And I will  show you that immediately with a practical example. We use, for our website,  we have an XML document, this one here. And we convert this through XSLT to  get the Oxygen website. And as a side note, you can see here that this uses  XML schema, schema-transchema, embedded rules from the XML schema and entities.  It mentions also the ZD for entities. And you can see also the CSS stylesheet  that is associated with the document. And when I switch to the Outer Mode, I can  see the document rendered through that stylesheet. And this is how it looks  like. And I will show you immediately how editing works. So there are just two  basic steps that you need to know. If I want to enter content, I just go to  that position and I just type in the content. And if I want to enter markup,  I just press enter and I get a proposal with what markup, what elements can I  enter in that location? So if I enter an inline element that is already rendered,  and I can type in markup. And now the problem is how to locate the right  position. And Oxygen provides mainly three ways to allow you to know where you  are in the document. And what I use all the time is that when you pass through  a boundary, you can see location tooltip that shows you where you are.  You are between the title and the paragraph here. You are at the beginning  of the paragraph. If I press enter here, I can enter a new paragraph here.  And basically that's all you need to know to be able to edit visually the XML  documents. Apart from that, for instance, if we have, we offer also, if we have  an inline content, and if I select something here, if I press enter, I get  again the proposals. And if I select an element, then that will surround that  location. And if I press enter here, the first proposal is to split the paragraph.  And if I press enter again, I can see that Oxygen creates a new paragraph, and  the split is performed deeply. You can see that there's also the strong and  strike elements are present in the new paragraph.  There are a number of views for the visual mode. One, for instance, I can put  on the tags. And this allows to easily move content, for instance, if I want to  move one paragraph in front of the other or with drag and drop actions.  Now, one problem that we had when editing the website is that we have many  people that edit the website content. And each one has different formatting  options. And a small change made in the document resulted in a large number of  changes when you compare the revisions from the subversion repository.  And we needed to find a solution for that. And what we did was to use the  project level support for options that Oxygen provides. And we put, you see,  almost all the pages, option pages have these global options, project options,  radio button. And we put the options, the formatting options at project level,  and all the people edit the website through the site project. And thus, we  get only the relevant changes that each one makes on the website. And this is  a problem that appears all the time when you have multiple people working on  the same document. Okay. Let's go back to out-toring.  Oxygen provides ready-to-use support, apart from these basic stuff, for a  number of, for the most popular documenting frameworks, document  frameworks like Doug Book, Dita, Dita, TI. And for this, we provide more than  the basic support. And for instance, this is a Doug Book file document. And if I  switch to the Outor mode, you can see a large number of actions here.  Oxygen detects that this is a Doug Book document from its namespace and loads  specific support for that. One, once I see, if you notice here the tables, you  can see that there are current specifications for tables, right? And  Oxygen provides multiple cascading stylesheets. You can set alternate cascading  stylesheets. And I can choose one that hides the current specifications.  Then we provide actions to easily insert different types of emphasizes,  different links, sections, paragraphs, images to insert different types of lists.  And I can just add more list items. So instead of going like, no  positioning between the two list items and entering another list item, right?  And then doing something like that, I can just click a button and have that  immediately inserted. Then we have extensive support for tables that  allows to, that handles both cost tables and HTML tables and allows to create  whatever table structure you like through joints and splitting different  cells. And we have working progress here to handle support for current weeds  and to allow people to drag and drop on a table column, for instance, to specify  its width.  More than that, we have Oxygen provides support for linking and for  included content. For instance, here I have a Dougbook file document that uses  Xinclude to add some more of the few sections. And if I switch to the  OuterMode, I get this representation. So the Xinclude content is rendered to  present a consolidated view of the document. And I can just click on this  icon to go to the Xinclude file and I can edit there. Yes?  Yes, it works the same with entities. Yes. And I have also, on the  linking part, I sketch the presentation here and I put some links using  Xlink. You see, here, for instance, right? So if I click here, I get to  add a document. But all this for Dougbook, nothing from this support is  hard-coded in Oxygen. Everything is just a configuration. And we provide  a default for Dougbook. And anyone can create another configuration for  another framework for basically your type of document. And if we look in the  Oxygen options, you can see here that we have a document type association  entry. And this lists a number of frameworks that we support. And for Dougbook,  you can see that we have a rule that detects that a document is Dougbook  that specifies, okay, it's this namespace, the Dougbook file namespace, any  local name for the root, any file name, any public ID. And we allow also to  have a class if you want to detect more, looking also at attribute values, for  instance, to detect that type of document. And then you can see that we have  the RelaxNG schema with embedded schema rules that Oxygen uses automatically  to edit Dougbook file files. You can specify transformation scenarios that  we want for Dougbook. So when you have a Dougbook document, you just can one  click to get PDF or HTML. But all these are configurable by user for any other  framework. XML catalogs, new document templates. And on the outer tab, we  have the stylesheets that we used, the cascading stylesheets that we used  for rendering. And then all the actions that were available in that toolbar.  And here the support for defining these actions is very, very easy to use by  any user. Because if we look at the insert paragraph action, that is edited  visually in an interface. And the interesting part here is that it  performs different operations in different contexts. If you are in a  paragraph, you will insert the paragraph after that. And you can see here  that it says, it's just an expat expression that says,  Anchester or Selfies paragraph with the Dougbook file namespace. Then  perform this operation, insert fragment operation where this locates the node  and after that insert the new paragraph. And here you see that it's in the  context of a title. And this is the default action. And for insert  section, for instance, there are 12 different contexts that are defined.  But the idea is that you can create these actions because you can use this.  We provide a lot of common operations already implemented. The source code  is available for these operations. So it can be easily extended to create  other operations if these are not enough for what you are doing.  Okay. What we have for the XML Outer, and I will show you why I'm still  here, is for the next version, is track changes support. So if I enable  track changes, then when I add content, okay, that is marked up here.  If I delete something, that is deleted. And then I can see those  markers. And in a further operation, I can accept or reject changes.  It will have multiple, or support multiple users.  So Oxygen has these two mind parts, the Outer ring and XML development.  In the Outer mode, they are working in the visual Outer mode.  And basically there are some set of highlights that show different parts  of the document, highlight different parts of the document.  And when we serialize the document, because this is in the Outer model,  and when we serialize the document, we convert them to processing instructions  because this will leave the document in the same form.  It can be processed in the same way.  Yes.  Okay, so...  We have some more plans for the Outer ring part for the next versions.  Apart from the change tracking, we plan to improve the dog book support  to offer a better support for creating all links.  Okay, I mentioned that we extended the CSS support for handling tableweeds.  And another thing that I want to have...  is a way to...  You know, when you go between two paragraphs,  sometimes you may need to go from one paragraph directly to another.  Right now you can tap to move more quickly to another element.  But I was thinking of a way to...  You know, you press R down, you should get sometimes from one paragraph to another  if you are not interested to enter structure, if you are interested to enter markup only.  Okay, let's move to the development part.  This is actually what we do for eight years, actually, from 2001.  Oxygen offers support for the mine XML development technologies.  We support all the XML schema languages, including NVDL that you saw this morning,  including Schematron, XML schema, RelaxNG, DTDs, Schematron rules embedded in XML schema,  the XML schema and RelaxNG. We have support for XSLP1 and 2 and Xquery and XML databases.  I will just show you a couple of interesting points that are in general in the latest... ...adjusted additions. One is the new schema diagram that we added in version 10.1  that presents the schema and allows, at the same time, to edit the schema directly on the diagram  without going to the code. You can do that using in-place editing, drag and drop, a couple of side views  that can help editing and contextual actions.  For instance, if I...  I included a schema. I consider included content also in the outline view.  You see it here.  I can add a new element.  If I want to rename it, I just click on that and I can enter a new name.  Then I can assign a type to that.  I can just add that to the person content model.  Make it optional.  This is the general...  If I want to change the type, I can double click here and choose another type  or I can use the attribute side view to change any of the properties.  The outline will allow me to filter...  If I want to see only person and address, I can just type there, add and comma person.  I filter the outline to see only those components.  Another interesting action that we provide is to allow, for instance, to extract the type from an element  or extract a group from a model group.  If I extract a global type from here, you see I get a proposal.  We set automatically the type value and the oxygen extracts that as a separate type.  More than this, we added a new schema documentation support in oxygen.  We had also before support based on XS3P schema documentation generator.  That was in haste with diagrams and a lot of stuff.  We had a lot of problems and we decided to create a new documentation support starting from zero.  What's interesting with this is that we convert the documentation in XML.  From that, we have a couple of styles sheets that convert to Doug book, convert to HTML and convert to PDF.  The interesting part is that the documentation can be part of your documentation.  For instance, we use Doug book for our documentation.  If the schema documentation is also Doug book, the schema documentation becomes part of your company documentation.  It's not a separate research you link to.  There are a lot of options that allow you to set what will be in the documentation.  You can also export those to files so you can reuse them or use them from the command line if you want.  If you want to integrate the documentation in a workflow.  You can see here how the documentation looks like.  It has schema diagrams.  You can click on them to see the...to navigate.  I also put here the PDF documentation.  The outline will allow me to filter.  If I want to see only person and address, I can just type their add and comma person.  I filter the outline to see only those components.  Another interesting action that we provide is to allow, for instance, to extract the type from an element.  I extract a group from a model group.  If I extract a global type from here, you see I get a proposal.  We automatically set the type value and the oxygen extracts that as a separate type.  More than this, we added a new schema documentation support in oxygen.  We had also before support based on XS3P schema documentation generator.  That was in haste with diagrams and a lot of stuff.  We had a lot of problems and we decided to create a new documentation support starting from zero.  What's interesting with this is that we convert the documentation in XML.  From that, we have a couple of styles sheets that convert to Doug book, convert to HTML and convert to PDF.  The interesting part is that the documentation can be part of your documentation.  For instance, we use Doug book for our documentation.  If the schema documentation is also Doug book, the schema documentation becomes part of your company documentation.  It's not a separate research you link to.  There are a lot of options that allow you to set what will be in the documentation.  You can also export those to files so you can reuse them or use them from the command line if you want.  If you want to integrate the documentation in a workflow.  You can see here how the documentation looks like.  It has schema diagrams.  You can click on them to see the...to navigate.  I also put here the PDF documentation for schema.1.5.  There were some challenges creating the PDF documentation because all the diagrams are very big.  You need to put some work to have that in this form.  Here is the documentation for XSLT20.  You can see here we generate also type hierarchy.  You can see what elements can go inside that.  You can also use these options to specify what is visible or not in this view.  You can also have the ISO schema documentation in Dougbook.  I can open it in the Outer Mode.  I want to see it in oxygen.  On the XSLT support, I will just take one more moment on the schema part.  I played with the visual outer page for the schemas.  I created a cascading style sheet to render the schema in a visual way.  I believe it ended up with a really interesting presentation.  You see the schema that I showed you earlier looks something like this.  It is really like a quick documentation.  More than that, you can edit here.  You can just edit in the Outer Mode.  It is really funny.  What I did this for is that I provided also another style sheet that shows renders only the annotations.  It serializes the schema document.  The idea was to be able to edit HTML annotations for the schema directly here.  You see if I enter HTML or whatever language that can be rendered,  that you have a framework in oxygen, can be used and you see the annotation rendered directly here.  For XSLT, I have here the Dougbook style sheets.  What we have in the new version is this recess higher archive view that shows what style sheets this include.  You can browse down to see or you can show dependencies.  Where is version included from?  This takes a while because there are so many style sheets.  Then you can see the past version it is used from.  We have this also for XML schema following including ports.  We have this for relaxing, showing included schemas and so on.  Next we plan to have also call hierarchies, type hierarchies, all this kind of stuff.  What I wanted to show you for Dougbook for XSLT is...  This is the outline that shows not only components from the current document,  but also from all the included and imported documents.  I can filter here and I filtered on base-dir parameter.  What I want to show is I want to rename this using one of the refactoring actions that oxygen provides.  You can see that oxygen detects all the places where that component is used.  It shows you what change it will do.  If you have a project this size it will be really hard to perform such a rename manually  because you will need to find all those places.  I have one more topic if I may.  It is X-query and X is to support.  I plan to show that with using X-EAST.  Oxygen supports basically all the XML databases available and provides X-query support  and allows to browse the resources from the database.  I started X-EAST and I go to the database perspective.  As you can see here I have a database.  If I open a dogbook document that is stored in the database,  I can edit it as any other resource.  It is just like a file on the local system.  I can save it and it will be saved in the database.  We have an X-query here.  I can execute that.  We added support also for 10.2.  When a database returns you a lot of results.  We will show only a part of them.  We can get the other ones if the user wants to.  Otherwise if you get like 15 megabytes of results,  it will blow up the application.  What we added recently is the support for database functions.  The oxygen shows, for instance, the signature of the functions,  what functions are available in different namespaces for each database.  Some of these features that I showed you are not yet available in 10.1,  but will be available in about one month in 10.2.  I hope you got an overview of what oxygen does.  What we plan to do next will be to do more on this refactoring part.  I plan to have this visual part,  like we have for XML schema, for NVDL, for instance,  or for Schematron.  We plan to increase the number of refactoring actions  to have an IDE like a Clitz offers for Java, also for XML.  Thank you.  Thank you.
oXygen_XML_Editor_demo_2_0_59.png oXygen_XML_Editor_demo_2_60_4295.png oXygen_XML_Editor_demo_2_4296_4523.png oXygen_XML_Editor_demo_2_4524_4679.png oXygen_XML_Editor_demo_2_4680_4727.png oXygen_XML_Editor_demo_2_4728_5267.png oXygen_XML_Editor_demo_2_5268_13271.png oXygen_XML_Editor_demo_2_13272_18479.png oXygen_XML_Editor_demo_2_18480_19307.png oXygen_XML_Editor_demo_2_19308_19691.png oXygen_XML_Editor_demo_2_19692_20447.png oXygen_XML_Editor_demo_2_20448_20723.png oXygen_XML_Editor_demo_2_20724_21251.png oXygen_XML_Editor_demo_2_21252_21311.png oXygen_XML_Editor_demo_2_21312_23483.png oXygen_XML_Editor_demo_2_23484_27263.png oXygen_XML_Editor_demo_2_27264_27311.png oXygen_XML_Editor_demo_2_27312_31595.png oXygen_XML_Editor_demo_2_31596_31667.png oXygen_XML_Editor_demo_2_31668_33395.png oXygen_XML_Editor_demo_2_33396_42923.png oXygen_XML_Editor_demo_2_42924_48479.png oXygen_XML_Editor_demo_2_48480_49223.png oXygen_XML_Editor_demo_2_49224_49715.png oXygen_XML_Editor_demo_2_49716_50171.png oXygen_XML_Editor_demo_2_50172_50963.png oXygen_XML_Editor_demo_2_50964_51407.png oXygen_XML_Editor_demo_2_51408_51563.png oXygen_XML_Editor_demo_2_51564_51959.png oXygen_XML_Editor_demo_2_51960_53063.png oXygen_XML_Editor_demo_2_53064_54731.png oXygen_XML_Editor_demo_2_54732_58967.png oXygen_XML_Editor_demo_2_58968_59267.png oXygen_XML_Editor_demo_2_59268_60083.png oXygen_XML_Editor_demo_2_60084_61175.png oXygen_XML_Editor_demo_2_61176_64199.png oXygen_XML_Editor_demo_2_64200_64274.png