[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-publishers] Publishers schema changed
No offense taken, Norm! Since Dublin Core was only available in XSD, we made a "best guess" at how to reproduce the patterns to conform to the Dublin Core specification. I think you are correct that the simple literal was meant to be restricted to containing a string. From the Dublin Core XML Guidelines (http://dublincore.org/documents/2003/04/02/dc-xml-guidelines/): * A /qualified DC record/ is made up of one or more /properties/ and their associated /values/. * Each /property/ is an attribute of the /resource/ being described. * Each /property/ must be either: o one of the 15 DC elements, o one of the other elements recommended by the DCMI (e.g. audience) [DCTERMS <http://dublincore.org/documents/2003/04/02/dc-xml-guidelines/#DCTERMS>], o one of the /element refinements/ listed in the DCMI Metadata Terms recommendation [DCTERMS <http://dublincore.org/documents/2003/04/02/dc-xml-guidelines/#DCTERMS>]. * /Properties/ may be repeated. * Each /value/ is a literal string. * Each /value/ may have an associated /encoding scheme/. * Each /encoding scheme/ has a /name/. * Each literal string /value/ may have an associated language (e.g. en-GB). Note, that the above guidelines are a bit dated, and there is a new version of the schema available in RDF / GRDDL. I do not think we want to add this level of complexity. We may still need to take a closer look at the Dublin Core portion of the schema, especially the "any" pattern. Thank you Norm for troubleshooting this! Best regards, --Scott Scott Hudson Scott.Hudson@flatironssolutions.com http://www.flatironssolutions.com On 01-Apr-10 5:11 PM, Norman Walsh wrote: > Folks, > > Apologies, in advance, to anyone offended by my cavalier approach... > > The patterns in the publishers schema around SimpleLiteral seemed wrong > to me. They looked like this: > > LCSH = SimpleLiteral, xsd:string > > Meaning the LCSH pattern required a SimpleLiteral followed by a string. > > Looking through the DC XSDs, I think the intent was that an LCSH > should *be* a SimpleLiteral restricted to containing a string. > > I implemented that like this: > > SimpleStringLiteral = element * { text }? > SimpleURILiteral = element * { xsd:anyURI }? > SimpleDCMITypeLiteral = element * { DCMIType.enumeration }? > SimpleLanguageLiteral = element * { xsd:language }? > SimpleLiteral = > (SimpleStringLiteral | SimpleURILiteral > | SimpleDCMITypeLiteral | SimpleLanguageLiteral) > > <aside>Are those supposed to be optional, I wonder?</aside> > > ... > > LCSH = SimpleStringLiteral > > I also tweaked DCMIType so that the enumeration was split out. > > I suspect that this: > > dcterms.any = element any { SimpleLiteral } > > is a mistake too, that the "any" there is also a mistranslation from > XSD where it was "any element". But I could be wrong and I'm trying > not to make too many changes. > > BTW, all of this is sort of moot since these patterns are unused and > therefore deleted by the "compile" process. > > Be seeing you, > norm > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]