You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					34 lines
				
				1.3 KiB
			
		
		
			
		
	
	
					34 lines
				
				1.3 KiB
			| 
											2 years ago
										 | Utilities for determining whether characters belong to character classes defined | ||
|  | by the XML specs. | ||
|  | 
 | ||
|  | ## Organization
 | ||
|  | 
 | ||
|  | It used to be that the library was contained in a single file and you could just | ||
|  | import/require/what-have-you the `xmlchars` module. However, that setup did not | ||
|  | work well for people who cared about code optimization. Importing `xmlchars` | ||
|  | meant importing *all* of the library and because of the way the code was | ||
|  | generated there was no way to shake the resulting code tree. | ||
|  | 
 | ||
|  | Different modules cover different standards. At the time this documentation was | ||
|  | last updated, we had: | ||
|  | 
 | ||
|  | * `xmlchars/xml/1.0/ed5` which covers XML 1.0 edition 5. | ||
|  | * `xmlchars/xml/1.0/ed4` which covers XML 1.0 edition 4. | ||
|  | * `xmlchars/xml/1.1/ed2` which covers XML 1.0 edition 2. | ||
|  | * `xmlchars/xmlns/1.0/ed3` which covers XML Namespaces 1.0 edition 3. | ||
|  | 
 | ||
|  | ## Features
 | ||
|  | 
 | ||
|  | The "things" each module contains can be categorized as follows: | ||
|  | 
 | ||
|  | 1. "Fragments": these are parts and pieces of regular expressions that | ||
|  | correspond to the productions defined in the standard that the module | ||
|  | covers. You'd use these to *build regular expressions*. | ||
|  | 
 | ||
|  | 2. Regular expressions that correspond to the productions defined in the | ||
|  | standard that the module covers. | ||
|  | 
 | ||
|  | 3. Lists: these are arrays of characters that correspond to the productions. | ||
|  | 
 | ||
|  | 4. Functions that test code points to verify whether they fit a production. |