Merken

DTDAnalyzer: A tool for analyzing and manipulating DTDs

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
and so on as I have just introduced outline the has some very happy to
make this presentation on behalf of my co-presenters and authors or Chris Meloni ivory handlers were both have an 11 and as you're being asked that have long consulting and I will be talking about the DTD analyzes but which is mutual iron family keep referring to it as the tool because same DTD analyzer gets of the difficult on the way the analyzer works or what it
does is that it will take any DTD and it will convert it to an XML representation but you can ask what it is that all get to it but it is an open source project and we've got the link to where it's hosted on GitHub on the screen and mean courage everyone visit again have sigh download project participate and let us know what you think in we can make it better I in it is written in Java
should build a run on any operating system and we've got the commanded to invoke the basic function of the tool on the screen you simply say DTD analyzer you give it
the location of a DTD and you specify a name for this output file which contains the axonal representation of the DTD now
what can you do with this representation and we have this term and that you can do a lot with that and we have a couple of
use cases where we have found it very useful but 1st of all you can analyze your DTD structure and content with the decay the analyzer are as you saw yesterday and East sneak peek but you can also create documentation with the DTD analyzer and a finally but deftly not least it's very easy
with the output from the analyzer to create scripts that can either manipulate the DTD itself or that can change XML files that conform to your DTD so we're really talking in automated conversion script from being driven with this tool I've got examples of all 3 of these use cases that I'm gonna walk through during this presentation on lattice starts with an analysis use case but this is a pretty common need let's say you've got 2 versions of a DTD anyone compare them to other say it's the NLM DTD that publishing version number 3 and you got the brand new nice jets DTD and you're wondering and How are these things different changed you know what what elements have changed what elements have been removed which element and and added the you can do that with the DTD analyzer you can
run a comparison report and got the code for this report as part of the project and actually in this a static shot of the reports remember the commands here are good we actually have a live version of the comparison report of so as you can see the output of the comparison is an HTML taken viewed a web page I 0 good it's big enough to actually see at the very top of the report we list how many elements of change you can see right there in the summary 204 elements have changed going from N Alam tonight so that no elements have been removed but 11 elements have in fact been added in fact we were jump
down you could see the listing of what's up then added so you have things like at alternatives inhibits content model and it's actually use if I go back up to the top you can scroll through and see if they are a listing of all the elements that have changed I c can see for example the agreed elements of the attributes of change the old from an LM are listed on the left and all of the new active user rather all the activities that are now in ISO are listed on the right so how do we do this comparison but it's actually very straightforward since we've got an XML representation of both of the DTDs it's very easy to write an XSL that simply steps through both of the axonal documents and says OK what elements are in this city but not in that DTD and viceversa and OK for every element that's in both DTDs let's compare their attitudes are those the same and let's compare the content models and we refine the difference we can output in the report now this comparison I will be the 1st to admit is not the most sophisticated in the world but so for example if you look at the abstract elements it's listed as having a difference in we can see the content model of the and the job in an ISO and you can see that yeah the condom model technically is different community can't be small but what you gotta some extra parentheses now if you speak DTD you know actually that's not significant the active the same content model but the XSL is simply doing a string comparison and the strings are different so it could be more sophisticated but even though is only doing this very simple comparison I use this tool for a long time from 5 about 5 years I find it really useful in any kind of conversion projects it helps me to pinpoint the elements that I really need to look at it as a human being to do some analysis on let's move
on wrong the what does this XML representation look like this thing that's driving these comparisons and this is a high-level view of it so for every DTD we create this document the root element is declarations and then we've got the information on all the elements inside the etiology attributes inside the DTD all the parameter and the general entities in the DTD immediately open that up because I've got an
example be new here but
this is the output from running the tool on the journal publishing duty if I expand the and in Section we can see a listing of every single element in the DTD is represented here in XML so every element gets an element named element but it's pretty clear if repetitive so you can see the element name we give information on where the element appears inside the DTT so for example you can see that string date is the 54th element in the DTD we give you the location of the element decoration in the DTD both in terms of the file name the public ID for that file and the line number of the Declaration and most importantly we capture the content model of the elements and we do that in a couple of different ways that we've got the string form that simply shows the Declaration as it appears inside the DTD but we also horse that string apart in we can give you a structured content model and this is new about Cris Maloney excellent work just actually put this into the DT analyzer and you get things like of a single child elements this dispersive whether or not the sequence with the cardinality is of all the elements of the grouping there's choices so that gives you really rich look at what the constant model actually is and you know how I said before the comparison was not that sophisticated but well with this kind a structure we could probably do a very sophisticated comparison of of how an element is change from 1 version of the GTD to another just haven't had a chance to try applying that not in comparison report so that we have a list of trials of things to try and improve 0 I should ask will just jump that I wanted to in the weeds on how the DTD is modeled of this job done just quickly show you how aculeata captured so every unique active you name it gets captured and then we show that the that where that attribute is used which elements and then exactly the Declaration of that action viewed within the context of that element so you can get call
lost all this status all just use them the and because you're representing your DTD in XML you can now do all that good stuff that you're used to doing with axonal document you can apply all the tools to your XML the analyzed that DTD now you can use XPath so if you wanna know how many elements are in the DTD you just say count all the elements I do I know this is obvious example how many athletes have multiple declarations you can write an x squared so what this is doing is on you know how you can have of
like an alt attribute in the here and lots of different elements in general you can know what the same declaration to be applied for the all attribute to every element so it should be required it should be like enumerated list yeah I don't wanna make a mistake in DTD and actually on some elements make it optional and light just data and and other elements it's required and it's enumerated but you don't want that but but it's easy to make a type of when you're creating a DTD hard to find those problems but now because everything is in XML you can write an expiry Stephen like this which after just loops over all of the at the decorations and checks them so it helps you maintain your DTD structured
comments on so DTD analyzes the tool is Ozzy capturing structural information about you DTD but it can capture more information than just that but specifically winded tool runs on the DTD it looks at every single comment that you entered into the DTD files In if you insert special delimiters into those comments if you structure your comments the analyzer can read at an extract that information and create what you see on the right so on the left you create when the structured comments you say to till is the name of the elements and then the text of your comment when the analyzes sees that it realizes 0 0 this is an annotation for the splits element enable rapid information and create what you see on the right which is an annotations tagged with an indication element inside of it my universe we see indications with a single annotation on so that implies that yes you can have
more than 1 annotation for an element is it would be kind of boring go only had 1
annotation you can actually structure your comment to have sections you can split up the say I've got a model section 8 tag section and and Examples section and when you create the annotations we get a model annotation tags annotation and examples annotation and as you can see the analyzer is doing a little bit of magic behind the scenes of certain section names have significance to the analyzes so for example but if you put a tags section in your comment then the analyzable take all those words in rap
all the words in the tag elements are the other bit of magic that's probably even more obvious is it's taking that text and turning it into xhtml and for that we are actually using
a on of format called marked which is comical wiki language but it'll do things like if you put asterisks it'll turn those into bulleted lists 5 to indent things a certain way it turns them into code blocks so that gives the opportunity to sort of create by even better representational mark up inside your annotation on but of course you may not want xhtml in your annotations and so you have the option to turn this off when you generate your X more representation you just say no marked down don't convert anything into xhtml in a wall so that gives you a lot of control over what the annotations look like the now what can you do with this yet he had a sneak peek of this yesterday but you can take all that structural information and those annotations and you can create a really nice documentation directly from the DTD fact it's so good or so important we've created a stub tool as part of the project a heightened do it that was Chris you just give the command DTD Documenta you tell it where it should output all the documentation and then give it the location of your DTD and it will create documentation that looks like
this but so this is an example of a DTD that Chris marked up for us and put into the project and you can download it and take a look at it but we generated in the documentation for it and you can see yet she come 1st of all to like a home page a landing page about the DTD would like all this text about the DTD all that text was inserted into the DTD as an annotation on the left hand side we've got all of the elements that are inside the DTD we have all the active it's inside the DTD if I click on 1 of the element names we go right to the element model you can see its name its content model and then we got this text for bananas make a bunch and so that many more of but that was an indication that was attached to that element that was automatically extracted and put into the documentation but I also mentioned that some annotations can be tags we achieve list all the tags here that appear in the annotations if you click on 1 of them you navigate to which elements are tagged with that word I think this is really cool because when we were all maintaining a DTDs we're always writing all these
comments into the DTDs right but no 1 ever saw that because you know only you had access to the DTDs so for all the end users you had to create all this additional documentation unitary Word documents of PDS a website with all information to explain to people how to your DTD well that's multiple files try to have to maintain you have the option of if you want to you can embed all of your documentation directly into the DTD and then you just run a single command and you can go from your DTD straight to because it will extract all the annotations that you entered In fact ideas so nifty we have lots of options and you have to go to the did have sight to see where all the options are but you're some of them when you generated your documentation you could say you know dash dash roots and then give a list of elements like full bar and back as and when the documentation it's generated it will only contain the documentation for food bond that has plus all of their descendants you can restrict what shown in your documentation are you also the option to say exclude you could exclude a list of elements or you could say exclude everything that's prefix with animals so don't show me any the math and all elements in my output I only wanna see everything else but you also the option exclude except to exclude all the maximal elements except the MML element show that the documentation you out of options out you can replace the CSS that's used a style the HTML you can include a different job a script file that have written so you can control the behavior of the documentation once displayed in your browser and of course but you always have the option you've got the XML with all the structural information about you dt plus all the annotations from the DTD I you can write your own process you write your own cell or some other process to generate the exact documentation and you need like for example you may you need things outputting PDF you've got the wrong XML you can go ahead and create your own process to do that the the well as great as documentation is from sometimes it's not quite enough and here's an example of that but let's say you've got a DTD like this on the screen that define the section element that contain other sections are and also has a level at tributes that lets you set at what level that section is in your documentation the reason is due to the analyzer you can say how this element and that actually it should be used you can explain you hafta Nafta sections properly and can even give an example you can say look section ones contain section 2 is don't put a
section 1 inside of section 7 it's not allowed the only problem is that is that enough to prevent people from misusing your tags can anyone his work of XML knows no way people don't always with the documentation you if they have the documentation we may not understand it which is really like to do is restrict what people can do with your XML the normally answer to that these days it is to do something like God creates Schematron file which is a framework that let you control what the usage of your XML and so and Schematron you can write a rule for every section element in in that rule you can say you know In that restrict it so that every sections parents level has to be 1 less than my level yes that's the rule and it's not right you can insert their output an error message and I'm using report your impressionism is assert but anyway those same thing that the idea that the problem with having a Schematron file is not again you got multiple files you gotta DTD over here with all the documentation and at and I values Schematron files in over here which are going to enforce the usage would it be nice if you could just and searches Schematron rules directly into the DTD because you can if you want to you can insert a steamer transaction into your comments and then answered the specific test that you want to use to enforce the usage OK then you say what I do how old do I still need us Unitron file no
fears we've got to where I should say Audrey has authored by an XSL that will go in through the DTD extract all of the Schematron annotations and create a Schematron file that you can then apply to normal validation processes so in fact we've got a single command that can go ahead and execute this you simply say dt analyzer give publication and the DTD specified the DTD schema Tron XSL and the name of the output
file Schematron sch you can then go directly in 1 command from your DTD to the distinct from follistatin force on the usage I like this a lot because I'm kind of program in a bit of a deep so I I like the idea that you can go directly from a DTD through human readable documentation in human readable output we can go directly from your DTD to machine readable output in this case it's a schema try but that begs the question why can't it be something else so why can we go directly from the DTD to something like and XSLT specifically can we go from the DTD to a conversion script written XSL that will then convert content that conforms to my DTD can we do automated conversions and the answer is yes you can all you have to do is create what's shown in red a magic
scaffold XSL that will produce another XSL not that tends to give people a headache XSL cell that produces another cell but it's perfectly possible to do in fact we've written it as part of the study to the analyzer project we have a scaffold at the cell and it will generate the conversion script based on your DTD but what is that
conversion script well OK now I have to own up to the fact it doesn't do a lot and it's not supposed to what's supposed to do is serve as a basis for you to continue development on that screen but it's a short cut it helps you along not specifically what scaffold axis on does it read through the DTD and for every element in the DTD it will output the conversion template for that element and I grab 1 of the elements of to show you pretty small but this is for the article element inside the factor journal publishing DTD and is a good example because it is exactly what every other template looks like all the templates look exactly like this but it gives you in the header comments it shows you the name of the element that's being transformed it also shows you the content model for that element because of course we got access to all the information the DTD that that is very handy because when I'm writing conversion scripts the I always forget I call yeah what would have attributes are in this element but which are required which are optional the iris always have to stop and go and look it up now I don't have to act just keep focusing on my script and they're all the information is but in addition to the body of the template all this does is it just copies the element of unchanged now of course I don't actually want that I want to change that element to something that our eyes a programmer can go window in
just you know tweak this template to do what I want or think what this way what if I went through the DTD and I annotated and I wrote an annotation this element should become this other element I could then go in and just scaffold XSL so that rather than output b element unchanged you could output the element that I told it's too now what if in fact it wasn't me doing annotation but maybe it's the analyst may be due to the architect should go and as the analyst and do all the annotation and then the programmer can focus on writing a script that follows the rules spelled out in the annotations of and to get a nice separation of responsibilities so that's the advantage of scaffolding scaffolding is the automated generation of code in this case
huge advantage reduces typing I don't have to go in and type a rule for every single element which I have to do anyway because the code is generated for me no typos have overlooked anything it's all done automatically but can enforce coding conventions they all look exactly the same whenever I want my coding conventions to be my indenting my how header common should look it's done for me begin uniformity of CO these you give the project of the people to work on Our and of course with auto-generation of code you can be driven by annotations again helps to further along the and to automate the process in you can start fight the responsibility of some people working in annotations analysis and other people working in implementation not all that was
kind of theoretical let me give you an actual example of the real problem that I and really did solved using the analyzer at least version the analyze that I had but end a version of scaffold XSL in some weird example but it's real at least and so I used to work at a company and we had a big conversion project specific that we had about 30 years worth of book content and these were a big factor rectories full of people's names and phone numbers and addresses and e-mails on in we had about 30 years these big fat directory books everyone to convert to XML so we were boxing them up and ship them after inversion house and they were scanning them and turning them into XML that with that kind of structure of the data to tag we show is not great there's little bits of data in a lot the tags and we realize that we're paying by the kilobyte of output In realize you know if we just shorten upper tag names might make a multi two-letter tags I'm serious we could save a lot of money and the I think received at least 20 per cent over budget conversion just by reducing the tag names so we needed that we need a script automatically shorten up over tag names that minify our tag names and even more important is harder read we need a script would automatically expand the tag names back to their normal state in people that was really easy to do with the analyzer I took the scaffold XSL I added 1 function all the function that was just calculate the shortening and then I did the opposite I just wrote another adjustment of the copy of it in matched on the minimize name and output of regular name tree scripts it took me 30 minutes to write both in fact I know that's true did I just rewrote than the other nite for this presentation 30 minutes I could run any GTT through it and I can go from a
minified former the XML to
a the stored form the XML automatically and I can go from the rest from the expenditure minified automatically guaranteed no data lost it's just automatic that's pretty nice the and
even nicer if is really going crazy we also generated minify DTD the so you can take your minified
weird 2 element tag names and is validated and I are generated this DTD the exact same way I just wrote a special act cell at output the minify form the DTD not just can seem cut by the way the letter tag names based that base 26 Thunder 7 that this minified of version of the the DTD and the R scripts can seem kind esoteric OK that work in 1 case but then I saw I realize yesterday action this this could be generalize a bit more it's exactly the
same thing like what if you wanna have multilingual tags so rather than outputting on you tag names this is the offering DTI think further out brilliant had names in English you it's the same thing just annotate you DTD to give an altered has name and you can automatically all put all your tags in French or Chinese or Japanese whatever people want and then you can even the Jack other-generated
DTD the validated if and then you can
also just change that English whenever you want to no seems kind of cool to me so the thing will work on this as a project in future
possibilities was 1 of the multilingual tagging and other things we could work on Chris has a lot of ideas about this there can talk about this of we could probably do tighter integration with the Jets at documentation that's available of me being 1 way of doing that maybe we can get a new annotations inserted into the actual official released version of the GTD that's 1 way of doing it up but of course the problem that is a given it changes to the documentation then Avery distributed it out to all these people the object changes so maybe another way of doing it is we could change the DT Documenta so that when it generates documentation for you
it goes on to a public website and pulls the annotations down that possibility from the done of imagine we could use the structured content model to create a better DTD compare that's an option and death of a website about with optimal timing bold scripting or automated conversion find ways to leverage annotations good patterns that we could I suggest other people to automatically scaffold script out conversion projects and of course we want community used and for that and here the links go to the could help
and dis how the project page join the mailing list and I tried out and if you find bugs thought someone but you can report them and someone will take a look at those issues the need to vary much and you will look
without the opportunism Bruce Rosenblum from now on this question unrestricted more to digest and toward when watching the presentation it strikes me that there different profiles for Jats 1 of which is sort of the public of tag library that we all work with online but another e is the profile of jets is required for public central and would be possible using their tools to have our for those people who were interested in submitting pub mid-central an annotated version of the E. R. tag libraries that have the additional information need know about what are the pub mid-central rules particularly those enforced by the style checker so they are because 1 problem I run into is I often hear from customers she I'm getting this error from style checker I haven't seen before what happened the nite and applied and you guys about all you've added a new rule to style checker but there's no documentation on the role so be great help affect the integrated impossible even to this we will not go into great PMC rules with the Jets documentation as at generically we will not have qualification not looking for generic and looking for a parallel set of documentation it's documentation of PMC profile of jet which is the tagging guidelines can integrated on element-by-element basis using these tools it would make part about would make a lot of developers who preparing content for deposit PMC much simpler it would be a significant time investment and I don't know that we have the resources the time the 0 it's absolutely interest that would be a significant time investment because we have built the tagging guidelines and if we did what versus suggesting we would have to really build the tagging guidelines in a completely different new way it's absolutely something we could do with this toll but can we do it now now we don't have the time or resources at this moment the fact it's interesting in something you could do is great will pray for future improvement that yeah it's it's definitely interesting and I would like to say it makes a really good case for when he was talking about the end about bringing in the annotations from externally as opposed to putting them in a DTD you can put PMC in the DTD but they can certainly come in externally that's that's right that's with my presently you could be layered uh but out of the core the court treaties potentially by the way should start by saying yes the tools are really really cool my case that 1 of the yeah for Audrey is is on a key so I didn't didn't this without when the piece of these consulting so have you guys are so on donor heads comparison other tools in the history to support things you can give us so the 2 profiles and inequity which I you have used for years to do this so you know there that's the obvious Canada some older ones well it will be really nice we could see OK this is what this tool does this is the this is the projection profile get that and the features of that which is this 1 over here so I could make you know fast decision on that are going on because of course the 1st thing that happens is you start invest invest in development cycles and the cost of got on top so you wanna know early on where the future there's some information on that in our paper we compare to what we eat the rules we say at universal the analysis of other schools of gas this is because the idea we we decade could do more we haven't done a visual analysis of the close of the geology tool sets of similar training and the way that that converts the DTDs and XML and I we find that too much information for what I wanted but as a tool that do the analysis for you at that and have a chance to look at any other right well do the the the particular functionality that you know something like this actually trying doesn't give you come because trying a straight in the conversion of all the primary entities into atoms and so forth and what you need is a break out and Europe and in Europe giving us a break out in some form which is you know obviously written to do but you know I mean even if you don't have a feature set as the tell us what is in your model to compare it to the you know we're comes out of that mean united the obvious kind of use the negative useful tool from Apache which goes of any of the plates you that is felt by the wiki page on get out of similar tools and it's a wiki so glad add any and I didn't you have on the NET is also doing when means you would like to have you think about it life and it has an open source project is looking for other people's work is a but we have information here it 1 more good the highest from the nature and just the question about the Schematron that this is controlled by the heat of valid comes the used to that generates an tagging that column's well yes it's it's if you provided the today and finish come this think together and general funding they once look imitation yes I think that would be a good US for that was how was intended to these but if you could contusions hot how to do this 1 from simple it does require you to be able to generate your own Schematron rules that will cost the tagging guidelines on really it's a way to combine Schematron enter annotations and the moles things that you need when you're maintaining a DTD into 1 easy 10 update file the yeah thank to if you thank you very much really really cool stuff but I would really urge you to explore very hard the possibility of bringing those things on from a separate file and marrying them to the DTD it because because were all using the same just ETD here and bet we're all using different schema transient have an inactive with which you can do is on that annotations at the beginning of the annotation of the common you are specify what elements attached to which actually attaches to so you can actually put all those comments in a separate file that's my suggestion in a later and later on his wonderful that the early could create 1 of the top level the TV that contains those holes in the other DTD as an entity as general entity who you could say yes so that would that would work but I'm suggesting you really wanna might wanna look into layering here very very carefully described yeah I think thank you you will learn about the without I
Autorisierung
EDV-Beratung
Font
EDV-Beratung
DTD
Vorlesung/Konferenz
Kombinatorische Gruppentheorie
Transinformation
Computeranimation
Open Source
Selbstrepräsentation
Applet
DTD
DTD
Binder <Informatik>
Computeranimation
Arithmetisches Mittel
Open Source
Funktion <Mathematik>
Netzbetriebssystem
Vorlesung/Konferenz
Projektive Ebene
Touchscreen
Funktion <Mathematik>
Inklusion <Mathematik>
Selbstrepräsentation
DTD
DTD
Applet
Elektronische Publikation
Computeranimation
Open Source
Funktion <Mathematik>
Vorlesung/Konferenz
Skript <Programm>
URL
Inhalt <Mathematik>
Datenstruktur
Funktion <Mathematik>
Umsetzung <Informatik>
Explosion <Stochastik>
Mathematisierung
Versionsverwaltung
Zahlenbereich
DTD
Element <Mathematik>
Kombinatorische Gruppentheorie
Web-Seite
Code
Computeranimation
Metropolitan area network
Wechselsprung
Skript <Programm>
Skript <Programm>
Gammafunktion
Analysis
Funktion <Mathematik>
Tabusuche
Element <Gruppentheorie>
Paarvergleich
DTD
Paarvergleich
Elektronische Publikation
Verbandstheorie
Mereologie
Projektive Ebene
Versionsverwaltung
Verkehrsinformation
Umsetzung <Informatik>
Subtraktion
Mathematisierung
Selbstrepräsentation
DTD
Element <Mathematik>
Euler-Winkel
Computeranimation
Informationsmodellierung
Prozess <Informatik>
Äußere Algebra eines Moduls
Wurzel <Mathematik>
Inhalt <Mathematik>
Attributierte Grammatik
Analysis
Funktion <Mathematik>
Parametersystem
Sichtenkonzept
Element <Gruppentheorie>
DTD
Mailing-Liste
Paarvergleich
Rechter Winkel
Deklarative Programmiersprache
Attributierte Grammatik
Projektive Ebene
Information
Verkehrsinformation
Zeichenkette
Subtraktion
Folge <Mathematik>
Gruppenoperation
Mathematisierung
Versionsverwaltung
DTD
Zahlenbereich
Element <Mathematik>
Term
Analysis
Computeranimation
Bildschirmmaske
Informationsmodellierung
Prozess <Informatik>
Inhalt <Mathematik>
Datenstruktur
Gerade
Funktion <Mathematik>
Attributierte Grammatik
Inklusion <Mathematik>
DTD
Einfache Genauigkeit
Mailing-Liste
Paarvergleich
Elektronische Publikation
Kontextbezogenes System
Deklarative Programmiersprache
Garbentheorie
Information
URL
Verkehrsinformation
Zeichenkette
Inklusion <Mathematik>
Subtraktion
Element <Gruppentheorie>
DTD
DTD
Mailing-Liste
Element <Mathematik>
Zählen
Extrempunkt
Analysis
Computeranimation
Loop
Abzählen
Deklarative Programmiersprache
Datentyp
Attributierte Grammatik
Vorlesung/Konferenz
Attributierte Grammatik
Strukturierte Programmierung
Garbentheorie
Element <Mathematik>
Rechter Winkel
ATM
ART-Netz
DTD
Indexberechnung
Element <Mathematik>
Information
Elektronische Publikation
Grundraum
Computeranimation
Demoszene <Programmierung>
Bit
Informationsmodellierung
Vorlesung/Konferenz
Wort <Informatik>
Garbentheorie
Element <Mathematik>
Computeranimation
Beschreibungssprache
Formale Sprache
Selbstrepräsentation
DTD
Element <Mathematik>
Code
Computeranimation
Homepage
Informationsmodellierung
Indexberechnung
Inhalt <Mathematik>
Funktion <Mathematik>
Mixed Reality
DTD
Mailing-Liste
p-Block
Wiki
Konfiguration <Informatik>
Landing Page
Funktion <Mathematik>
Mereologie
Gamecontroller
Dateiformat
Projektive Ebene
Wort <Informatik>
Information
URL
Web Site
Prozess <Physik>
Element <Mathematik>
Browser
Mathematisierung
DTD
Zellularer Automat
Element <Mathematik>
Computeranimation
Übergang
Eins
Prozess <Informatik>
Unitäre Gruppe
Vererbungshierarchie
Skript <Programm>
Vorlesung/Konferenz
Wurzel <Mathematik>
Funktion <Mathematik>
Touchscreen
Softwaretest
Addition
Stichprobe
Übergang
Schlussregel
Mailing-Liste
Dichte <Stochastik>
Elektronische Publikation
Konfiguration <Informatik>
Transaktionsverwaltung
Grundsätze ordnungsmäßiger Datenverarbeitung
Garbentheorie
Wort <Informatik>
Information
Verkehrsinformation
Fehlermeldung
Umsetzung <Informatik>
Bit
Validität
DTD
DTD
Elektronische Publikation
Computeranimation
Virtuelle Maschine
Mechatronik
Forcing
Skript <Programm>
Vorlesung/Konferenz
Inhalt <Mathematik>
Optimierung
Funktion <Mathematik>
Umsetzung <Informatik>
Programmiergerät
Zellularer Automat
DTD
Element <Mathematik>
Computeranimation
Informationsmodellierung
Skript <Programm>
Skript <Programm>
Inhalt <Mathematik>
Softwareentwickler
E-Mail
Touchscreen
Attributierte Grammatik
Funktion <Mathematik>
Inklusion <Mathematik>
Beobachtungsstudie
Addition
Schnelltaste
Template
DTD
Teilbarkeit
IRIS-T
Mustersprache
Basisvektor
Mereologie
Projektive Ebene
Information
Inklusion <Mathematik>
Trennungsaxiom
Programmiergerät
Prozess <Physik>
Template
Implementierung
DTD
Schlussregel
Element <Mathematik>
Extrempunkt
Code
Computeranimation
Generator <Informatik>
Code
Datentyp
Uniforme Struktur
Endogene Variable
Codierung
Skript <Programm>
Vorlesung/Konferenz
Projektive Ebene
Analysis
Funktion <Mathematik>
Umsetzung <Informatik>
Bit
Element <Mathematik>
Adressraum
Versionsverwaltung
Zahlenbereich
Kombinatorische Gruppentheorie
Physikalische Theorie
Computeranimation
Netzwerktopologie
Multiplikation
Regulärer Graph
Skript <Programm>
Vorlesung/Konferenz
Skript <Programm>
Umkehrung <Mathematik>
Inhalt <Mathematik>
Datenstruktur
E-Mail
Funktion <Mathematik>
Umwandlungsenthalpie
Element <Gruppentheorie>
Teilbarkeit
Funktion <Mathematik>
Projektive Ebene
Normalvektor
Verzeichnisdienst
Lesen <Datenverarbeitung>
Aggregatzustand
Webforum
Bit
Gruppenoperation
Versionsverwaltung
DTD
DTD
Zellularer Automat
Element <Mathematik>
Computeranimation
Metropolitan area network
Bildschirmmaske
ATM
Skript <Programm>
Vorlesung/Konferenz
Funktion <Mathematik>
Inklusion <Mathematik>
DTD
DTD
Computeranimation
Haar-Integral
Inklusion <Mathematik>
Objekt <Kategorie>
Modul <Datentyp>
Desintegration <Mathematik>
Speicherabzug
Versionsverwaltung
Projektive Ebene
Computeranimation
Integral
Inklusion <Mathematik>
Webforum
Umsetzung <Informatik>
Web Site
Minimierung
Güte der Anpassung
DTD
Mailing-Liste
Paarvergleich
Binder <Informatik>
Computeranimation
Homepage
Programmfehler
Konfiguration <Informatik>
Informationsmodellierung
Rückkopplung
Mustersprache
Skript <Programm>
Vorlesung/Konferenz
Projektive Ebene
Inhalt <Mathematik>
Datenstruktur
E-Mail
Umsetzung <Informatik>
Momentenproblem
Natürliche Zahl
Versionsverwaltung
Element <Mathematik>
Eins
Übergang
Negative Zahl
Kontrollstruktur
Vorlesung/Konferenz
Parallele Schnittstelle
Funktion <Mathematik>
Prinzip der gleichmäßigen Beschränktheit
Addition
Jackson-Methode
Profil <Aerodynamik>
Ähnlichkeitsgeometrie
Wiki
Entscheidungstheorie
Menge
Rechter Winkel
Projektive Ebene
Information
Fehlermeldung
Subtraktion
Wellenpaket
Gewicht <Mathematik>
Schaltnetz
Abgeschlossene Menge
DTD
Ordinalzahl
Kombinatorische Gruppentheorie
Informationsmodellierung
Bildschirmmaske
Ungleichung
Inhalt <Mathematik>
Softwareentwickler
Hilfesystem
Analysis
Schreib-Lese-Kopf
Trennungsaxiom
Videospiel
Open Source
Schlussregel
Paarvergleich
Elektronische Publikation
Quick-Sort
Mereologie
Dreiecksfreier Graph
Basisvektor
Speicherabzug

Metadaten

Formale Metadaten

Titel DTDAnalyzer: A tool for analyzing and manipulating DTDs
Alternativer Titel DtdAnalyzer: A tool for analyzing and manipulating DTDs.
Serientitel JATS-Con 2012
Teil 13
Anzahl der Teile 16
Autor Hess, Demian
Maloney, Chris
Hamelers, Audrey
Lizenz CC-Namensnennung 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
DOI 10.5446/30570
Herausgeber River Valley TV
Erscheinungsjahr 2016
Sprache Englisch
Produktionsjahr 2012
Produktionsort Washington, D.C.

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract This paper describes an open-source Java/XSLT application that allows users to analyze and manipulate XML DTDs. The application can be used to generate reference documentation, create reports comparing two DTDs, convert DTDs into Schematron, and to automatically scaffold conversion scripts.The DtdAnalyzer tool has been used at the National Center for Biotechnology Information (NCBI), a part of the National Library of Medicine, for a number of years, to help maintain the suite of NLM DTDs, and to develop new conversion applications. NCBI has recently decided to release it as a self-contained application and to move its development onto GitHub (https://github.com/NCBITools/DtdAnalyzer).The heart of the tool is a Java application which converts a DTD into an XML representation, including all the element, attribute, and entity declarations contained inside the DTD. Additionally, DTDs can be annotated with specially-formatted comments which are recognized by this converter, and these annotations are delivered in the XML output.The resulting XML can be transformed to create many useful outputs, and a basic set of those transformation stylesheets, as described above, are included with this tool.

Zugehöriges Material

Ähnliche Filme

Loading...