Pracuję z biblioteki YamlDotNet i dostaję ten błąd podczas ładowania pliku YAML:Co robi jeden wykrzyknik w YAML?
podczas parsowania znacznika, nie znaleźliśmy spodziewać tag URI.
Plik YAML powinien być dobrze sformułowany, ponieważ pochodzi right from RoR. Błąd wydaje się być wywołane przez ten kod:
formats:
default: ! '%d-%m-%Y'
long: ! '%d %B, %Y'
short: ! '%d %b'
Nie jestem ekspertem, ale widzę ze spec YAML, które można wykorzystać wykrzyknik wskazać niestandardowego obiektu/typ, a dwa wykrzykniki wskazać jawny wbudowany typ.
obj1: !custom # whatever
obj2: !!str "My string"
Jednak nie udało mi się znaleźć żadnego odniesienia do wykrzyknika używanego jak powyżej. Co to znaczy i dlaczego biblioteka YAML, której używam, nie wydaje się zdolna do jej przeanalizowania? Zwróć uwagę, że jeśli usuniemy te wykrzykniki, plik zostanie przeanalizowany poprawnie.
Komentowanie czeku wydaje się naprawić problem, ale nie mam pojęcia o jego wpływie na inne konstrukty. W każdym razie zgłosiłem błąd w projekcie. –
byłoby równoznaczne z zawijaniem całego ciągu znaków w cudzysłowie, zamiast używania pojedynczego wykrzyknika z przodu? – Magne
linki do specyfikacji powinny zostać naprawione (1.1 - link do 1.2, 1.2 - linki do 1.1) – kovpack