• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Custom Output Sheets

zarlor

Well-known member
Anyone done some work on any of these? I'd love to see your work if you have, no matter how crude. My head is swimming from trying to figure out XSLT and HTML formatting.

Personally I'd love to see something that looks as nice as the standard PDF/Print Preview character sheet, but with all of the full descriptions on Edges/Powers and the like (my group has lots of custom stuff in there.) Trying to figure out how to do that formatting in Custom Output looks like it'll be a LOT of learning to do before I can really even start and I was hoping some others might have made some headway on this and be willing to share examples of at least their statblock.xsl files.

Thanks for any help anyone might be able to throw into the ring!
 
So I guess I'll work on figuring this out, but I need some help. I've worked out more than a few things from the DTD and how to present them but there are some things I can't seem to get working and I'm wondering if anyone here might be able to help me with it.

I'll start off with trying to display Magic Items. I used the Gear entries to make this sort of work as a comma separated list.

First off the lines telling it to display look like:
<!-- Magical gear -->
<p class="magicitem">
<xsl:apply-templates select="magicitems/magicitem"/>
</p>

Next the template that tells it how to display:

<!-- Add a comma before all magic items but the first -->
<xsl:template match="magicitems/magicitem">
<xsl:if test="position() != 1">
<xsl:text>, </xsl:text>
</xsl:if>

<!-- Display the name and quantity - note the lack of newlines / indents
here which make it ugly, but are require to avoid introducing extra
white space which makes the output look bad -->
<xsl:value-of select="@name"/>: <xsl:value-of select="@description"/>, <xsl:value-of select="@enchantments"/><xsl:if test="@quantity != 1">
(x<xsl:value-of select="@quantity"/>)</xsl:if></xsl:template>

Again most of that is a direct copy from the sample statblock.xsl file. What I get for output looks like:

Armbands of Strength: , , Cloak of Shadows: , , Goggles of the Eagle: , , Griffin Statuette: , , Handy Haversack: , , Thieve's Picks: ,

So no real description or enchantments print out.

So from the DTD I can see that there is an ELEMENT entry for "magicitems" with a parenthetical list that includes "magicitem*" in it. Later there is another ELEMENT for "magicitem" with another parenthetical list that includes"description", for example. So it seems that description would not be an @description item, but something different and I don't see any good examples of stuff that is nested 3 deep instead of only 1 or 2 deep. Any ideas?
 
I've been playing with this all day and apparently it took my posting here then playing with it just a tiny bit more to come up with one part of my answer.

It looks like on the line:
<xsl:value-of select="@name"/>: <xsl:value-of select="@description"/>, <xsl:value-of select="@enchantments"/><xsl:if test="@quantity != 1"> (x<xsl:value-of select="@quantity"/>)</xsl:if>

Where I have @description works by simply removing the @ symbol before it. (Told you I'm an XSLT idiot!) So in the DTD for ELEMENT entries like "ELEMENT magicitem ((description))" you wouldn't need to put an @ symbol before it, but for any items in the ATTLIST for that thing presumably you do. Items like "ELEMENT magicitem ((weight?))" for the ones with a ? after them seems to refer to elements that are further defined with their own ELEMENT entry.

In the example in the post previous to this @enchantments is one of those but I still need to work out how to make that one work. enchantment/skillbonus/@name, for example? Presumably I'd have to work out some way to nest a list for items that have multiple skill bonuses/edges/powers. Yikes.
 
OK, here is what I have so far. It's very, very rough and needs a lot of formatting work, but this will print out a lot more information on a character than currently exists in the default custom output. I have a friend with a lot more experience working with XSLT so I'm hoping we can get some help there.

At any rate, this sheet is meant to show all of your "magic items" and gear along with the detailed descriptions, since I have several players who are both relatively unfamiliar with the SW rules and are horrible about looking them up, thus having it right in front of them will save us all a lot of time in play. I don't know how well it will work with things like Deadlands, Super Powers or Horror settings, but this is still in the baby-steps of trying to get this to work at all. Any tips/suggestions are more than welcome.

https://app.dumptruck.goldenfrog.com/p/sxS5J4szsu

The file itself is .rar format so just use something like WinRAR to open it and put it in your C:\ProgramData\Hero Lab\customoutput\savage folder. From there you should see it show up in Hero Labs when you go to File -> Save Custom Output... as "Full Character Sheet"
 
Ok, I'm hoping someone will be able to help out with this...

I've taken a look at Altova's StyleVision (found at http://www.altova.com/solutions/xslt-tools.html, I'm using a 30-day trial) to see if I might be able to use that to design this sheet. I set it up so that the Schema it points to is C:\Program Data\Hero Lab\data\savage\docs\customoutput.dtd which works great and show up all the stuff in the little Schema tree it provides. I then set the "Workng XML" file to C:\Program Data\Hero Lab\customoutput\fullsheet_savage\output.xml, which give me an error about there not be a declaration in element "document" for attribute "signature". And finally I set the XSLT file to C:\Program Data\Hero Lab\customoutput\fullsheet_savage\statblock.xsl. I get no errors there, but it also doesn't show that layout on the Design pane, either. (EDIT: turns out it isn't able to use an existing xslt file to show you the output, only the one in it's format.)

Anyone have a good idea on how I should be laying out files in a tool like this to work correctly? It seem like I've got the dtd file right, but maybe not the other ones? I'd definitely appreciate it if anyone has any experience doing this kind of thing and hopefully I can put together a sheet or two that might be halfway decent for folks before my trial expires (sorry, I don't intend to spend $130 for the product just for this one purpose.)
 
Last edited:
Thanks for the input at least. I'm still working on these some and plan to get back into it harder when I'm done with the HoER data file, but I think I'll have to hit the Pathfinder forum for it. They have a couple of sheets like this done and there has been some little bit of discussion on the tools used in the past, so some folks there might have some experience to help us out on these. If I'm really lucky I might even figure out how to do some of the checkbox stuff they've done on some of the sheets so you can just click a checkbox for things like if you want detailed Edge descriptions or just the short descriptions and such.
 
Agreed, but he's also using Java for it. And learning Java from scratch isn't something I look forward to. Unless the tools in Java make it easier than the very few tools I've found for XML. Something I'll ask around about after I finish the HoER file.
 
I then set the "Workng XML" file to C:\Program Data\Hero Lab\customoutput\fullsheet_savage\output.xml, which give me an error about there not be a declaration in element "document" for attribute "signature".

I think this is your problem. I'm not familiar with the tool you're using, but I believe "Working XML" file would be the XML file the style sheet was going to operate on, i.e. the XML file produced by Hero Lab's custom output mechanism.

Create a character with some items in Savage Worlds to test, then go to File -> Save Custom Output -> Generate XML File. Take the XML file that gets generated and use that for your "Working XML File" in Altova, and see if that works?
 
You may be right and I'll play around with it a bit more, but probably not until later this week (in case anyone else comes back to this thread and is interested.) I need to finish the darned creatures in the HoER file I'm working on now so I expect that to take a few more days first.
 
Ok, just started back on this today and it does look like you're right about the Working XML file. Apparently it's using an XML output sheet from a character to populate the previews with data. So now I'm trying to figure out how to use the tool to make some kind of sheet from it, but I seem to be working some of it out now, at least. I even figured out how to import the statblock.xsl file, but it seems like it may just be easier to try to work it all out from scratch (maybe.) I'll update folks on what I come up.

Thanks for the suggestion!
 
Can't wait to check it out, but unfortunately I'll have to. :( Hopefully I can find some time today, though.
 
@Zarlor, was there any changes you were thinking about for which you would like help in the xslt area? As I mentioned in the other thread, xslt is a decent part of the work I have done in the past. Now, I don't know specifics of xslfo for the PDF layout stuff, but I can easily turn xml to most html formats without issue and am offering my assistance if there is anything you might want to update to your sheets(thanks for the work you did, the updated sheets are... incredible)
 
Considering this was back in 2013 I've long since forgotten any of the details of what all I was looking at with this by now. I partially achieved getting a character sheet with the full descriptions to print from that other thread I pointed out (and the link to the data file to add those if they are of use for other folks is there as well.)

The zip file linked above was my attempt to create that kind of sheet with some more flexibility and maybe better looking and such, but it was really pretty crappy when all is said and done. I can say some of the guys in my group would probably like to have a flexible HTML sheet for characters just so they have an adjustable version on their tablets. Outside of that was just seeing if I could figure out a way to maybe shunt the data out to a form fillable pdf file just so folks could have "pretty" sheets, since Pinnacle is pretty good about making them available for all of their settings.

I will say that I did grab a couple of sheets that folks had done over on the Pathfinder side just to see what could be done and they did some pretty fancy stuff which I was pretty sure I wouldn't be able to do. But if it's something you've got expertise in and otherwise thought of some ideas and useful ways to format things I'm sure the folks here would be pretty interested in seeing some of that. I know I would, anyway. I just can't think of just what those nifty things might be cool too see right now, though.
 
Considering this was back in 2013 I've long since forgotten any of the details of what all I was looking at with this by now. I partially achieved getting a character sheet with the full descriptions to print from that other thread I pointed out (and the link to the data file to add those if they are of use for other folks is there as well.)

The zip file linked above was my attempt to create that kind of sheet with some more flexibility and maybe better looking and such, but it was really pretty crappy when all is said and done. I can say some of the guys in my group would probably like to have a flexible HTML sheet for characters just so they have an adjustable version on their tablets. Outside of that was just seeing if I could figure out a way to maybe shunt the data out to a form fillable pdf file just so folks could have "pretty" sheets, since Pinnacle is pretty good about making them available for all of their settings.

I will say that I did grab a couple of sheets that folks had done over on the Pathfinder side just to see what could be done and they did some pretty fancy stuff which I was pretty sure I wouldn't be able to do. But if it's something you've got expertise in and otherwise thought of some ideas and useful ways to format things I'm sure the folks here would be pretty interested in seeing some of that. I know I would, anyway. I just can't think of just what those nifty things might be cool too see right now, though.

I finally got Ancient One's sheet downloaded. I also spent some time reading a bit about how he designed it. I have no doubt I could implement a fairly dynamic html character sheet(but likely no where near as dynamic as his, such as no movable panels by the user for example). My question/issue really would revolve around what would people want?

So, for example, would one want a series of "radio buttons" for wounds so that this could be quickly tracked? I guess my thought here would be as a simple replacement for the HL IPad app(which does not support Android and does not support Savage Worlds!). I know the one time I played PathFinder, I created my character in HL, exported to dropbox and then imported into the IPad HL viewer. But, I don't have that IPad anymore and besides as mentioned, SW is not supported anyway. Would you want "check boxes" for various in game mechanics such as Wild Attack, Frenzy, etc to actually modify the Sheet and show the effects? If I were to start down this road, it would be a longish project, but honestly, I would need to know what people might want.
 
Back
Top