You can use Pantry XML files, such as the
pantry.xml
file we have created
in this example, just as you would use a Pantry
native file (the format used by the
master
file.) For example:
Example 5.5. Use a Pantry XML file as you would use a Pantry native file
$
pantry --name Clif --print traits-nuts pantry.xml
Clif Bar, Oatmeal Raisin Walnut Group: Snacks 1.0 bar (68g) Nutrient Amount %G %TOT ------------------------------------------------------- Calories 240 kcal 12 100 Total Fat 5 g 8 100 Saturated Fat 1 g 5 100 Cholesterol 0 mg 0 0 Sodium 130 mg 5 100 Total Carbohydrate 43 g 14 100 Dietary Fiber 5 g 20 100 Sugars 20 g NA 100 Protein 10 g 20 100 Vitamin A 1500 IU 30 100 Vitamin C 60 mg 100 100 Calcium 250 mg 25 100 Iron 5 mg 25 100
However, I recommend adding the foods to a Pantry
native file, because you will find
it most convenient if the foods you create are
mingled with the other foods you use, either in the
master
file or in a
quick
file, as we discussed
earlier.[14]
For example, to add the Clif Bar to my
master
file, I simply run
pantry --add master pantry.xml
.
You may insert comments into your XML file,
using XML-standard comments (that is, <!--
like this -->). In addition, you will
probably format your XML in a certain way by
using tabs and newlines. However, if you make
changes to the XML file using
--add
, --edit
,
or --delete
, Pantry will
destroy this formatting and
lose the comments. You will also find that, if
you use --add
,
--edit
, or
--delete
, Pantry will rearrange
the order of the foods in your XML file and will
even rearrange the order of the attributes.
For the time being,[15]
one solution to this is to use
only the comment
attribute if you
wish to comment on foods. Also, you can simply refrain
from making changes to the file using Pantry; Pantry
will not destroy data in XML files if it only reading
data from them.
[14] In addition, Pantry XML files are slower to process than Pantry native files. If a Pantry XML file contains just a few foods, the difference is not noticeable. However, for more than several dozen foods, the speed difference might begin to add up. That is one reason why Pantry does not use XML as its native file format.
[15] I considered fixing this problem, but the technical hurdles are significant, so it is not likely to be fixed soon, if ever.