RelaxNG/publiset.rnc
changeset 259 8b0f1432fd11
parent 258 5f98e1b292fe
child 263 b6ac75b447ae
equal deleted inserted replaced
258:5f98e1b292fe 259:8b0f1432fd11
    56  & identifier*
    56  & identifier*
    57  & copyright*
    57  & copyright*
    58  & collection?
    58  & collection?
    59  & contributors?
    59  & contributors?
    60  & date?
    60  & date?
       
    61  & (source, source?)?
    61  & keywordset?
    62  & keywordset?
    62  & subjectset?
    63  & subjectset?
    63  & abstract?
    64  & abstract?
    64  & cover?
    65  & cover?
    65 
    66 
   234 # ~~~~~~ role
   235 # ~~~~~~ role
   235 role = element role { role.content }
   236 role = element role { role.content }
   236 
   237 
   237 role.content = "author" | "illustrator" | "publisher" | "packager"
   238 role.content = "author" | "illustrator" | "publisher" | "packager"
   238 
   239 
       
   240 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       
   241 
       
   242 source = element source {
       
   243    (  (attribute type { "book" }, source.content.book)
       
   244     | (attribute type { "file" }, source.content.file))
       
   245 }
       
   246 
       
   247 source.content.book =
       
   248    identifier.ean?
       
   249  & title
       
   250  & subtitle?
       
   251  & copyright?
       
   252  & collection?
       
   253  & folio?
       
   254  & pages?
       
   255  
       
   256 source.content.file =
       
   257    identifier.uri
       
   258 
       
   259 # ~~~~~~ folio
       
   260 folio = element folio { folio.content }
       
   261 
       
   262 folio.content = xsd:positiveInteger | xsd:token {pattern = "[DLXVI]+"}
       
   263 
       
   264 # ~~~~~~ pages
       
   265 pages = element pages { pages.content }
       
   266 
       
   267 pages.content = xsd:positiveInteger
       
   268 
   239 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ keyword & subject ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   269 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ keyword & subject ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   240 
   270 
   241 # ~~~~~~ keywordset
   271 # ~~~~~~ keywordset
   242 keywordset = element keywordset { keywordset.content }
   272 keywordset = element keywordset { keywordset.content }
   243 
   273