RelaxNG/publiset.rnc
changeset 257 814f79990a58
parent 256 2b36e6a5b587
child 258 5f98e1b292fe
equal deleted inserted replaced
256:2b36e6a5b587 257:814f79990a58
   167 title.content = inlines
   167 title.content = inlines
   168 
   168 
   169 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ identifier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   169 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ identifier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   170 
   170 
   171 # ~~~~~~ identifier
   171 # ~~~~~~ identifier
   172 identifier = identifier.uri | identifier.ean
   172 identifier = element identifier {
       
   173    (attribute type { "ean" }, for.attribute?, xsd:token {pattern = "\d{13}"})
       
   174  | (attribute type { "uri" }, for.attribute?, xsd:anyURI)
       
   175 }
       
   176 
       
   177 # ~~~~~~ identifier.ean
       
   178 identifier.ean = element identifier {
       
   179    attribute type { "ean" }, for.attribute?, xsd:token {pattern = "\d{13}"}
       
   180 }
   173 
   181 
   174 # ~~~~~~ identifier.uri
   182 # ~~~~~~ identifier.uri
   175 identifier.uri = element identifier { identifier.uri.attributes }
   183 identifier.uri = element identifier {
   176 
   184    attribute type { "uri" }, for.attribute?, xsd:anyURI
   177 identifier.uri.attributes =
   185 }
   178    type_uri.attribute
       
   179  & for.attribute?
       
   180 type_uri.attribute = attribute type { "uri" }, xsd:anyURI
       
   181 for.attribute = attribute for { xsd:NCName }
       
   182 
       
   183 # ~~~~~~ identifier.ean
       
   184 identifier.ean = element identifier { identifier.ean.attributes }
       
   185 
       
   186 identifier.ean.attributes =
       
   187    type_ean.attribute
       
   188  & for.attribute?
       
   189 type_ean.attribute = attribute type { "ean" }, xsd:token {pattern = "\d{13}"}
       
   190 
   186 
   191 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ copyright ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   187 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ copyright ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   192 
   188 
   193 copyright = element copyright { copyright.content }
   189 copyright = element copyright { copyright.content }
   194 
   190