2009-10-21 7 views
6

Nie bardzo rozumiem, jak używać znaczników YAML specyficznych dla aplikacji, a może dlatego, że moje pożądane użycie jest całkowicie błędne. Używam YAML do pliku konfiguracyjnego i miałem nadzieję, że użyję znaczników, aby dostarczyć programowi ładującemu konfigurację podpowiedź, jaki typ danych powinien on parsować dane na - specyficzne dla aplikacji typy danych.Używanie znaczników YAML do oznaczania typów

Używam również libyaml C.

Więc staram się zrobić coś takiego ...

shapes: 
    square: "0,4,8,16" 
    circle: "5,10" 

W mojej aplikacji chciałbym używać znaczników jak podpowiedzi więc może załadować wartości kwadratu do mojej kwadratowej struktury danych, a wartości koła do mojej struktury danych koła (te wartości nic nie znaczą w tym przykładzie).

Więc jestem obecnie robi:

shapes: 
    square: !square "0,4,8,16" 
    circle: !circle "5,10" 

Libyaml zapewni tag „kwadrat”, kiedy jestem przeszły skalar „0,4,8,16”. Czy można użyć tego znacznika, aby dostarczyć ładowaczowi podpowiedź, jak przetwarzać skalar?

Ponieważ działa to dla mnie, jestem bardziej ciekawy, czy to właściwe. A jeśli nie, to w jaki sposób mam zamiar uczynić to bardziej właściwym.

Dzięki.

Odpowiedz

3

wiem, że jest to starożytny pytanie, ale i tak widziałem! Int, etc wykorzystywane w plikach yaml przed więc poszedłem sprawdzić specyfikacje na Yaml 1.2 SpeC# Tags

application specific tag: !something | 
The semantics of the tag 
above may be different for 
different documents. 

Zgodnie z dokumentem , wygląda na to, że zamierzone użycie tagów jest poprawne dla tagu specyficznego dla aplikacji.

Powiązane problemy