JATSPack and JATSPAN, a packaging format specification and a web site(mostly) for schema customizations.Chris MaloneyAugust 4, 2011
NoteJATSPack and JATSPAN are not part of the NLM/NISO JATS. JATSPack is a proposed specification that is completely independent of the tag suite. JATSPAN is a non-commercial web site with no affiliation with NLM or NISO.
Extensibility, Customizability, and InterchangeSeveral different perspectivesEliot Kimber:It's all about interchangeThe goal should be "blind" interchange:“By blind interchange I mean interchange that requires the least amount of pre-interchange negotiation and knowledge exchange between interchange partners.”JATSPack is about lowering the barrier to interchange, but not quite down to the level of "blind" (depending on how you define “least”).
Extensibility, Customizability, and InterchangeWendell Piez:The problem with schema extensibility:“Extensions to a tag set, even as they successfully address new requirements, raise interoperability issues with systems that do not know about them.”	“... we have a devil's choice: fork or bloat.”But, maybe schema extensions can be made more manageable
Expressiveness vs. InteroperabilityYes, there’s a tradeoffBut maybe not zero-sumMaybe we can push both forward together
Extensions and customizations happenWhen a publisher needs a feature, they will find a way to get it in.Standards bodies are sometimes, maybe, a little bit too slow.Leading to extending the "wrong" way:Documents that ostensibly are the same "type", but that are not interchangeable, because of different special vocabularies or tagging styles.Leading to interchange problems.
Schema languages are designed for thisProvide the proper ways to extend and customizeDTD, W3C Schema, Relax NG, Schematron, and NVDL exist for a reasonXML = "Extensible Markup Language“Escape hatches are necessary,But, there are advantages to using core schema technologies.
Users should customizeThey know their requirements better than others.The environment is evolving too fast.(Can’t emphasize this enough)Crowdsourcing might be a solutionBut, crowdsourcing needs an infrastructure.
Interoperability problemsThese are realMaybe, these are part of the cause:Lack of a standard way to communicate customizationsDearth of simple, step-by-step tutorials and examples on doing customizations right.
Motivation for JATSPackFacilitate systems that can use many different schema types easilyEase the installation of the complete set of all JATS schemas.Ease reuse and interchange of schema customizations.Ease reuse and interchange of libraries that go along with customizations,These should, in turn, allow for easier interchange of document instances
InspirationsoXygen "frameworks“TEI's ODD
RequirementsJATSPacks should be usable on existing systems without any special infrastructureAvoid the "chicken/egg" problem to adoptionBackwards compatibility with core JATSDon’t reinvent the wheelReuse/extend some existing packaging specification
What is JATS?Journal Article Tag SuiteOld name:  NLM Journal Archiving and Interchange Tag SuiteRecent NISO standard for trial use
What is JATS?Primarily for publishing journal articles.Used for other things too (books, archiving).Many “flavors” and versions.Mostly used as DTDs,Also distributed as W3C schema and Relax NG.
JATSPackA packaging format specification based on Florent Georges' EXPath packagingA way to package schema customizations and extensionsAnd more:XProc, XQuery, XSLT, and XPath code librariesOASIS catalog filesDocumentation and other resourcesSome metadata
Extension of EXPath Packaging (EXPath-pkg)JATSPackiswill be forwards-compatibleRight now there are some incompatibilities.Every JATSPack is an EXPath packageZip file with a .xar extensionEvery package has a abbreviated name (abbrev) (one-part, two-part, or hierarchical?)Contains a top-level package descriptor.Any JATSPack-enabled system should be able to use EXPath packages from CXAN.EXPath-pkg is already supported by several tools
JATSPack is also a Zip fileForwards-compatible extension of a simple Zip fileCan be used without any special infrastructureSimply by unpacking the Zip file to the right place,And adding a "nextCatalog" entry in your master catalog file(Note:  this introduced an incompatibility with EXPath packaging.  I require that the on-disk repository layout be the same as the in-zip directory layout; that is, that the install process does no moving of files around after they are unzipped.)
JATSPack packaging of related resourcesDTDs, W3C Schemas, Relax NG, Schematron, NVDLOASIS catalog filesXQuery, XSLT to provide function modulesXProc to bind them allDocumentationExamplesSelf-tests
JATSPack directory structure[root]    abbrev-1/        abbrev-2/            version/                README.txt (optional)                expath-pkg.xml                catalog.xmldtd/rng/rnc/xsd/xslt/xquery/xproc/                doc/                samples/                resources/                test/
JATSPack package descriptor
JATSPack OASIS catalog file
JATSPANJATSPack archive networkAnalogous to CPAN or CXANA web site jatspan.orgAllows authors to share and reuse JATSPacksAllows other users to discover relevant JATSPacks
jatspanA client programNot necessary to use JATSPacksManages local repositoriesAt a specified directory on the local filesystemContains a master OASIS catalog fileAutomates installation of JATSPacksResolves dependencies, and downloads and installs prerequisite packsHere's how you use it to install the TaxPub JATSPack:jatspan install taxpub-schema
Use Cases / Examples
Use Case - A publisher evaluates JATS for the first timeJATS has many flavors and versions (currently 34 permutations)Downloadable from the NLM archive_dtdand JATS FTP sitesCan seem overwhelming and complicatedMany publishers still use older versions for their published articlesEach flavor / version is distributed as separate, flattened Zip fileincludes the bundled version of all of the files for that particular setInstallation of each requires manually tweaking the OASIS catalog fileDifficult/tedious to configure a system that can use all/any of them simultaneously
Example:  Core JATS BundleEach of the 34 flavors and versions has been refactored as a JATSPackCore modules factored out into "core" JATSPackEach pack has an OASIS catalog file that references only the modules in that packAll of these can be downloaded and installed as a single bundle.Bundle has a single top-level OASIS catalog fileCurrently just the DTDs (not W3C schema or Relax NG)Also includes sample XML instance documents
Changes to the core JATSMight be controversial (I don't know)Mostly necessitated by changing the directory structure and moving files aroundChanged relative URIs that cross-reference between the modulesCleaned up some discrepancies in old versionsDidn't change any top-level public identifiersMy bundle is 100% compatible(I’m 99% sure of this)
Use Case - A publisher develops a new JATS customizationThere is an ongoing sea change in the nature of journal articlesArticles are no longer limited to the (print media) figures, tables, and equations.The lines between traditional definitions of media types, such as journal articles, books, wikis, blog posts, data-only articles, presentations, etc., are continually getting blurredOpen-science movementScientists are sharing their data more often.Grass roots efforts to bypass traditional publishing modelsThis trend is moving/evolving very fastWe cannot anticipate what will be the needs of the users
Supplemental materialsSupplemental material (data) moving into main content“Pseudo-supplemental”:  essential material, but doesn't "fit” into the journal article.  (Sasha Schwarzman)Also called "integral content".E.g., Cell doesn't embed movies because they don't fit into PDFs.Sasha quoted E. Marcus:  “... over time the concept of supplemental material will gradually give way to a more modern concept of a hierarchical or layered presentation in which a reader can define which level of detail best fits their interests and needs.”We need to be facilitating this transformation
JATS CustomizationsJATS was designed in modular, extensible way, but the barrier to customizing is still highAlternatives to customizing:Suggest a change to the standard, and waitCreate a local customization, and forego interchangeabilityPseudo-customization
Pseudo-customizationStrategies Put the data into a separate file and link to it.CDATA section (à la RSS)"Escape hatches" with custom vocabularyProcessing InstructionsThese are all ways of getting around the DTD (schema)So validation has to use a different mechanismsThis is the tail wagging the dog:  the DTD (schema) should work for us, not the other way around.
JATS and supplemental dataJATS has "escape hatches" for different kinds of data objects, and links to external objects.But it would often make more sense to include it natively.Bottom line:  extensions and customizations will happen.  It would be nice to have an infrastructure for communicating and managing them.
Example - TaxPubCustomization of JATSAllows inclusion of Taxonomic treatments into journal articlesAs described by Terry Catapano at last year's JATS-ConUsed in ZooKeys, published by PenSoft.Articles are simultaneously released to the Species-ID wiki
TaxPub JATSPackNamed “taxpub-schema”Directory structure:taxpub/    schema/        0.1/dtd/            doc/            samples/
Converting TaxPub into a JATSPackFixed relative system identifiersFixed doctype declarations, for example:From:    <!DOCTYPE article SYSTEM "../tax-treatment-NS0.dtd">To:<!DOCTYPE book PUBLIC                     "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN"                     "../dtd/tax-treatment-NS0.dtd">Created an OASIS catalog fileZip the results into a .xar file.Upload to JATSPAN
TaxPub to JATSPack:  advantagesThe advantages are not dramaticLower the activation energy for others to discover and installIncrease visibilityCould allow for inclusion of (for example) XSLT libraries, self tests, documentation, in a consistent wayEasier for some other developer to extend TaxPub
Use Case - Publisher or archive adds support for new document typeCurrently there is no standard way of packaging the information relevant to a document type.Installation is not especially hard, but does require some expertise and coordination of resources
Use Case - Publisher or archive adds support for new document typeWith JATSPack but not jatspan:Just download the Zip file, unzip it, and update your catalog fileWith jatspan:jatspan installThis automatically resolves dependencies.
Use Case - JATS-related librariesThese are not schema extensions; just code libraries.Right now, there is no standard way to deploy a libraryAdvantages here are the same as for EXPath packagingIn fact they could be deployed as EXPath packages.
Example - Journal Publishing 3.0 Preview Stylesheets as a JATSPackBy Wendell Piez, presented at JATS-Con last yearRepackaged as a JATSPackAdapted to use XprocNot a major improvement, but, again, incrementally lowers the activation energy to find/install/use/extend these.Especially extendOther authors could write new JATSPacks that depend on these,Installing those, dependency would be automatically resolved.
Example, JATS-to-EPub transformationBy Laura Kelly, presented at JATS-Con last yearDepends on the preview stylesheets mentioned aboveThis could be deployed without the preview stylesheets, and that dependency would be resolved by jatspan
Customizations and compatibility
JATSPack supports any schema languageSchematron is the best language to use for validation – -- Eliot KimberRelax NG is very expressive and easy to useNVDL looks coolThe documentation is the final word (Eliot again)JATSPack can (should) include this documentation
Forwards compatibility - reviewMeans that newer documents (version 2) can be used by existing/old processing systems (version 1).E.g. "must ignore" pattern of extensibility of HTMLHTML renderers must ignore any tags that they don't understandThis is a forwards-compatibility extension substitution ruleThis  allows future designers to customize the HTML schema, adding elements and attributes, while being able to predict how document instances in the new schema will be processed by old systems.
Forwards compatibility – we can do better than HTMLTaxPub, for example, adds new elements and attributesThe package could include XSLTs that transform those into "standard JATS“More powerful extension forward-compatibility substitution rules.Gets close to useful, blind interchange
How JATSPack and JATSPAN help InterchangeBy lowering the activation energy (just a little) at several rate-limiting steps in the reaction:Easier to customize... correctly and robustlyEasier to packageEasier to shareEasier to discoverEasier to install
Closing remarks
Format is not JATS specificThis format could be used to package customizations of any other XML standard.I hope to merge my extensions back into EXPath-pkgCould use CXAN
Future workCurrent work (not as far along as I'd hoped).Adding other existing resources (Relax NG and docs) to core bundle.Finish up the examples described in the paper.Get the JATS core bundle to be packaged with oXygen XML editor as JATS “framework”.This is an idea/suggestion.  Don’t know if it would be acceptable, but I think it’s a good fit.
Future work – forwards compatible extension mechanismI think JATSPack is an important first step, but more work is needed to realize this goal.A lot of prior work on this topic.Eliot seems to have some ideas.
Future work - JATSPANThrow examples and how-tos on the JATSPAN siteJATSPacks should be usable directly off of JATSPAN, without installing to a local machineShould be able to browse package documentation on JATSPAN, w/o downloadingJATSPAN could provide document instance tools, such as a validator, style checker, and document previewer.Not just for DTDs but for any of the schema languages in the JATSPack."Roma for JATS"
Help!Suggestions / criticisms welcomeJatspan-users mailing listhttps://lists.sourceforge.net/lists/listinfo/jatspan-usersjatspan-users@lists.sourceforge.net(No need to subscribe.  Just send “+1” to this address. It will help!)Help with developmentHelp with ideas
LinksSourceforge siteLatest version of Balisage paperSourceforge projectJATSPAN  (Coming soon!)Interesting article on ZooKeys / TaxPub / Species-ID
Candy

More Related Content

PPTX
Application architecture for the rest of us - php xperts devcon 2012
PDF
Architectural Anti Patterns - Notes on Data Distribution and Handling Failures
PPTX
Mahout Introduction BarCampDC
PPT
Afe bd craft program 14.09
PDF
The Knowledge Report Beijing Office 2 Q2011
PDF
Limeríques ( tatiana belinky )
PDF
Application architecture for the rest of us - php xperts devcon 2012
Architectural Anti Patterns - Notes on Data Distribution and Handling Failures
Mahout Introduction BarCampDC
Afe bd craft program 14.09
The Knowledge Report Beijing Office 2 Q2011
Limeríques ( tatiana belinky )

Similar to JATSPack and JATSPAN, a packaging format specification and a web site (20)

PDF
Dipping Your Toes: Azure Data Lake for DBAs
PPTX
Data Engineering for Data Scientists
PPTX
Perl and Elasticsearch
PPTX
What is Object storage ?
PPT
No sql databases
PDF
Algebraic Data Types for Data Oriented Programming - From Haskell and Scala t...
PDF
Datastores
PPT
No SQL Databases as modern database concepts
PPT
05 No SQL Sudarshan.ppt
PPT
No SQL Databases.ppt
PPT
No SQL Databases sdfghjkl;sdfghjkl;sdfghjkl;'
PPT
data analytics lecture 3.2.ppt
PPT
Schemaless Databases
PDF
JCConf 2016 - Cloud Computing Applications - Hazelcast, Spark and Ignite
PPTX
CS 542 Parallel DBs, NoSQL, MapReduce
PPTX
Optimizing Application Architecture (.NET/Java topics)
PPTX
Solid pods and the future of the spatial web
PPT
Tools and Techniques for Creating, Maintaining, and Distributing Shareable Me...
ODP
Clustering In The Wild
Dipping Your Toes: Azure Data Lake for DBAs
Data Engineering for Data Scientists
Perl and Elasticsearch
What is Object storage ?
No sql databases
Algebraic Data Types for Data Oriented Programming - From Haskell and Scala t...
Datastores
No SQL Databases as modern database concepts
05 No SQL Sudarshan.ppt
No SQL Databases.ppt
No SQL Databases sdfghjkl;sdfghjkl;sdfghjkl;'
data analytics lecture 3.2.ppt
Schemaless Databases
JCConf 2016 - Cloud Computing Applications - Hazelcast, Spark and Ignite
CS 542 Parallel DBs, NoSQL, MapReduce
Optimizing Application Architecture (.NET/Java topics)
Solid pods and the future of the spatial web
Tools and Techniques for Creating, Maintaining, and Distributing Shareable Me...
Clustering In The Wild
Ad

Recently uploaded (20)

PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
WOOl fibre morphology and structure.pdf for textiles
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
CloudStack 4.21: First Look Webinar slides
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
DP Operators-handbook-extract for the Mautical Institute
PPT
Geologic Time for studying geology for geologist
PDF
August Patch Tuesday
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
Enhancing emotion recognition model for a student engagement use case through...
WOOl fibre morphology and structure.pdf for textiles
Group 1 Presentation -Planning and Decision Making .pptx
Assigned Numbers - 2025 - Bluetooth® Document
Taming the Chaos: How to Turn Unstructured Data into Decisions
A novel scalable deep ensemble learning framework for big data classification...
Final SEM Unit 1 for mit wpu at pune .pptx
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
CloudStack 4.21: First Look Webinar slides
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
A review of recent deep learning applications in wood surface defect identifi...
DP Operators-handbook-extract for the Mautical Institute
Geologic Time for studying geology for geologist
August Patch Tuesday
Module 1.ppt Iot fundamentals and Architecture
A comparative study of natural language inference in Swahili using monolingua...
Getting started with AI Agents and Multi-Agent Systems
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Ad

JATSPack and JATSPAN, a packaging format specification and a web site

  • 1. JATSPack and JATSPAN, a packaging format specification and a web site(mostly) for schema customizations.Chris MaloneyAugust 4, 2011
  • 2. NoteJATSPack and JATSPAN are not part of the NLM/NISO JATS. JATSPack is a proposed specification that is completely independent of the tag suite. JATSPAN is a non-commercial web site with no affiliation with NLM or NISO.
  • 3. Extensibility, Customizability, and InterchangeSeveral different perspectivesEliot Kimber:It's all about interchangeThe goal should be "blind" interchange:“By blind interchange I mean interchange that requires the least amount of pre-interchange negotiation and knowledge exchange between interchange partners.”JATSPack is about lowering the barrier to interchange, but not quite down to the level of "blind" (depending on how you define “least”).
  • 4. Extensibility, Customizability, and InterchangeWendell Piez:The problem with schema extensibility:“Extensions to a tag set, even as they successfully address new requirements, raise interoperability issues with systems that do not know about them.” “... we have a devil's choice: fork or bloat.”But, maybe schema extensions can be made more manageable
  • 5. Expressiveness vs. InteroperabilityYes, there’s a tradeoffBut maybe not zero-sumMaybe we can push both forward together
  • 6. Extensions and customizations happenWhen a publisher needs a feature, they will find a way to get it in.Standards bodies are sometimes, maybe, a little bit too slow.Leading to extending the "wrong" way:Documents that ostensibly are the same "type", but that are not interchangeable, because of different special vocabularies or tagging styles.Leading to interchange problems.
  • 7. Schema languages are designed for thisProvide the proper ways to extend and customizeDTD, W3C Schema, Relax NG, Schematron, and NVDL exist for a reasonXML = "Extensible Markup Language“Escape hatches are necessary,But, there are advantages to using core schema technologies.
  • 8. Users should customizeThey know their requirements better than others.The environment is evolving too fast.(Can’t emphasize this enough)Crowdsourcing might be a solutionBut, crowdsourcing needs an infrastructure.
  • 9. Interoperability problemsThese are realMaybe, these are part of the cause:Lack of a standard way to communicate customizationsDearth of simple, step-by-step tutorials and examples on doing customizations right.
  • 10. Motivation for JATSPackFacilitate systems that can use many different schema types easilyEase the installation of the complete set of all JATS schemas.Ease reuse and interchange of schema customizations.Ease reuse and interchange of libraries that go along with customizations,These should, in turn, allow for easier interchange of document instances
  • 12. RequirementsJATSPacks should be usable on existing systems without any special infrastructureAvoid the "chicken/egg" problem to adoptionBackwards compatibility with core JATSDon’t reinvent the wheelReuse/extend some existing packaging specification
  • 13. What is JATS?Journal Article Tag SuiteOld name: NLM Journal Archiving and Interchange Tag SuiteRecent NISO standard for trial use
  • 14. What is JATS?Primarily for publishing journal articles.Used for other things too (books, archiving).Many “flavors” and versions.Mostly used as DTDs,Also distributed as W3C schema and Relax NG.
  • 15. JATSPackA packaging format specification based on Florent Georges' EXPath packagingA way to package schema customizations and extensionsAnd more:XProc, XQuery, XSLT, and XPath code librariesOASIS catalog filesDocumentation and other resourcesSome metadata
  • 16. Extension of EXPath Packaging (EXPath-pkg)JATSPackiswill be forwards-compatibleRight now there are some incompatibilities.Every JATSPack is an EXPath packageZip file with a .xar extensionEvery package has a abbreviated name (abbrev) (one-part, two-part, or hierarchical?)Contains a top-level package descriptor.Any JATSPack-enabled system should be able to use EXPath packages from CXAN.EXPath-pkg is already supported by several tools
  • 17. JATSPack is also a Zip fileForwards-compatible extension of a simple Zip fileCan be used without any special infrastructureSimply by unpacking the Zip file to the right place,And adding a "nextCatalog" entry in your master catalog file(Note: this introduced an incompatibility with EXPath packaging. I require that the on-disk repository layout be the same as the in-zip directory layout; that is, that the install process does no moving of files around after they are unzipped.)
  • 18. JATSPack packaging of related resourcesDTDs, W3C Schemas, Relax NG, Schematron, NVDLOASIS catalog filesXQuery, XSLT to provide function modulesXProc to bind them allDocumentationExamplesSelf-tests
  • 19. JATSPack directory structure[root] abbrev-1/ abbrev-2/ version/ README.txt (optional) expath-pkg.xml catalog.xmldtd/rng/rnc/xsd/xslt/xquery/xproc/ doc/ samples/ resources/ test/
  • 22. JATSPANJATSPack archive networkAnalogous to CPAN or CXANA web site jatspan.orgAllows authors to share and reuse JATSPacksAllows other users to discover relevant JATSPacks
  • 23. jatspanA client programNot necessary to use JATSPacksManages local repositoriesAt a specified directory on the local filesystemContains a master OASIS catalog fileAutomates installation of JATSPacksResolves dependencies, and downloads and installs prerequisite packsHere's how you use it to install the TaxPub JATSPack:jatspan install taxpub-schema
  • 24. Use Cases / Examples
  • 25. Use Case - A publisher evaluates JATS for the first timeJATS has many flavors and versions (currently 34 permutations)Downloadable from the NLM archive_dtdand JATS FTP sitesCan seem overwhelming and complicatedMany publishers still use older versions for their published articlesEach flavor / version is distributed as separate, flattened Zip fileincludes the bundled version of all of the files for that particular setInstallation of each requires manually tweaking the OASIS catalog fileDifficult/tedious to configure a system that can use all/any of them simultaneously
  • 26. Example: Core JATS BundleEach of the 34 flavors and versions has been refactored as a JATSPackCore modules factored out into "core" JATSPackEach pack has an OASIS catalog file that references only the modules in that packAll of these can be downloaded and installed as a single bundle.Bundle has a single top-level OASIS catalog fileCurrently just the DTDs (not W3C schema or Relax NG)Also includes sample XML instance documents
  • 27. Changes to the core JATSMight be controversial (I don't know)Mostly necessitated by changing the directory structure and moving files aroundChanged relative URIs that cross-reference between the modulesCleaned up some discrepancies in old versionsDidn't change any top-level public identifiersMy bundle is 100% compatible(I’m 99% sure of this)
  • 28. Use Case - A publisher develops a new JATS customizationThere is an ongoing sea change in the nature of journal articlesArticles are no longer limited to the (print media) figures, tables, and equations.The lines between traditional definitions of media types, such as journal articles, books, wikis, blog posts, data-only articles, presentations, etc., are continually getting blurredOpen-science movementScientists are sharing their data more often.Grass roots efforts to bypass traditional publishing modelsThis trend is moving/evolving very fastWe cannot anticipate what will be the needs of the users
  • 29. Supplemental materialsSupplemental material (data) moving into main content“Pseudo-supplemental”: essential material, but doesn't "fit” into the journal article. (Sasha Schwarzman)Also called "integral content".E.g., Cell doesn't embed movies because they don't fit into PDFs.Sasha quoted E. Marcus: “... over time the concept of supplemental material will gradually give way to a more modern concept of a hierarchical or layered presentation in which a reader can define which level of detail best fits their interests and needs.”We need to be facilitating this transformation
  • 30. JATS CustomizationsJATS was designed in modular, extensible way, but the barrier to customizing is still highAlternatives to customizing:Suggest a change to the standard, and waitCreate a local customization, and forego interchangeabilityPseudo-customization
  • 31. Pseudo-customizationStrategies Put the data into a separate file and link to it.CDATA section (à la RSS)"Escape hatches" with custom vocabularyProcessing InstructionsThese are all ways of getting around the DTD (schema)So validation has to use a different mechanismsThis is the tail wagging the dog: the DTD (schema) should work for us, not the other way around.
  • 32. JATS and supplemental dataJATS has "escape hatches" for different kinds of data objects, and links to external objects.But it would often make more sense to include it natively.Bottom line: extensions and customizations will happen. It would be nice to have an infrastructure for communicating and managing them.
  • 33. Example - TaxPubCustomization of JATSAllows inclusion of Taxonomic treatments into journal articlesAs described by Terry Catapano at last year's JATS-ConUsed in ZooKeys, published by PenSoft.Articles are simultaneously released to the Species-ID wiki
  • 34. TaxPub JATSPackNamed “taxpub-schema”Directory structure:taxpub/ schema/ 0.1/dtd/ doc/ samples/
  • 35. Converting TaxPub into a JATSPackFixed relative system identifiersFixed doctype declarations, for example:From: <!DOCTYPE article SYSTEM "../tax-treatment-NS0.dtd">To:<!DOCTYPE book PUBLIC "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN" "../dtd/tax-treatment-NS0.dtd">Created an OASIS catalog fileZip the results into a .xar file.Upload to JATSPAN
  • 36. TaxPub to JATSPack: advantagesThe advantages are not dramaticLower the activation energy for others to discover and installIncrease visibilityCould allow for inclusion of (for example) XSLT libraries, self tests, documentation, in a consistent wayEasier for some other developer to extend TaxPub
  • 37. Use Case - Publisher or archive adds support for new document typeCurrently there is no standard way of packaging the information relevant to a document type.Installation is not especially hard, but does require some expertise and coordination of resources
  • 38. Use Case - Publisher or archive adds support for new document typeWith JATSPack but not jatspan:Just download the Zip file, unzip it, and update your catalog fileWith jatspan:jatspan installThis automatically resolves dependencies.
  • 39. Use Case - JATS-related librariesThese are not schema extensions; just code libraries.Right now, there is no standard way to deploy a libraryAdvantages here are the same as for EXPath packagingIn fact they could be deployed as EXPath packages.
  • 40. Example - Journal Publishing 3.0 Preview Stylesheets as a JATSPackBy Wendell Piez, presented at JATS-Con last yearRepackaged as a JATSPackAdapted to use XprocNot a major improvement, but, again, incrementally lowers the activation energy to find/install/use/extend these.Especially extendOther authors could write new JATSPacks that depend on these,Installing those, dependency would be automatically resolved.
  • 41. Example, JATS-to-EPub transformationBy Laura Kelly, presented at JATS-Con last yearDepends on the preview stylesheets mentioned aboveThis could be deployed without the preview stylesheets, and that dependency would be resolved by jatspan
  • 43. JATSPack supports any schema languageSchematron is the best language to use for validation – -- Eliot KimberRelax NG is very expressive and easy to useNVDL looks coolThe documentation is the final word (Eliot again)JATSPack can (should) include this documentation
  • 44. Forwards compatibility - reviewMeans that newer documents (version 2) can be used by existing/old processing systems (version 1).E.g. "must ignore" pattern of extensibility of HTMLHTML renderers must ignore any tags that they don't understandThis is a forwards-compatibility extension substitution ruleThis allows future designers to customize the HTML schema, adding elements and attributes, while being able to predict how document instances in the new schema will be processed by old systems.
  • 45. Forwards compatibility – we can do better than HTMLTaxPub, for example, adds new elements and attributesThe package could include XSLTs that transform those into "standard JATS“More powerful extension forward-compatibility substitution rules.Gets close to useful, blind interchange
  • 46. How JATSPack and JATSPAN help InterchangeBy lowering the activation energy (just a little) at several rate-limiting steps in the reaction:Easier to customize... correctly and robustlyEasier to packageEasier to shareEasier to discoverEasier to install
  • 48. Format is not JATS specificThis format could be used to package customizations of any other XML standard.I hope to merge my extensions back into EXPath-pkgCould use CXAN
  • 49. Future workCurrent work (not as far along as I'd hoped).Adding other existing resources (Relax NG and docs) to core bundle.Finish up the examples described in the paper.Get the JATS core bundle to be packaged with oXygen XML editor as JATS “framework”.This is an idea/suggestion. Don’t know if it would be acceptable, but I think it’s a good fit.
  • 50. Future work – forwards compatible extension mechanismI think JATSPack is an important first step, but more work is needed to realize this goal.A lot of prior work on this topic.Eliot seems to have some ideas.
  • 51. Future work - JATSPANThrow examples and how-tos on the JATSPAN siteJATSPacks should be usable directly off of JATSPAN, without installing to a local machineShould be able to browse package documentation on JATSPAN, w/o downloadingJATSPAN could provide document instance tools, such as a validator, style checker, and document previewer.Not just for DTDs but for any of the schema languages in the JATSPack."Roma for JATS"
  • 52. Help!Suggestions / criticisms welcomeJatspan-users mailing listhttps://lists.sourceforge.net/lists/listinfo/[email protected](No need to subscribe. Just send “+1” to this address. It will help!)Help with developmentHelp with ideas
  • 53. LinksSourceforge siteLatest version of Balisage paperSourceforge projectJATSPAN (Coming soon!)Interesting article on ZooKeys / TaxPub / Species-ID
  • 54. Candy