RelaxNG/publiset.rnc
changeset 23 814ea44c2469
parent 21 7c09024d5634
child 26 cc3ab0784a7b
equal deleted inserted replaced
22:94b8e4454c47 23:814ea44c2469
    27    composition.content
    27    composition.content
    28 }
    28 }
    29 
    29 
    30 composition.attributes =
    30 composition.attributes =
    31    composition.id.attribute
    31    composition.id.attribute
    32  & base.attribute?
       
    33  & remap.attributes
    32  & remap.attributes
    34 composition.id.attribute = attribute xml:id { xsd:ID }
    33 composition.id.attribute = attribute xml:id { xsd:ID }
    35 base.attribute = attribute xml:base { xsd:anyURI }
       
    36 
    34 
    37 composition.content =
    35 composition.content =
    38    composition.head?,
    36    composition.head?,
    39    (composition.file | composition.division)+
    37    (composition.file | composition.division)+
    40 
    38 
   155    selection.division.content
   153    selection.division.content
   156 }
   154 }
   157 
   155 
   158 composition.division.attributes =
   156 composition.division.attributes =
   159    base.attribute?
   157    base.attribute?
       
   158  & xslt.attribute?
       
   159  & xpath.attribute?
   160  & remap.attributes
   160  & remap.attributes
   161 selection.division.attributes =
   161 selection.division.attributes =
   162    base.attribute?
   162    base.attribute?
       
   163 base.attribute = attribute base { xsd:anyURI }
       
   164 xslt.attribute = attribute xslt { xsd:anyURI }
       
   165 xpath.attribute = attribute xpath { text }
   163 
   166 
   164 composition.division.content =
   167 composition.division.content =
   165    composition.head?,
   168    composition.head?,
   166    (composition.division | composition.file)+
   169    (composition.division | composition.file)+
   167 selection.division.content =
   170 selection.division.content =
   177 
   180 
   178 composition.file = element file { composition.file.attributes, file.content }
   181 composition.file = element file { composition.file.attributes, file.content }
   179 selection.file = element file { selection.file.attributes, file.content }
   182 selection.file = element file { selection.file.attributes, file.content }
   180 
   183 
   181 composition.file.attributes =
   184 composition.file.attributes =
   182    xpath.attribute?
   185    xslt.attribute?
   183  & transform.attribute?
   186  & xpath.attribute?
   184  & remap.attributes
   187  & remap.attributes
   185 selection.file.attributes =
   188 selection.file.attributes =
   186    xpath.attribute?
   189    xpath.attribute?
   187  & transform.attribute?
   190  & xslt.attribute?
   188 xpath.attribute = attribute xpath { text }
       
   189 transform.attribute =
       
   190    attribute transform {list { (xsd:token {pattern = "(xsl|regex):\S+"})+ }}
       
   191 
   191 
   192 file.content = xsd:anyURI
   192 file.content = xsd:anyURI
   193    
   193    
   194 # =============================================================================
   194 # =============================================================================
   195 #                                 INLINE LEVEL
   195 #                                 INLINE LEVEL