1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use static_regular_grammar::RegularGrammar;

use crate::ParseXsd;

/// Language.
///
/// ```abnf
/// language = 1*8ALPHA *("-" 1*8(ALPHA / DIGIT))
/// ```
///
#[derive(RegularGrammar, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[grammar(sized(
	LanguageBuf,
	derive(Debug, Display, PartialEq, Eq, PartialOrd, Ord, Hash)
))]
pub struct Language(str);

impl ParseXsd for LanguageBuf {
	type LexicalForm = crate::lexical::Language;
}