Subject: Re: [jats-list] XSD and @noNamespaceSchemaLocation From: "Debbie Lapeyre dalapeyre@xxxxxxxxxxxxxxxx" <jats-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 25 Sep 2015 19:07:29 -0000 |
On Sep 23, 2015, at 4:18 PM, Maloney, Christopher (NIH/NLM/NCBI) [C] maloneyc@xxxxxxxxxxxxxxxx <jats-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > I think this may have come up before, but I just noticed that a document that attempts to use the @noNamespaceSchemaLocation attribute to identify its XSD schema is not valid according to the DTD. For example: > > ``` > <!DOCTYPE article > PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" > "http://jats.nlm.nih.gov/publishing/1.0/JATS-journalpublishing1.dtd"> > > <article dtd-version="1.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:noNamespaceSchemaLocation= > "http://jats.nlm.nih.gov/publishing/1.0/xsd/JATS-journalpublishing1.xsd> > ``` > > I would think that this should work, but if you validate it against the DTD, it complains, because @xsi:noNamespaceSchemaLocation is not declared. > > I was about to attach a comment to the JATS document on the NISO site, suggesting adding xsi:noNamespaceSchemaLocation as a "CDATA #IMPLIED" attribute on <article>. This fits into the DTD, considering: > > 1) @xmlns:xsi is already defined on <article> as "CDATA #FIXED 'http://www.w3.org/2001/XMLSchema-instance'" > 2) @xsi:schemaLocation is defined on mml:math as "CDATA #IMPLIED so the addition of @xsi:noNamespaceSchemaLocation to <article> would be similar to this. Hi Chris-- First: To answer your second rationale (2 above) first, the JATS Standing Committee is not responsible for MathML or its attributes, so that reasoning from anything attached to the <mml:math> element does not really apply. Then, to answer your question: Could we add @xsi:schemaLocation as an attribute on the <article> element in the DTD. Yes we could, and if you wish, you may suggest this to the JATS Standing Committee. It would be easy to add the attribute to the DTD (with an #IMPLIED default value). The reason we have not already done this also has little to do with JATS, per se. The last time this was proposed, we discussed it with one of the editors of the W3C XSD specification. He, like many (but clearly not all) XSD users, feels that a document should NEVER name its schema. They argue (I believe) that it is much better to specify the schema to be used for validation from OUTSIDE the document to be validated. Otherwise (and I quote here) "you are one of those 'land of the liars' puzzles. One reason to validate a document might be that you don't trust it. So why would you ask the untrusted document where its schema is?)". As an old SGMLer, I do not object to the DOCTYPE idea of a) here is my document and b) here is the name and location of my schema. Many of the XSD folks were very against it, so the matter dropped. They may well still be against it, I do not know. I do know that the use of @xsi:schemaLocation has been very controversial and the JATS Standing Committee avoided the controversy. Hope this helps. --Debbie ================================================================ Deborah A Lapeyre mailto:dalapeyre@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Phone: 301-315-9631 (USA) Suite 207 Fax: 301-315-8385 Rockville, MD 20850 ---------------------------------------------------------------- Mulberry Technologies: Consultancy for XML, XSLT, and Schematron ================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[jats-list] XSD and @noNamespaceSch, Maloney, Christopher | Thread | Re: [jats-list] XSD and @noNamespac, Maloney, Christopher |
[jats-list] inline definitions, franziska.buehring@x | Date | Re: [jats-list] XSD and @noNamespac, Maloney, Christopher |
Month |