2009-10-21 6 views
6

Je ne comprends pas très bien comment utiliser des balises YAML spécifiques à une application, et peut-être parce que mon utilisation souhaitée est purement erronée. J'utilise YAML pour un fichier de configuration et j'espérais utiliser des balises pour fournir à mon chargeur de configuration un indice quant au type de données qu'il devrait analyser dans les types de données spécifiques à l'application.Utilisation de balises YAML pour indiquer les types

J'utilise aussi libyaml avec C.

Je suis en train de faire quelque chose comme ...

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

Dans mon application, je voudrais utiliser des balises comme des conseils pour que je peut charger les valeurs de carré dans ma structure de données carrées, et les valeurs de cercle dans ma structure de données de cercle (ces valeurs ne signifient rien dans cet exemple).

Je suis en train de faire:

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

libyaml fournira une étiquette de « carré! » Quand je suis passé scalaire « 0,4,8,16 ». Est-il valable d'utiliser cette balise pour fournir à mon chargeur un indice sur la façon de traiter le scalaire?

Comme cela fonctionne pour moi, je suis plus curieux de savoir si c'est le cas. Et sinon, comment pourrais-je faire pour que cela soit plus approprié?

Merci.

Répondre

3

Je sais que c'est une question ancienne, mais de toute façon je l'ai vu! Int, etc utilisé dans les fichiers YAML avant, donc je suis allé chercher les spécifications à Yaml 1.2 SpeC# Tags

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

Selon le document , il semble que votre utilisation prévue des balises soit correcte pour l'étiquette spécifique à l'application.

Questions connexes