Towards an Document Object Model (DOM) for Scribus

Video thumbnail (Frame 0) Video thumbnail (Frame 750) Video thumbnail (Frame 2571) Video thumbnail (Frame 5608) Video thumbnail (Frame 10100) Video thumbnail (Frame 11858) Video thumbnail (Frame 12927) Video thumbnail (Frame 16327)
Video in TIB AV-Portal: Towards an Document Object Model (DOM) for Scribus

Formal Metadata

Towards an Document Object Model (DOM) for Scribus
Title of Series
Part Number
Number of Parts
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date
Production Place

Content Metadata

Subject Area
A Document Object Model serves more than one goal. Apart from storing the document’s data, it also supports scripting and serialization. It’s also the backbone for talking about compatibility, extensibility and testing. In this talk I’ll propose to use Relax NG for describing a new Scribus file format that also serves as DOM. With some tools, design patterns and Qt’s metaobject framework it will be possible to generate a DOM that maps 1:1 to the new file format and is accessible to scripts.
Keywords Libre Graphics Meeting (LGM) Libre and Open Source graphics software
Data model Group action Goodness of fit Process (computing) Computer animation Real number Object (grammar) Object model Endliche Modelltheorie Implementation DOM <Programmierumgebung> Window
Implementation Group action Serial port Computer file State of matter Adaptive behavior Sheaf (mathematics) Heat transfer Mereology Element (mathematics) Number Object model Software testing Software framework Endliche Modelltheorie Mathematical optimization Social class Form (programming) Standard deviation Knowledge base Key (cryptography) Cartesian coordinate system Computer animation Network topology Object (grammar) Routing
Web page Point (geometry) Complex (psychology) Implementation Run time (program lifecycle phase) File format Sheaf (mathematics) Device driver Mereology Declarative programming Product (business) Formal language Element (mathematics) Attribute grammar Revision control Goodness of fit Positional notation Natural number Object model Integer Data structure Endliche Modelltheorie Angular resolution Key (cryptography) File format Forcing (mathematics) Content (media) Electronic mailing list Attribute grammar Limit (category theory) Type theory Computer animation Formal grammar Bijection Object (grammar) Data type Data structure
Point (geometry) Group action Implementation Computer file Multiplication sign Adaptive behavior Insertion loss Mereology Computer programming Element (mathematics) Attribute grammar Number Mathematics Positional notation Different (Kate Ryan album) Gamma function Formal grammar Social class Theory of relativity Namespace Block (periodic table) Poisson-Klammer Attribute grammar Computer animation Personal digital assistant Convex hull Social class Data type Data structure Spacetime Library (computing)
Implementation Theory of relativity Information Software developer State of matter Software developer Execution unit Code Numbering scheme System call Food energy Writing Computer animation Bit rate Query language Different (Kate Ryan album) Core dump Universe (mathematics) Right angle Data structure Implementation Data structure Reading (process)
so what think it's more like a roads to toward the document
object model and the 5 from out and the smallest like lightning talks so expensive a chance I'll make good on the 15 minutes delay we already have OK and that's not what the document topic model so that 3 groups and document means that describes document not any menus all windows or processes already we island and stuff like that
but trusted document and 1 thing you would expect if you haven't seen the document optimal object model into write it to a file transfer and then you know the spot again to get mobile conducted model they should you should have a faithful copy of the original document and of course object means Scott from oriented soul you would expect some kind of trees albeit and every object has a tribute to methods an important part and that's frogs legs right now it's it's a model not and implementation so of course we have classes of and opportunities class struggle which describe the document a book Russell kind of lost after and how to do something for the handling and what else and that's not what what's so we animal models so the advantage of a model when you can no more than 1 implementation fury majority have an implementation don't make sense anymore it's about things you have to have a model which relates different implementations OK so dark conducted model has
many uses so 1st 1st to guide implementation but then you can also use it for serialization that is brought into a file and loading from a file so the most common knowledge bases do just as XML and met objects to the key to XML elements and so at tributes of adaptive routes to XML tributes all over of elements which can also used for scripting soul if you look at standards like SVG they you describe the document object and expressed in the form of the town hall JavaScript again to gen access a document change a document and work on it so that's a number of important thing you need to do that and it also helps to fund because of given document object model you can destroy OK I have a section and I have a user looking up and describe the state before and out action and then I understand is just erupted can alter do would use it for testing so you have the document object model where you define some of the methods to know what's expected and it was just that but just more modest gives a framework about to talk about what is to test and because of Japan's implementation and you don't know what it's supposed to do and well you can just of love and then say OK do I like to do a lot like it but it's not really testing and of course another possibility would be to help with the interoperability so if you have different implementations of 1 document electric model you could have different applications which use the same document object model and hopefully can exchange data OK so why do you know what our proposals promises to use Relax NG to describe
document object model structure of and relaxing this XML schema language known so the most common in the Our Aleksandr G. origin was DTDs document type declarations who might know about they have limitations and of course all official XML schema language from the region where w 3 c which is a kind of complex and not nice DTDs is the keys themselves are not XML they are the parts the products Millstone about how to describe xml XML schema of languages all with XML which is an advantage and but has the disadvantage of XML is not very rapidly of this example of Relax NG is this is a compact representation of Rexin-G interesting moral and is that they have to fight us and equivalent and you can convert this compact notation you see an example to XML version you can use for tools and there also a one-to-one correspondence Mr. denies so but and here you know I just made actually possible grammar driver so yes tool have start elements use they start document then the command is an element like struggles talk and describe a stock of of a preference section and resources section of Style section content section structure that might section and having said that you'll go on the same OK preferred has it looks like this is just a list of attributes and here I used some real actually use use right now and drivers and which are probably going to change for example this name unsolved pages it's nature of German on English and we really want to get rid of that and have problem English names every for every hour OK you can also see that if you have a actually then that enable them to do so and so the you can give it to a type data types so there's an integer you know what it is and it's possible to define several these data types and in some predefined commands like integer text but you also get a good define your own like points and whatever OK so
advantages so it's a regrettable I hope you agree that and that's allows it's 4 to discuss a bunch structures because it's not fixed it a mock and women would develop possibly and may be also interested users we probably will do something discussions on how to fix it file format of the document optical-model model force drivers to make the most usable the kid and so like savages but also provides a father but at the same time so that the when when complaints about existing far from article was too complex and of course we have also have to change of father mother once in a while because people like to spot tinkering of it and so yeah and we will have good correspondence and between the implementation of objects at runtime and father also the next thing is because plexin G. Kenneth has been butterfly which with XML was good tool support for X and the full validation and for almost all and so only
it's extensible can add annotations to elements which could tell how to use these elements for that documentation to that you can separated you'll or program I would make spaces so we could use as a gene name space as well as Long struggles space as well as the assessment there's a lot of and only have some interesting ways to use data but libraries where you can define your own data types and 1 2 and we have some of data points which are you try for example for 0 point apostle or the talk or loss OK so I just make an example
what in notation in Rexin-G would look like and the green part although there was an adaptation it looks very similar to the rest of just square brackets and so right now on user namespace I am pl for implementation and I'm adopted class will be and named strongest block and by idea is that this annotation tells us if we have elements Travis lock in the the cases in the XML file we are supposed to use the C + + class describes thought in general case there in the program and the idea is to have a tool which translates Rxx and the 2 C + + called in a certain way that's but exist yet but there some good reasons to do it like this way and back sometimes if you look at the Statue groups it's only the 1st 3 attributes and describes the command has probably sound doesn't olfactory newts just folders and altogether a number of different on different elements of thing goes into the falls so now if you see that for every n to do to make it accessible you have to write it to examine you have to posit from XML you have to have methods to set and get enough method the value you have to make it available for scripting you want to make undo changes to it and stuff like that and if you want to do it a consistent matter but you have to do like thousands of times it's very our problem so it would be nice to have a tool which just takes like an annotated relation the file and creates a cold which doesn't automatically in a consistent way so with 1 of the aims of looking down and as a conclusion and what are the
steps ahead so 1st thing would be to define direct inducing like lot like a mock I just started to get it going and the 2nd would be to implement a answer a relation inscribed so we would act methods and Strogatz well over existing at the document implementation would write all except as which would be validated against from right the Relax NG schema we have and once we have that we can discuss a structure developers the community to tinker with it and make it better and so we give all also sold for from 1 . 6 we have a nice read on the is all of the right to use all the greatest of all these and the idea of the world and related to the issue of how all you need to know all of the the of and the energy the universe reiterated goes on and on and on and on and on and on and on and of the the new queries to in the core was used to be the same as those used in the whole history you group 1 thing that you do and you know what you mean that you can create communities will be used for all of the units to about solutions and of the people the so if you were there is a difference I want to go on and on and on and on the other side of the data you know the to people so this that you is here you more you have to all the overlap between the both of them 1 of the reasons people I hope we can think of this and you know what the overall rate and you have all these the only state thing that we I say 1 1 of the of all the data in the light of all long half of this world call for I think all during the of but they also have a look at this information is also very what yeah B. if if