#251
|
|||
|
|||
Re: Poker Hand XML
[ QUOTE ]
I meant writing the convertor code for the .dll is going to be significantly more complicated if we have to include chat as a requirement. [/ QUOTE ] I don't see how ignoring the chat in a hand history is easier than putting it in a <chat> tag. Anyway you could still write a convertor that omits the chat in the hand histories since the <chat> tag is thought to be optional anyway. |
#252
|
|||
|
|||
Re: Poker Hand XML
Correct me if I'm wrong, but we are allowed to have optional tags in XML. I agree with mikechops that I would not necessarily need chat. But that said, why can't the PokerHandXML support it using optional tags; then when I parse the hand history or consume the XML I just ignore it if I don't want it.
Here's another way to look at it. Not every hand history parsed will have the same information, just as not every application consuming the PokerHandXML will want all the information it may contain. So let's agree to a standard that may optionally contain chat or a summary or anything else, but would still provide a standardized format if it did include chat or a summary. The parser/consumer can choose what they want to use. Agree on the required elements, and simply agree on the format of the optional elements. |
#253
|
|||
|
|||
Re: Poker Hand XML
[ QUOTE ]
Correct me if I'm wrong, but we are allowed to have optional tags in XML. I agree with mikechops that I would not necessarily need chat. But that said, why can't the PokerHandXML support it using optional tags; then when I parse the hand history or consume the XML I just ignore it if I don't want it. Here's another way to look at it. Not every hand history parsed will have the same information, just as not every application consuming the PokerHandXML will want all the information it may contain. So let's agree to a standard that may optionally contain chat or a summary or anything else, but would still provide a standardized format if it did include chat or a summary. The parser/consumer can choose what they want to use. Agree on the required elements, and simply agree on the format of the optional elements. [/ QUOTE ] There is no idea in creating a standard if we cannot come up with a validation scheme that defines the contents of the XML file. If we cannot create a validation scheme, there is no standard. Allowing any elements to be input in the standardized format will immediatly invalidate the whole standard itself. We can add optional elements, but we cannot just allow people to put in whatever elements that want - in that case they would not be following the standard. |
#254
|
|||
|
|||
Re: Poker Hand XML
[ QUOTE ]
I meant writing the convertor code for the .dll is going to be significantly more complicated if we have to include chat as a requirement. [/ QUOTE ] I don't see why it would be harder to pick out lines of chat. For Stars it would be as simple as reading the last character of a line. If it's a quote then it's chat. Other sites will be different of course, but if you wanted to include support for every site you would be doing a retarded amount of parsing already. One more type of line wouldn't make things significantly more complicated. |
#255
|
|||
|
|||
Re: Poker Hand XML
[ QUOTE ]
There is no idea in creating a standard if we cannot come up with a validation scheme that defines the contents of the XML file. If we cannot create a validation scheme, there is no standard. Allowing any elements to be input in the standardized format will immediatly invalidate the whole standard itself. We can add optional elements, but we cannot just allow people to put in whatever elements that want - in that case they would not be following the standard. [/ QUOTE ] IMO, chat should not be included as specific elements. I consider chat as metedata I suggest that metedata should be included as optional sub-elements in Player and Actions only Example of PT stats metadate: <font class="small">Code:</font><hr /><pre> <player id="sbrugby" seat="3" stack="2155"> <metadata>VI$IP: 14% PRF: 5% AF: 1.2</metadata> </player> </pre><hr /> Example of note from a reviewer in metadate: <font class="small">Code:</font><hr /><pre> <action type="call" playerid="BldSwtTrs"> <metadata>Note:This call is bad because you dont have the odds</metadata> </action> </pre><hr /> Nothing stop parser from including chat in metadata if they want: <font class="small">Code:</font><hr /><pre> <action type="call" playerid="BldSwtTrs"> <metadata>CHAT "Jack:againt a bad beat last hand"</metadata> </action> </pre><hr /> |
#256
|
|||
|
|||
Re: Poker Hand XML
Just stumbled upon this thread looking for a way to represent poker hands as xml. Having read through the posts these are my initial comments.
-- In/Excluding chat -- To start with the current chat discussion I think I would favor not including chat in the standard - at least not in the initial version - the main argument being keeping it simple. Adding chat could certainly be a candidate for a future version. Adding chat now would increase the complexity without helping significantly in what I see as the formats main purpose: Functioning as a bridge between the different sites current hand histories and the applications needing to read and parse these hands. I don't think many of these applications will need chat to accommodate their needs. -- Raise <amount> vs Raise to <amount> -- I like the Raise <amount> idea for the reasons that Phil153 and others have stated, namely that it makes the amount consistent across actions. -- Various XML related comments -- I'm not fond of having a symbol attribute added along with the currency code as in <currency code="USD" symbol="$" /> The symbol is redundant, and I can think of all sorts of trouble adding a symbol in a non western character set. Moving the symbol to an element would solve this, but clearly this is too much, and I'd prefer to just remove the symbol all together. -- I slightly prefer <card rank="A" suit="h" playerid="Tickner" /> over <card value="Ah" playerid="Tickner" /> for the same reasons that I (greatly) prefer <card value="Ah" playerid="Tickner" /> over <player cards="Ah Kh" playerid="Tickner" /> A card is an entity on its own, but so is rank and suit. -- There has been some discussion about whether it's needed to take the "raise without opening the betting" situation into account. <action type="bet" playerid="deep" amount="100" /> <action type="call" playerid="mid" amount="100"/> <action type="raise" playerid="short" amount="110" allin="true"/> The valid actions on "deep" with standard betting rules would be fold or call (10). But I have certainly played in home games where a raise would be allowed. Do we wish to flag that "short" has raised without reopening the betting? I can imagine a handquiz type replayer that after each action poses the question "what would you do now?". I can see no way to figure out if the "raise" button should be present if nonstandard betting rules are supported. One could argue that standard betting rules are indeed standard, and therefore we need not support other formats. Anyway - hopefully I have made my points clear enough to spawn some thoughts. |
#257
|
|||
|
|||
Re: Poker Hand XML
[ QUOTE ]
There is no idea in creating a standard if we cannot come up with a validation scheme that defines the contents of the XML file. If we cannot create a validation scheme, there is no standard. Allowing any elements to be input in the standardized format will immediatly invalidate the whole standard itself. We can add optional elements, but we cannot just allow people to put in whatever elements that want - in that case they would not be following the standard. [/ QUOTE ] I agree 100%, that's why i like optional <comment> <chat>, or <read> elements, wherever we put them. <metadata> CHAT: nh, sir</metadata> is an idea i don't like. To make an issue clear that has been lingering in some of the posts: we want to ditinguish between what the format allows (optional or not) on one hand, and on the other hand what content applications that write or read the data must support, should support, and may support, pretty much the way RFCs do it? I'm completely at ease with a particular application ignoring comments, reads and chat, but i think the XML Schema should provide a space for it. "Must support" would be the actual hand action. "Should support" would be stuff like game number, poker room etc., that's generally considered important if you post the hand history here, but doesn't even exist for home games. Applications should not drop this information, but not croak if it's missing either. "May support" the other stuff, comments, reads, chat and so on. |
#258
|
|||
|
|||
Re: Poker Hand XML
[ QUOTE ]
I agree 100%, that's why i like optional <comment> <chat>, or <read> elements, wherever we put them. <metadata> CHAT: nh, sir</metadata> is an idea i don't like. To make an issue clear that has been lingering in some of the posts: we want to ditinguish between what the format allows (optional or not) on one hand, and on the other hand what content applications that write or read the data must support, should support, and may support, pretty much the way RFCs do it? I'm completely at ease with a particular application ignoring comments, reads and chat, but i think the XML Schema should provide a space for it. "Must support" would be the actual hand action. "Should support" would be stuff like game number, poker room etc., that's generally considered important if you post the hand history here, but doesn't even exist for home games. Applications should not drop this information, but not croak if it's missing either. "May support" the other stuff, comments, reads, chat and so on. [/ QUOTE ] my concern is where to add the <chat> element over the pokerhandxml tree structure. <comment> and <read> elements are generaly <player> and <action> specifics so they can be optional sub element of those tags but where to put the <chat> element over an hand hisory? Because chat can hapeen everywhere , during blind, after an hand , before an hand and generaly chat take sense during 2+ hands. With this said i cannot see how to add the chat in a consistent and logical way |
#259
|
|||
|
|||
Re: Poker Hand XML
[ QUOTE ]
[ QUOTE ] I agree 100%, that's why i like optional <comment> <chat>, or <read> elements, wherever we put them. <metadata> CHAT: nh, sir</metadata> is an idea i don't like. To make an issue clear that has been lingering in some of the posts: we want to ditinguish between what the format allows (optional or not) on one hand, and on the other hand what content applications that write or read the data must support, should support, and may support, pretty much the way RFCs do it? I'm completely at ease with a particular application ignoring comments, reads and chat, but i think the XML Schema should provide a space for it. "Must support" would be the actual hand action. "Should support" would be stuff like game number, poker room etc., that's generally considered important if you post the hand history here, but doesn't even exist for home games. Applications should not drop this information, but not croak if it's missing either. "May support" the other stuff, comments, reads, chat and so on. [/ QUOTE ] my concern is where to add the <chat> element over the pokerhandxml tree structure. <comment> and <read> elements are generaly Players and Actions specifics so they can be optional sub element of those tags but where to put the <chat> element over an hand hisory? Because chat can hapeen everywhere , during blind, after an hand , before an hand and generaly chat take sense during 2+ hands. With this said i cannot see how to add the chat in a consistent and logical way [/ QUOTE ] Chat should be an action, no? not a tag of its own - such as: <font class="small">Code:</font><hr /><pre> <action type="chat" playerid="_dave_">I think I'm beat, but I call</action> <action type"call" playerid="_dave_" amount="100" /> </pre><hr /> Or maybe not? |
#260
|
|||
|
|||
Re: Poker Hand XML
In order to be a bit more productive instead of just complaining here's my take on the chat issue:
<font class="small">Code:</font><hr /><pre> <round id="turn"> <deal> <card value="Qd" /> </deal> <actions> <action type="check" playerid="sbrugby" /> <action type="bet" playerid="durrr" amount="150" /> <action type="notice">durrr: zzzzzzz</action> <action type="notice">durrr: z</action> <action type="notice">Dealer: sbrugby has timed out and is given 30s to reconnect</action> <action type="notice">durrr: z</action> <action type="notice">durrr: z</action> <action type="notice">durrr: z</action> <action type="notice">(Observer)noobi: CAN SOME1 TRANSFER ME $5 PLZ?????</action> <action type="notice">Dealer: sbrugby is disconnected and is considered all-in</action> <action type="call" playerid="sbrugby" amount="0" allin="true" /> </actions> </round> </pre><hr /> |
|
|