• Welcome to the new forum! We upgraded our forum software with a host of new boards, capabilities and features. It is also more secure.
    Jump in and join the conversation! You can learn more about the upgrade and new features here.

BeerSmith XML Tags ((Updated))

Wastegate

Grandmaster Brewer
Joined
Mar 14, 2008
Messages
1,115
Reaction score
0
Location
Houston
{Edited} Props to "tgioiosa" for helping with this effort!
I have put together a listing from the templates of the all the various tags available (That I could Find). If I have missed any this would be a great place for them to go!
FYI: From what I have gathered, not all Data types will allow all tags.  In order to use other "Data Types" you will need to prefix the DATATYPE to the TAG. Just to keep things straight I am specifing the "DATATYPE" begining and end IE: <DATATYPE></DATATYPE>

((Updated))I have also attached a new brewsheet that I modified and currently use. It is in "Draft" form. I also added $BITTERNESS_RATIO to the list of confirmed tags. You can find it at the bottom of this post.            Maybe I will get back on this project soon.

I conducted a test and have confirmed that the Following Tags work with the Recipe Data Type.
----------------------------
Purpose          Tag
Actual Alcohol by Vol: $ABV
Adjust Temp for Equipment: $EQUIP_ADJUST
Age beer for: $AGE
Age (In Days)r: $AGE
Asst Brewer: $ASST_BREWER
Batch Size: $DISPLAY_BATCH_SIZE
Bitterness: $IBU
Bitterness Ratio: $BITTERNESS_RATIO
Boil Ingredients: $BOIL_INGREDIENTS
Boil Size: $DISPLAY_BOIL_SIZE
Boil Time: $BOIL_TIME
Boil Volume: $DISPLAY_BOIL_SIZE
Bottling Date: $BOTTLING_DATE
Brewer: $BREWER
Brewhouse Efficiency: $EFFICIENCY
Calories: $CALORIES
Carbonation Type: $CARBONATION_TYPE
Carbonation Used: $CARBONATION_USED
Color Swatch: $COLOR_SWATCH
((Added 3/28/08)) HEX Color: $RGB_COLOR
Date: $DATE
Display Age Temp: $DISPLAY_AGE_TEMP
Display Batch Size: $DISPLAY_BATCH_SIZE
Display Carbonation: $DISPLAY_CARBONATION
Display Primary Temp: $DISPLAY_PRIMARY_TEMP
Display Secondary Temp: $DISPLAY_SECONDARY_TEMP
Display Tertiary Temp: $DISPLAY_TERTIARY_TEMP
Drink and Enjoy!: $END_DATE
Equipment: $EQUIPMENT
Est Color: $EST_COLOR
Est Final Gravity: $EST_FG
Est Original Gravity: $EST_OG
Estimated Alcohol by Vol: $EST_ABV
Estimated pre-boil gravity: $PRE_BOIL_OG
Ferment Ingredients: $FERMENT_INGREDIENTS
Final Volume: $DISPLAY_BATCH_SIZE
For Batch Size: $BATCH_SIZE
Grain Temperature: $GRAIN_TEMP
Ingredients: $INGREDIENTS
Keg/Bottling Temperature: $DISPLAY_CARB_TEMP
Mash Ingredients : $MASH_INGREDIENTS
Mash Ingredients : $MASH_INGREDIENTS
Measured Final Gravity: $DISPLAY_FG
Measured Original Gravity: $DISPLAY_OG
Name: $NAME
Notes: $NOTES
Prepare for Bottling/Kegging: $BOTTLING_INGREDIENTS
Pressure/Weight: $CARBONATION_PRESS
Primary Age: $PRIMARY_AGE
Primary fermentation: $PRIMARY_DATE
Primary Ingredients: $PRIMARY_INGREDIENTS
Recipe Price  $PRICE
Secondary Age: $SECONDARY_AGE
Secondary fermentation: $SECONDARY_DATE
Secondary Ingredients: $SECONDARY_INGREDIENTS
Sparge Steps: $SPARGE_STEPS
Sparge Temperature: $SPARGE_TEMP
Sparge Water: $SPARGE_VOLUME
Steep Hops: $STEEP_HOPS
Steep Ingredients: $STEEP_INGREDIENTS
Storage Temperature: $DISPLAY_AGE_TEMP
Style Category  $STYLE.CATEGORY
Style Letter: $STYLE_LETTER
Style Name: $STYLE_NAME
Taste Notes: $TASTE_NOTES
Taste Rating(out of 50): $TASTE_RATING
Tertiary Age: $TERTIARY_AGE
Tertiary Fermentation: $TERTIARY_DATE
Total Grain Weight: $GRAIN_WEIGHT
Total Grain Weight: $TOTAL_GRAINS
Total Hops added to boil: $TOTAL_HOPS
TunTemperature: $TUN_TEMP
Type: $TYPE
Volumes of CO2: $CARBONATION
Water preperation: $WATER_PREP
Yeast Starter: $YEAST_STARTERS

----------------------------

In order for the following tags to work in the Recipe Data Type, you will need to prefix the "DATATYPE" to the tag IE: DATATYPE.TAG. Just to keep things straight I am specifing the "DATATYPE" begining and end IE: <DATATYPE></DATATYPE>

Competition Data Type:
<COMPETITION>
Name: $COMPETITION.BREWER
Assistant Brewer: $COMPETITION.ASST_BREWER
Club/Organization: $COMPETITION.CLUB
Address: $COMPETITION.ADDRESS
Phone: $COMPETITION.PHONE
Email: $COMPETITION.EMAIL
Name of Brew: $COMPETITION.NAME
Entry Category: $COMPETITION.STYLE_NAME
Type: $COMPETITION.TYPE
Category Number: $COMPETITION.STYLE_NUMBER
Subcategory Letter: $COMPETITION.STYLE_LETTER
Starting Gravity: $COMPETITION.DISPLAY_OG
Batch Size: $COMPETITION.DISPLAY_BATCH_SIZE
Final Gravity: $COMPETITION.DISPLAY_FG
Mash Profile: $COMPETITION.MASH_NAME
Hops Used: $COMPETITION.HOPS
Fermentables: $COMPETITION.FERMENTABLES
Misc: $COMPETITION.MISCS
Yeast: $COMPETITION.YEASTS
Category: $COMPETITION.STYLE
</COMPETITION>

Style Data Type
<STYLES>
Style Name: $STYLE_NAME
Style Category: $STYLE.CATEGORY
Type: $STYLE.TYPE
Category Number: $STYLE.CATEGORY_NUMBER
Style Letter: $STYLE.STYLE_LETTER
Original Gravity: $STYLE.OG_RANGE
Color: $STYLE.COLOR_RANGE
Final Gravity: $STYLE.FG_RANGE
Bitterness: $STYLE.IBU_RANGE
Carbonation: $STYLE.CARB_RANGE
Alcohol by Volume: $STYLE.ABV_RANGE
Description: $STYLE.NOTES
Profile: $STYLE.PROFILE
Ingredients: $STYLE.INGREDIENTS
Examples: $STYLE.EXAMPLES
Style Guide: $STYLE.STYLE_GUIDE
</STYLES>

Equipment Data Type
<EQUIPMENT>
Equipment Name: $EQUIPMENT.NAME
Batch Size: $EQUIPMENT.DISPLAY_BATCH_SIZE
Mash Volume: $EQUIPMENT.DISPLAY_TUN_VOLUME
Mash Volume: $EQUIPMENT.TUN_VOLUME
Boil Volume: $EQUIPMENT.DISPLAY_BOIL_SIZE
Calc Boil Volume: $EQUIPMENT.CALC_BOIL_VOLUME
Mash Tun Weight: $EQUIPMENT.DISPLAY_TUN_WEIGHT
Mash Tun Weight: $EQUIPMENT.TUN_WEIGHT
Evaporation Rate: $EQUIPMENT.EVAP_RATE %
Mash Tun Specific Heat : $EQUIPMENT.TUN_SPECIFIC_HEAT cal/g-deg C
Boil Time: $EQUIPMENT.BOIL_TIME
Mash Tun Deadspace: $EQUIPMENT.DISPLAY_LAUTER_DEADSPACE
Mash Tun Deadspace: $EQUIPMENT.LAUTER_DEADSPACE
Mash Tun Deadspace: $EQUIPMENT.LAUTER_DEADSPACE
Top-up for Boiler: $EQUIPMENT.DISPLAY_TOP_UP_KETTLE
Top-up for Boiler: $EQUIPMENT.TOP_UP_KETTLE
Equip Hop Utilization: $EQUIPMENT.HOP_UTILIZATION %
Losses to Trub/Chiller: $EQUIPMENT.DISPLAY_TRUB_CHILLER_LOSS
Losses to Trub/Chiller: $EQUIPMENT.TRUB_CHILLER_LOSS
Cooling Loss (%): $EQUIPMENT.COOLING_LOSS_PCT
Top up water for Fermenter: $EQUIPMENT.DISPLAY_TOP_UP_WATER
Top up water for Fermenter: $EQUIPMENT.TOP_UP_WATER
Equipment Notes: $EQUIPMENT.NOTES
</EQUIPMENT>

Mash Data Type
<MASH>
Mash Name: $MASH.NAME
Grain Weight Basis: $MASH.GRAIN_WEIGHT
Grain Temperature: $MASH.DISPLAY_GRAIN_TEMP
Tun Temperature: $MASH.DISPLAY_TUN_TEMP
Batch Sparge: $MASH.BATCH_SPARGE_YESNO
Batch Sparge Percent: $MASH.BATCH_SPARGE_PCT
Sparge Temperature: $MASH.DISPLAY_SPARGE_TEMP
PH: $MASH.PH
Mash Steps: $MASH.MASH_STEPS
Notes: $MASH.NOTES
</MASH>

Hope this helps!

Thanks for the great software Brad

Preston
 

Attachments

  • Brewsheet.zip
    40.5 KB · Views: 1,274
Thats a very good list - thanks!

Brad
 
Nice job, these are very informative, but I have two questions:

1. Many of these tags do not display anything (just the tag name itself displays in reports). How are they used in a report? Or are they not working?

2. How can you place a "dollar sign" in a report? For example, it would be nice to show recipe cost as "Recipe Cost: $5.00", but it seems as though
    a single '$' symbol in the template file doesn't show up in the report.

-Tony

 
tgioiosa said:
Nice job, these are very informative, but I have two questions:
1. Many of these tags do not display anything (just the tag name itself displays in reports). How are they used in a report? Or are they not working?
2. How can you place a "dollar sign" in a report? For example, it would be nice to show recipe cost as "Recipe Cost: $5.00", but it seems as though
    a single '$' symbol in the template file doesn't show up in the report.
-Tony
Hi Tony I started a new thread ( http://www.beersmith.com/forum/index.php?topic=1471.0 ) that addresses part of question number 1. The "$" is the marker for the software to get data. The Data Types are the reason that some will show up and some will not. Until we have a Data Type that encompasses all the tags this is what we are relegated to. You may note that I have modified the list above to show which tags work with the recipe data type.

As far as question number 2 is concerned. I have been putting anything that wont auto-populate into the Notes field and then using tag $NOTES to show this information.

Cheers

Preston
 
Wastegate said:
I have put together a listing from the templates of the all the various tags available (That I could Find). If I have missed any this would be a great place for them to go!
FYI: From what I have gathered, not all Data types will allow all tags. It would be nice if there was a Data Type that encompassed every tag available. Then we truly could make our own reports! ;) I have attached my brew sheet that I modified and currently used. You can find it at the bottom of this post.

Thanks for the list Preston and thanks for the brew sheet.  Maybe I will start to tweak and play around with the reports myself but I am not really a coder.

And yes, thanks to Brad for the awesome software.

Peace,

G!
 
Hi Preston,

Thanks for the feedback.  Here is something I can contribute. After playing around I found that if you prefix some of these "other" tags you can get the data to show up in reports.

These seem to work in the Recipe Reports.

Here is what I came up with:

Style Data Types: (assumes <STYLE> type)

Style Category  $STYLE.CATEGORY
Style Number $STYLE.CATEGORY_NUMBER
Style Letter:  $STYLE.STYLE_LETTER
Style Guide: $STYLE.STYLE_GUIDE
Style Name:  $STYLE_NAME
Style Type: $STYLE.TYPE
Style OG Range:  $STYLE.OG_RANGE
Style FG Range:  $STYLE.FG_RANGE
Style IBU Range: $STYLE.IBU_RANGE
Style Carb Range: $STYLE.CARB_RANGE
Style ABV Range: $STYLE.ABV_RANGE
Style Color Range: $STYLE.COLOR_RANGE

Equipment Data Types:  (assumes <EQUIPMENT> type)

Losses to Trub/Chiller:  $EQUIPMENT.DISPLAY_TRUB_CHILLER_LOSS
Mash Tun Deadspace:  $EQUIPMENT.DISPLAY_LAUTER_DEADSPACE
Mash Tun Weight:  $EQUIPMENT.DISPLAY_TUN_WEIGHT
Mash Volume:      $EQUIPMENT.DISPLAY_TUN_VOLUME
Top up water for Fermenter:        $EQUIPMENT.DISPLAY_TOP_UP_WATER
Top-up for Boiler:      $EQUIPMENT.DISPLAY_TOP_UP_KETTLE
Losses to Trub/Chiller:  $EQUIPMENT.TRUB_CHILLER_LOSS
Mash Tun Deadspace:  $EQUIPMENT.LAUTER_DEADSPACE
Mash Tun Weight:  $EQUIPMENT.TUN_WEIGHT
Mash Volume:        $EQUIPMENT.TUN_VOLUME
Top up water for Fermenter:        $EQUIPMENT.TOP_UP_WATER
Top-up for Boiler:            $EQUIPMENT.TOP_UP_KETTLE
MashTun Sp Heat (cal/g-degC):    $EQUIPMENT.TUN_SPECIFIC_HEAT
Evaporation Rate %:        $EQUIPMENT.EVAP_RATE
Boil Time:            $EQUIPMENT.BOIL_TIME
Calc Boil Volume:       $EQUIPMENT.CALC_BOIL_VOLUME
Mash Tun Deadspace:  $EQUIPMENT.LAUTER_DEADSPACE
Equip Hop Utilization %:  $EQUIPMENT.HOP_UTILIZATION
Cooling Loss (%):  $EQUIPMENT.COOLING_LOSS_PCT
Equipment Name: $EQUIPMENT.NAME
Equipment Notes: $EQUIPMENT.NOTES


Cheers,  :)
Tony
 
tgioiosa said:
Hi Preston,
Thanks for the feedback.  Here is something I can contribute. After playing around I found that if you prefix some of these "other" tags you can get the data to show up in reports.
These seem to work in the Recipe Reports.
Here is what I came up with:
Style Data Types: (assumes <STYLE> type)
Equipment Data Types:  (assumes <EQUIPMENT> type)
Cheers,  :)
Tony
That was exactly what I was looking for!

So you tell the template the data type is by prefixing the tag with $DATATYPE.tag and it should work.

I will play with this and see what I can come up with. It makes perfect sense now!

I will post what I put together

Preston
 
I also like to "Geek" around with code and see what I can find / learn / break / fix along the way.  I am by no means a coder, but if you guys want me to play with something to test and debug and provide feedback just let me know.  I dabbled a little bit in modifying other peoples XML code (World of Warcraft GUI mods) to customize my game interface, so I might actually be able to do some good.

Peace,

G!
 
I am still working on the following. I have gone through the BeerXML.doc and still have some research/testing to do with these.

*******CHECK THESE **********


<FERMENTABLES>Fermentables
<FERMENTABLE>
Grain Name: $FERMENTABLE_NAME
Grain Origin: $FERMENTABLE.ORIGIN
Supplier: $FERMENTABLE.SUPPLIER
Yield: $FERMENTABLE.YIELD %
Type: $FERMENTABLE.TYPE
Potential: $FERMENTABLE.POTENTIAL
Color: $FERMENTABLE.COLOR
Coarse Fine Diff: $FERMENTABLE.COARSE_FINE_DIFF %
Max In Batch: $FERMENTABLE.MAX_IN_BATCH %
Moisture: $FERMENTABLE.MOISTURE
Must Mash: $FERMENTABLE.RECOMMEND_MASH
Diastatic Power: $FERMENTABLE.DIASTATIC_POWER
Protein: $FERMENTABLE.PROTEIN
Inventory: $FERMENTABLE.INVENTORY
IBU: $FERMENTABLE.IBU_GAL_PER_LB
Notes: $FERMENTABLE.NOTES
</FERMENTABLE>
</FERMENTABLES>

<HOPS>Hops
<HOP>
Hops Name: $HOP.NAME
Hops Origin: $HOP.ORIGIN
Alpha: $HOP.ALPHA %
Type: $HOP.TYPE
Beta: $HOP.BETA %
Form: $HOP.FORM
HSI: $HOP.HSI % per 6 months
Inventory: $HOP.INVENTORY
Notes: $HOP.NOTES
</HOP>
</HOPS>

<MISCS>MISC
<MISC>
Misc Name: $MISC.NAME
Misc Type: $MISC.TYPE
Use For: $MISC.USE_FOR
Amount: $MISC.DISPLAY_AMOUNT
For Batch Size: $MISC.BATCH_SIZE
Add To: $MISC.USE
Time: $MISC.DISPLAY_TIME
Inventory: $MISC.INVENTORY
Notes: $MISC.NOTES
</MISC>
</MISCS>

<NOTES>NOTE
<NOTE>
Note Name: $NOTE.NAME
Note Description: $NOTE.DESCRIPTION
Note Type: $NOTE.TYPE
Priority: $NOTE.PRIORITY
Start Date: $NOTE.START_DATE
End Date: $NOTE.END_DATE
Notes: $NOTE.NOTES
</NOTE>
</NOTES>

<WATERS>WATER
<WATER>
Water Name: $WATER.NAME
Calcium: $WATER.CALCIUM ppm
Sulfate: $WATER.SULFATE ppm
Magnesium: $WATER.MAGNESIUM ppm
Chloride: $WATER.CHLORIDE ppm
Sodium: $WATER.ODIUM ppm
Bicarbonate: $WATER.BICARBONATE ppm
PH: $WATER.PH
Gypsum: $WATER.GYPSUM
Baking Soda: $WATER.BAKE
Salt: $WATER.SALT
Chalk: $WATER.CHALK
Epsom Salt: $WATER.EPSOM
Calcium Chloride: $WATER.CALC
Notes: $WATER.NOTES
</WATER>
</WATERS>

<YEASTS>YEAST
<YEAST>
Yeast Name: $YEAST.NAME
Yeast Laboratory: $YEAST.LABORATORY
Yeast Product ID: $YEAST.PRODUCT_ID
Type: $YEAST.TYPE
Form: $YEAST.FORM
Attenuation: $YEAST.ATTENUATION %
Min Temperature: $YEAST.DISP_MIN_TEMP
Flocculation: $YEAST.FLOCCULATION
Max Temperature: $YEAST.DISP_MAX_TEMP
Size: $YEAST.DISPLAY_AMOUNT
Times Cultured: $YEAST.TIMES_CULTURED
Add To Secondary: $YEAST.ADD_TO_SECONDARY
Max Reuse: $YEAST.MAX_REUSE
Inventory: $YEAST.INVENTORY
Best For: $YEAST.BEST_FOR
Notes: $YEAST.NOTES
</YEAST>
</YEASTS>
 
Hi Preston,

I have tried some of those last datatypes and tags in your latest post, like FERMENTABLES, HOPS, etc.  I couldn't get any success with them in a Recipe Report.

For example, <HOPS></HOPS> can contain several individual <HOP></HOP> datatypes, and the tags such as TYPE, BETA%, ALPHA%, etc. are tied to these <HOP></HOP> pairs, not the encompassing <HOPS></HOPS> datatype.  Question is, how do we enumerate through the <HOPS></HOPS> datatype to get to reference the individual <HOP></HOP> datatypes?

I think it's a similar situation for FERMENTABLES, MISCS, WATERS, and YEASTS. We need to somehow pinpoint the individual entities in those groups in order to get anything to show in a report.

Let us know if you have any success, as I haven't been able to get these to show up.

Cheers, :)
Tony
 
tgioiosa said:
Hi Preston,
I have tried some of those last datatypes and tags in your latest post, like FERMENTABLES, HOPS, etc.  I couldn't get any success with them in a Recipe Report.
For example, <HOPS></HOPS> can contain several individual <HOP></HOP> datatypes, and the tags such as TYPE, BETA%, ALPHA%, etc. are tied to these <HOP></HOP> pairs, not the encompassing <HOPS></HOPS> datatype.  Question is, how do we enumerate through the <HOPS></HOPS> datatype to get to reference the individual <HOP></HOP> datatypes?
I think it's a similar situation for FERMENTABLES, MISCS, WATERS, and YEASTS. We need to somehow pinpoint the individual entities in those groups in order to get anything to show in a report.
Let us know if you have any success, as I haven't been able to get these to show up.
Cheers, :)
Tony
We are on the same page and will need guidance from Mr BeerSmith himself (Brad) on this one.

I have tried using both data types in an effort to get the tag to work. I have also changed the referencing data type and combinations their-in to no avail.

On a side note: (Off Topic)
In the process of doing all of this I found that BeerSmith report templates will work with CSS and have a preliminary BrewSheet that has the capability of referencing other templates. I am playing around with this right now and have posted my first draft with this post. There are some pretty cool stuff we can do with this if I can get it to work, like link the brewsheet with my Keg Label's, Bottle Label's, or Whatever. I will let you know what I find.
 

Attachments

  • Brewsheet.zip
    40.5 KB · Views: 957
rokgoblin said:
I also like to "Geek" around with code and see what I can find / learn / break / fix along the way.  I am by no means a coder, but if you guys want me to play with something to test and debug and provide feedback just let me know.  I dabbled a little bit in modifying other peoples XML code (World of Warcraft GUI mods) to customize my game interface, so I might actually be able to do some good.
Peace,
G!

Dig In! Any help is Appreciated!

Thanks

Preston
 
Hi

Good job you've done.

I have som problem with the $RGB_COLOR tag. It displays 6 hex digits, but I would like it to display three bloks of decimal numbers just to type in the RGB-field in most programs. I.e. $RGB_COLOR #b66333 should display 182.99.51.

Any suggestions?

Erik

 
Erik,
  No at the moment, the hex version is the only one I've implemented, as it works in HTML.

  I could add another version in a future update - would it be the decimal RGB numbers separated by a decimal point??

Brad
 
That would be great, Brad.

Decimal number seperated with a decimal point is fine.

Until then I'll convert between hex and dec, no problem. Decimal notation is just easier.

Erik
 
Here's a few more for recipes I found:
  $BITTERNESS_RATIO - shows the BU:GU ratio (per Ray Daniels book)
  $TOTAL_HOPS - shows the total amount of hops in the recipe
  $TOTAL_GRAINS - total grains for the recipe.

Cheers,
Brad
 
I added $BITTERNESS_RATIO to the confirmed working tags. However I did not update the Brewsheet. If you would like you can edit line 122 with ( <td width="52%"><b><i>Bitterness Ratio</i>:</b> $BITTERNESS_RATIO</td>) and then it will show up on yours.

Maybe I will get back on this project at some point in the near future.

Cheers

Preston
 
I have a slightly different problem. I'd like to add custom images to different reports. So if I have a recipe named Mentat Marzen and want to add the image Mentat Marzen.jpg in the html, how can I do that? I have tried a number of different lines such as the following.

src="./images/$NAME.jpg"
src="./images/${NAME}.jpg"
src="./images/\$NAME.jpg"

I have also tried a number of different quote options with no luck. I can get src="./images/ $NAME .jpg" to work, but that line requires post processing to remove the spaces. Is there a way to get one of the beersmith variables into a string?

Thanks,

A very happy beersmith user.
 
Back
Top