You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # RELAX NG XML syntax specified in compact syntax.
 | |
| 
 | |
| default namespace rng = "http://relaxng.org/ns/structure/1.0"
 | |
| namespace local = ""
 | |
| datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes"
 | |
| 
 | |
| start = pattern
 | |
| 
 | |
| pattern =
 | |
|   element element { (nameQName | nameClass), (common & pattern+) }
 | |
|   | element attribute { (nameQName | nameClass), (common & pattern?) }
 | |
|   | element group|interleave|choice|optional
 | |
|             |zeroOrMore|oneOrMore|list|mixed { common & pattern+ }
 | |
|   | element ref|parentRef { nameNCName, common }
 | |
|   | element empty|notAllowed|text { common }
 | |
|   | element data { type, param*, (common & exceptPattern?) }
 | |
|   | element value { commonAttributes, type?, xsd:string }
 | |
|   | element externalRef { href, common }
 | |
|   | element grammar { common & grammarContent* }
 | |
| 
 | |
| param = element param { commonAttributes, nameNCName, xsd:string }
 | |
| 
 | |
| exceptPattern = element except { common & pattern+ }
 | |
| 
 | |
| grammarContent = 
 | |
|   definition
 | |
|   | element div { common & grammarContent* }
 | |
|   | element include { href, (common & includeContent*) }
 | |
| 
 | |
| includeContent =
 | |
|   definition
 | |
|   | element div { common & includeContent* }
 | |
| 
 | |
| definition =
 | |
|   element start { combine?, (common & pattern+) }
 | |
|   | element define { nameNCName, combine?, (common & pattern+) }
 | |
| 
 | |
| combine = attribute combine { "choice" | "interleave" }
 | |
| 
 | |
| nameClass = 
 | |
|   element name { commonAttributes, xsd:QName }
 | |
|   | element anyName { common & exceptNameClass? }
 | |
|   | element nsName { common & exceptNameClass? }
 | |
|   | element choice { common & nameClass+ }
 | |
| 
 | |
| exceptNameClass = element except { common & nameClass+ }
 | |
| 
 | |
| nameQName = attribute name { xsd:QName }
 | |
| nameNCName = attribute name { xsd:NCName }
 | |
| href = attribute href { xsd:anyURI }
 | |
| type = attribute type { xsd:NCName }
 | |
| 
 | |
| common = commonAttributes, foreignElement*
 | |
| 
 | |
| commonAttributes = 
 | |
|   attribute ns { xsd:string }?,
 | |
|   attribute datatypeLibrary { xsd:anyURI }?,
 | |
|   foreignAttribute*
 | |
| 
 | |
| foreignElement = element * - rng:* { (anyAttribute | text | anyElement)* }
 | |
| foreignAttribute = attribute * - (rng:*|local:*) { text }
 | |
| anyElement = element * { (anyAttribute | text | anyElement)* }
 | |
| anyAttribute = attribute * { text }
 |