Loading ...
Sorry, an error occurred while loading the content.
 

Re: [pcgen-xml] a thought in responce to Re: Opinions? from a data perspective

Expand Messages
  • Keith Davies
    ... If you want to have multiple items with the same data (more or less) you can do
    Message 1 of 20 , May 15, 2003
      On Sun, May 11, 2003 at 08:30:33PM +0000, dlm1065 wrote:
      > I'll be blunt I haven't a clue yet on xml but I will once I have a
      > little more time to focus on learning it. But as a person working
      > on lst I have a question. Which of the methods is going to allow for
      > modifications the easiest by other data sets 3,4, or 5(tsalla's).
      >
      > Examples
      > 1)one book calls it bastard sword, another book calls it sowrd and a
      > half, something else calls it Fooboz. I want to use the name fooboz
      > with the data from bastard sword, after all why enter the same data
      > 20 times for different names?

      If you want to have multiple items with the same data (more or less) you
      can do

      <copy:equip id="equip.fooboz" refid="equip.bastard-sword">
      <name>Foobox</name>
      </copy>

      Alternatively, make name a repeatable element; the names can be used
      interchangeably because they all point at the same thing. I'm not
      entirely happy with that, though, because applying it means you're going
      to either have only single derivations, or multiple. That is, you'll
      see lists showing

      Bastard Sword +1
      Fooboz +1

      resulting in potentially *huge* numbers of things, or you'll have only
      one of the above (which one?) meaning that not everything will have
      entries. Neither is, to me, a good solution. (Now, if they differ in
      more than name it's a moot point; both should correctly be present.)

      > 2)WOTC player's Paladin. In dragonstar he gets technical proficiency
      > and other new armor and weapon proficiencies but he also looses
      > class skills(like ride) and SA's (like Summon Special Mount).
      > Present lst cannot back out class skills(at least not last time I
      > checked). It can back out SA's with a CLEAR. To do this lst code you
      > have to make an entire new paladin with a name to indicate the book,
      > Paladin(DS).

      To be dealt with later; currently my requirement is that we can support
      *at least* as much as current LST syntax. There are places where the
      XML will exceed the capabilities of LST (specifically prereqs -- the XML
      will do much more than the program supports at the moment).

      > 3)WOTC handbook race elf. In dragonstar the elf racial abilities are
      > added to. You gt an additional +2 racial bonus on freefall checks &
      > +2 racial bonus to knowledge. Which has a lst code of this in DS
      > races.
      >
      > RACE:Elf.MOD
      > BONUS:SKILL|Freefall,Knowledge (Biology)|2|TYPE=Racial
      > TEMPLATE:DS Regions
      >
      > So how would method 3,4,5 handle the MOD or CLEAR syntax in a manner
      > that would be the simpleist to understand and code??

      <race id="race.elf" />

      <mod:race refid="race.elf">
      <add:bonus />
      <add:template />
      </mod:race>

      or something to that effect. Much is elided above simply because I
      haven't looked at it too hard recently and am not entirely certain what
      the syntax is, or because the content is either obvious or not important
      to the message (specifically for the 'original elf definition')....


      Keith
      --
      Keith Davies
      keith.davies@...

      PCGen: <reaper/>, smartass
      "You just can't argue with a moron. It's like handling Nuclear
      waste. It's not good, it's not evil, but for Christ's sake, don't
      get any on you!!" -- Chuck, PCGen mailing list
    • dlm1065
      ... manner ... what ... important ... If it looks anything close to what you have here then even a xml cluseless person like me can handle working with it
      Message 2 of 20 , May 17, 2003
        > > RACE:Elf.MOD
        > > BONUS:SKILL|Freefall,Knowledge (Biology)|2|TYPE=Racial
        > > TEMPLATE:DS Regions
        > >
        > > So how would method 3,4,5 handle the MOD or CLEAR syntax in a
        manner
        > > that would be the simpleist to understand and code??
        >
        > <race id="race.elf" />
        >
        > <mod:race refid="race.elf">
        > <add:bonus />
        > <add:template />
        > </mod:race>
        >
        > or something to that effect. Much is elided above simply because I
        > haven't looked at it too hard recently and am not entirely certain
        what
        > the syntax is, or because the content is either obvious or not
        important
        > to the message (specifically for the 'original elf definition')....
        >
        >
        > Keith
        > --
        > Keith Davies
        > keith.davies@k...
        > > get any on you!!" -- Chuck, PCGen mailing list

        If it looks anything close to what you have here then even a xml
        cluseless person like me can handle working with it fairly easily.
        Appreciate your explanation.
      • sbwoodside
        ... I ve been doing work with schemas lately (in a project called Alexandra) and agreed, inlining is a hassle that s good to avoid. ...
        Message 3 of 20 , May 29, 2003
          --- In pcgen-xml@yahoogroups.com, Keith Davies <keith.davies@k...> wrote:
          > <equip id="equip.bastard-sword">
          > <name>Bastard Sword</name>
          > <wprof>Martial<prereqs><preequiphands eq="2"/></prereqs></wprof>
          > <wprof>Martial<prereqs><presize min="Large"/></prereqs></wprof>
          > <wprof>Exotic<prereqs><preequiphands eq="1"/></prereqs>
          > </wprof>
          > </equip>
          >
          > I'm not entirely happy with this. The XML schema design books I've read
          > have all said that, unless it is something inherently mixed (such as
          > document text) that mixing plain character data with elements is a Bad
          > Thing -- that an element should contain either other elements, or plain
          > text, but not both. In fact, I've seen recommendations that even
          > document text should follow the same rules.

          I've been doing work with schemas lately (in a project called
          Alexandra) and agreed, inlining is a hassle that's good to avoid.

          > A fourth possibility is that we allow more than one mode.
          > Specificially, we can store the text value of an element in the element
          > body if there are no other child elements, or we store it in the 'value'
          > attribute if there are other child elements.
          >
          > <equip id="equip.bastard-sword">
          > <name>Bastard Sword</name>
          > <wprof value="Martial"><prereqs><preequiphands
          eq="2"/></prereqs></wprof>
          > <wprof value="Martial"><prereqs><presize
          min="Large"/></prereqs></wprof>
          > <wprof value="Exotic"><prereqs><prehandseq eq="1"/></prereqs>
          > </wprof>
          > </equip>
          Generally from what I've read and seen, attributes should be
          restricted to data that's useful when automatically processing the XML
          by software (but not people).

          How about this:
          <equip id="equip.bastard-sword">
          <name>Bastard Sword</name>
          <wprof>
          <type>Martial</type>
          <prereqs>
          <equiphands>2</equiphands>
          </prereqs>
          </wprof>
          <wprof<
          <type>Martial</type>
          <prereqs>
          <size>
          <limit>minimum</limit>
          <value>Large</value>
          </size>
          </prereqs>
          </wprof>
          <wprof>
          <type>Exotic</type>
          <prereqs>
          <handseq>1</handseq>
          </prereqs>
          </wprof>
          </equip>


          > This lets us avoid mixed-mode elements; each element contains either
          > text or child elements at any given time. It does make it harder to
          > deal with because we have to look in two places to get the information.
          > OTOH, even looking in two places is, I think, simpler than trying to
          > sort out what is data and what isn't.

          With XSLT at least it shouldn't be too hard to do that, using
          apply-templates to automatically expand all the possibilities.

          simon

          http://www.simonwoodside.com/
        • sbwoodside
          ... I ve been working with XML and schemas for about a year now so maybe I can help a bit. ... In this case with XML it s best to separate the data logic and
          Message 4 of 20 , May 29, 2003
            --- In pcgen-xml@yahoogroups.com, "dlm1065" <dlm1065@h...> wrote:
            > I'll be blunt I haven't a clue yet on xml but I will once I have a
            > little more time to focus on learning it.

            I've been working with XML and schemas for about a year now so maybe I
            can help a bit.

            > But as a person working
            > on lst I have a question. Which of the methods is going to allow for
            > modifications the easiest by other data sets 3,4, or 5(tsalla's).
            >
            > Examples
            > 1)one book calls it bastard sword, another book calls it sowrd and a
            > half, something else calls it Fooboz. I want to use the name fooboz
            > with the data from bastard sword, after all why enter the same data
            > 20 times for different names?

            In this case with XML it's best to separate the data logic and the
            application logic. Generally attributes are a good place to put
            application logic, that will be automatically applied, and elements
            are a good place to apply data logic. You might wind up with something
            like this...

            <weapon id="equip.bastard_sword">
            <names>
            <common_name>Bastard Sword</common_name>
            <name>
            <system>D&D</system>
            <local_name>Bastard Sword</local_name>
            </name>
            <name>
            <system>
            <system>System of Doom</system>
            <local_name>Fooboz</local_name>
            </system>
            </name>
            </names>
            </weapon>

            simon
          • Harald Meland
            [sbwoodside] ... Sorry for jumping into this discussion without having followed it from the start; I m new here. Is there anything, e.g. a current status
            Message 5 of 20 , May 30, 2003
              [sbwoodside]

              > How about this:
              > <equip id="equip.bastard-sword">
              > <name>Bastard Sword</name>
              > <wprof>
              > <type>Martial</type>
              > <prereqs>
              > <equiphands>2</equiphands>
              > </prereqs>
              > </wprof>
              > <wprof<
              > <type>Martial</type>
              > <prereqs>
              > <size>
              > <limit>minimum</limit>
              > <value>Large</value>
              > </size>
              > </prereqs>
              > </wprof>
              > <wprof>
              > <type>Exotic</type>
              > <prereqs>
              > <handseq>1</handseq>
              > </prereqs>
              > </wprof>
              > </equip>

              Sorry for jumping into this discussion without having followed it from
              the start; I'm new here. Is there anything, e.g. a "current status
              document", I should read before making too much of a fool of myself
              here?

              I guess the reason for coding the first two "Martial" entries in two
              separate elements is there is an implicit logical "OR" between each of
              the <wprof> elements; one has to either qualify for the first (and
              equip the sword in both hands) *or* for the second (i.e. the character
              has to be at least of size "Large").

              However, I don't understand the difference between the <equiphands>
              and <handseq> elements. Also, I would intuitively feel better about

              <size_minimum>

              (or maybe <size_le> or <size_lt>), than your

              <size><limit>minimum</limit>

              , as in an <equip> context, I don't understand what one would want a
              <size> element for besides imposing size limits -- and these are
              either minimum or maximum limits (possibly with the variations of
              being inclusive or exclusive).
              --
              Harald
            • S Woodside
              ... I m not sure either. I looked at the docs in the files section but it seems like it s a work still in progress. ... Ok, I didn t realize that. In that
              Message 6 of 20 , May 30, 2003
                On Friday, May 30, 2003, at 05:38 AM, Harald Meland wrote:

                > [sbwoodside]
                >
                >> How about this:
                >> <equip id="equip.bastard-sword">
                >> <name>Bastard Sword</name>
                >> <wprof>
                >> <type>Martial</type>
                >> <prereqs>
                >> <equiphands>2</equiphands>
                >> </prereqs>
                >> </wprof>
                >> <wprof<
                >> <type>Martial</type>
                >> <prereqs>
                >> <size>
                >> <limit>minimum</limit>
                >> <value>Large</value>
                >> </size>
                >> </prereqs>
                >> </wprof>
                >> <wprof>
                >> <type>Exotic</type>
                >> <prereqs>
                >> <handseq>1</handseq>
                >> </prereqs>
                >> </wprof>
                >> </equip>
                >
                > Sorry for jumping into this discussion without having followed it from
                > the start; I'm new here. Is there anything, e.g. a "current status
                > document", I should read before making too much of a fool of myself
                > here?

                I'm not sure either. I looked at the docs in the files section but it
                seems like it's a work still in progress.

                > I guess the reason for coding the first two "Martial" entries in two
                > separate elements is there is an implicit logical "OR" between each of
                > the <wprof> elements; one has to either qualify for the first (and
                > equip the sword in both hands) *or* for the second (i.e. the character
                > has to be at least of size "Large").

                Ok, I didn't realize that. In that case, this would be better.

                <equip id="equip.bastard-sword">
                <name>Bastard Sword</name>
                <requires>
                <choose>
                <choice>
                <wprof>
                <type>Martial</type>
                <prereqs>
                <equiphands>2</equiphands>
                </prereqs>
                </wprof>
                </choice>
                <choice>
                <wprof>
                <type>Martial</type>
                <prereqs>
                <size>
                <limit>minimum</limit>
                <value>Large</value>
                </size>
                </prereqs>
                </wprof>
                </choice>
                </choose>
                <wprof>
                <type>Exotic</type>
                <prereqs>
                <handseq>1</handseq>
                </prereqs>
                </wprof>
                </requires>
                </equip>

                After reading some of the ideas about using references, I think that's
                a good idea. This might work, using <ref> and <define>, where a define
                can substitute in for a ref.

                <equip id="equip.bastard-sword">
                <name>Bastard Sword</name>
                <requires>
                <choose>
                <choice>
                <ref name="wprof_2handed"/>
                </choice>
                <choice>
                <ref name="wprof_size_min_large"/>
                </choice>
                </choose>
                <ref name="wprof_exotic_handseq_1"/>
                </requires>
                </equip>

                <define name="wprof_2handed">
                <wprof>
                <type>Martial</type>
                <prereqs>
                <equiphands>2</equiphands>
                </prereqs>
                </wprof>
                </define>
                <define name="wprof_size_min_large">
                <wprof>
                <type>Martial</type>
                <prereqs>
                <size>
                <limit>minimum</limit>
                <value>Large</value>
                </size>
                </prereqs>
                </wprof>
                </define>
                <define name="wprof_exotic_handseq_1">
                <wprof>
                <type>Exotic</type>
                <prereqs>
                <handseq>1</handseq>
                </prereqs>
                </wprof>
                </define>

                > However, I don't understand the difference between the <equiphands>
                > and <handseq> elements. Also, I would intuitively feel better about
                >
                > <size_minimum>
                >
                > (or maybe <size_le> or <size_lt>), than your
                >
                > <size><limit>minimum</limit>
                >
                > , as in an <equip> context, I don't understand what one would want a
                > <size> element for besides imposing size limits -- and these are
                > either minimum or maximum limits (possibly with the variations of
                > being inclusive or exclusive).

                Yeah, I don't see a problem with that.

                simon

                > --
                > Harald
                >
                > ------------------------ Yahoo! Groups Sponsor
                > ---------------------~-->
                > Get A Free Psychic Reading! Your Online Answer To Life's Important
                > Questions.
                > http://us.click.yahoo.com/Lj3uPC/Me7FAA/ySSFAA/2U_rlB/TM
                > ---------------------------------------------------------------------
                > ~->
                >
                > To unsubscribe from this group, send an email to:
                > pcgen-xml-unsubscribe@yahoogroups.com
                >
                >
                >
                > Your use of Yahoo! Groups is subject to
                > http://docs.yahoo.com/info/terms/
                >
                >

                --
                anti-spam: do not post this address publicly
                www.simonwoodside.com -- 99% Devil, 1% Angel
              • CC Americas 1 Carstensen James
                How about: Bastard Sword medium exotic
                Message 7 of 20 , Jun 12, 2003
                  How about:

                  <equip id="equip.bastard-sword">
                  <name>Bastard Sword</name>
                  <size>medium</size>
                  <case>
                  <choice>
                  <prereq>
                  <wprof>exotic</wprof>
                  </prereq>
                  <endchoice />
                  </choice>
                  <choice>
                  <prereq>
                  <wprof>martial</wprof>
                  </prereq>
                  <size>
                  <wield>large</wield>
                  </size>
                  <choice>
                  <esac>
                  </equip>

                  Basicially: If character has exotic wprof, treat as medium (which means
                  one or two handed wielding by normal rules) and stop evaluating choices
                  ("<endchoice />"). If character doesn't have exotic weap prof it checks
                  the next case, which says that is you have martial weapon prof treat as
                  large size only for wielding (which means medium size characters wield 2
                  handed, large size characters wield one handed, as per PH). Don't need
                  anything funky for non-proficient, that would be standard for any weapon
                  if you don't match.

                  Cheers,
                  Blue

                  -----Original Message-----
                  From: S Woodside [mailto:sbwoodside@...]
                  Sent: Friday, May 30, 2003 3:39 PM
                  To: pcgen-xml@yahoogroups.com
                  Subject: Re: [pcgen-xml] Re: Opinions?



                  On Friday, May 30, 2003, at 05:38 AM, Harald Meland wrote:

                  > [sbwoodside]
                  >
                  >> How about this:
                  >> <equip id="equip.bastard-sword">
                  >> <name>Bastard Sword</name>
                  >> <wprof>
                  >> <type>Martial</type>
                  >> <prereqs>
                  >> <equiphands>2</equiphands>
                  >> </prereqs>
                  >> </wprof>
                  >> <wprof<
                  >> <type>Martial</type>
                  >> <prereqs>
                  >> <size>
                  >> <limit>minimum</limit>
                  >> <value>Large</value>
                  >> </size>
                  >> </prereqs>
                  >> </wprof>
                  >> <wprof>
                  >> <type>Exotic</type>
                  >> <prereqs>
                  >> <handseq>1</handseq>
                  >> </prereqs>
                  >> </wprof>
                  >> </equip>
                  >
                  > Sorry for jumping into this discussion without having followed it from
                  > the start; I'm new here. Is there anything, e.g. a "current status
                  > document", I should read before making too much of a fool of myself
                  > here?

                  I'm not sure either. I looked at the docs in the files section but it
                  seems like it's a work still in progress.

                  > I guess the reason for coding the first two "Martial" entries in two
                  > separate elements is there is an implicit logical "OR" between each of
                  > the <wprof> elements; one has to either qualify for the first (and
                  > equip the sword in both hands) *or* for the second (i.e. the character
                  > has to be at least of size "Large").

                  Ok, I didn't realize that. In that case, this would be better.

                  <equip id="equip.bastard-sword">
                  <name>Bastard Sword</name>
                  <requires>
                  <choose>
                  <choice>
                  <wprof>
                  <type>Martial</type>
                  <prereqs>
                  <equiphands>2</equiphands>
                  </prereqs>
                  </wprof>
                  </choice>
                  <choice>
                  <wprof>
                  <type>Martial</type>
                  <prereqs>
                  <size>
                  <limit>minimum</limit>
                  <value>Large</value>
                  </size>
                  </prereqs>
                  </wprof>
                  </choice>
                  </choose>
                  <wprof>
                  <type>Exotic</type>
                  <prereqs>
                  <handseq>1</handseq>
                  </prereqs>
                  </wprof>
                  </requires>
                  </equip>

                  After reading some of the ideas about using references, I think that's
                  a good idea. This might work, using <ref> and <define>, where a define
                  can substitute in for a ref.

                  <equip id="equip.bastard-sword">
                  <name>Bastard Sword</name>
                  <requires>
                  <choose>
                  <choice>
                  <ref name="wprof_2handed"/>
                  </choice>
                  <choice>
                  <ref name="wprof_size_min_large"/>
                  </choice>
                  </choose>
                  <ref name="wprof_exotic_handseq_1"/>
                  </requires>
                  </equip>

                  <define name="wprof_2handed">
                  <wprof>
                  <type>Martial</type>
                  <prereqs>
                  <equiphands>2</equiphands>
                  </prereqs>
                  </wprof>
                  </define>
                  <define name="wprof_size_min_large">
                  <wprof>
                  <type>Martial</type>
                  <prereqs>
                  <size>
                  <limit>minimum</limit>
                  <value>Large</value>
                  </size>
                  </prereqs>
                  </wprof>
                  </define>
                  <define name="wprof_exotic_handseq_1">
                  <wprof>
                  <type>Exotic</type>
                  <prereqs>
                  <handseq>1</handseq>
                  </prereqs>
                  </wprof>
                  </define>

                  > However, I don't understand the difference between the <equiphands>
                  > and <handseq> elements. Also, I would intuitively feel better about
                  >
                  > <size_minimum>
                  >
                  > (or maybe <size_le> or <size_lt>), than your
                  >
                  > <size><limit>minimum</limit>
                  >
                  > , as in an <equip> context, I don't understand what one would want a
                  > <size> element for besides imposing size limits -- and these are
                  > either minimum or maximum limits (possibly with the variations of
                  > being inclusive or exclusive).

                  Yeah, I don't see a problem with that.

                  simon

                  > --
                  > Harald
                  >
                  > ------------------------ Yahoo! Groups Sponsor
                  > ---------------------~-->
                  > Get A Free Psychic Reading! Your Online Answer To Life's Important
                  > Questions.
                  > http://us.click.yahoo.com/Lj3uPC/Me7FAA/ySSFAA/2U_rlB/TM
                  > ---------------------------------------------------------------------
                  > ~->
                  >
                  > To unsubscribe from this group, send an email to:
                  > pcgen-xml-unsubscribe@yahoogroups.com
                  >
                  >
                  >
                  > Your use of Yahoo! Groups is subject to
                  > http://docs.yahoo.com/info/terms/
                  >
                  >

                  --
                  anti-spam: do not post this address publicly
                  www.simonwoodside.com -- 99% Devil, 1% Angel



                  To unsubscribe from this group, send an email to:
                  pcgen-xml-unsubscribe@yahoogroups.com



                  Your use of Yahoo! Groups is subject to
                  http://docs.yahoo.com/info/terms/
                • S Woodside
                  On Thursday, June 12, 2003, at 02:05 PM, CC Americas 1 Carstensen ... Can you explain why you think this is better? IME, it s better to use a tree-based
                  Message 8 of 20 , Jun 12, 2003
                    On Thursday, June 12, 2003, at 02:05 PM, CC Americas 1 Carstensen
                    James wrote:

                    > How about:
                    >
                    > <equip id="equip.bastard-sword">
                    > <name>Bastard Sword</name>
                    > <size>medium</size>
                    > <case>
                    > <choice>
                    > <prereq>
                    > <wprof>exotic</wprof>
                    > </prereq>
                    > <endchoice />
                    > </choice>
                    > <choice>
                    > <prereq>
                    > <wprof>martial</wprof>
                    > </prereq>
                    > <size>
                    > <wield>large</wield>
                    > </size>
                    > <choice>
                    > <esac>
                    > </equip>
                    >
                    > Basicially: If character has exotic wprof, treat as medium (which
                    > means
                    > one or two handed wielding by normal rules) and stop evaluating choices
                    > ("<endchoice />").

                    Can you explain why you think this is better?

                    IME, it's better to use a tree-based structure that can be evaluated
                    recursively. XSLT, at least, is often written using recursive logic, so
                    it would add extra complexity in the code to handle that kind of logic.

                    simon

                    > If character doesn't have exotic weap prof it checks
                    > the next case, which says that is you have martial weapon prof treat as
                    > large size only for wielding (which means medium size characters wield
                    > 2
                    > handed, large size characters wield one handed, as per PH). Don't need
                    > anything funky for non-proficient, that would be standard for any
                    > weapon
                    > if you don't match.
                    >
                    > Cheers,
                    > Blue
                    >
                    > -----Original Message-----
                    > From: S Woodside [mailto:sbwoodside@...]
                    > Sent: Friday, May 30, 2003 3:39 PM
                    > To: pcgen-xml@yahoogroups.com
                    > Subject: Re: [pcgen-xml] Re: Opinions?
                    >
                    >
                    >
                    > On Friday, May 30, 2003, at 05:38 AM, Harald Meland wrote:
                    >
                    >> [sbwoodside]
                    >>
                    >>> How about this:
                    >>> <equip id="equip.bastard-sword">
                    >>> <name>Bastard Sword</name>
                    >>> <wprof>
                    >>> <type>Martial</type>
                    >>> <prereqs>
                    >>> <equiphands>2</equiphands>
                    >>> </prereqs>
                    >>> </wprof>
                    >>> <wprof<
                    >>> <type>Martial</type>
                    >>> <prereqs>
                    >>> <size>
                    >>> <limit>minimum</limit>
                    >>> <value>Large</value>
                    >>> </size>
                    >>> </prereqs>
                    >>> </wprof>
                    >>> <wprof>
                    >>> <type>Exotic</type>
                    >>> <prereqs>
                    >>> <handseq>1</handseq>
                    >>> </prereqs>
                    >>> </wprof>
                    >>> </equip>
                    >>
                    >> Sorry for jumping into this discussion without having followed it from
                    >> the start; I'm new here. Is there anything, e.g. a "current status
                    >> document", I should read before making too much of a fool of myself
                    >> here?
                    >
                    > I'm not sure either. I looked at the docs in the files section but it
                    > seems like it's a work still in progress.
                    >
                    >> I guess the reason for coding the first two "Martial" entries in two
                    >> separate elements is there is an implicit logical "OR" between each of
                    >> the <wprof> elements; one has to either qualify for the first (and
                    >> equip the sword in both hands) *or* for the second (i.e. the character
                    >> has to be at least of size "Large").
                    >
                    > Ok, I didn't realize that. In that case, this would be better.
                    >
                    > <equip id="equip.bastard-sword">
                    > <name>Bastard Sword</name>
                    > <requires>
                    > <choose>
                    > <choice>
                    > <wprof>
                    > <type>Martial</type>
                    > <prereqs>
                    > <equiphands>2</equiphands>
                    > </prereqs>
                    > </wprof>
                    > </choice>
                    > <choice>
                    > <wprof>
                    > <type>Martial</type>
                    > <prereqs>
                    > <size>
                    > <limit>minimum</limit>
                    > <value>Large</value>
                    > </size>
                    > </prereqs>
                    > </wprof>
                    > </choice>
                    > </choose>
                    > <wprof>
                    > <type>Exotic</type>
                    > <prereqs>
                    > <handseq>1</handseq>
                    > </prereqs>
                    > </wprof>
                    > </requires>
                    > </equip>
                    >
                    > After reading some of the ideas about using references, I think that's
                    > a good idea. This might work, using <ref> and <define>, where a define
                    > can substitute in for a ref.
                    >
                    > <equip id="equip.bastard-sword">
                    > <name>Bastard Sword</name>
                    > <requires>
                    > <choose>
                    > <choice>
                    > <ref name="wprof_2handed"/>
                    > </choice>
                    > <choice>
                    > <ref name="wprof_size_min_large"/>
                    > </choice>
                    > </choose>
                    > <ref name="wprof_exotic_handseq_1"/>
                    > </requires>
                    > </equip>
                    >
                    > <define name="wprof_2handed">
                    > <wprof>
                    > <type>Martial</type>
                    > <prereqs>
                    > <equiphands>2</equiphands>
                    > </prereqs>
                    > </wprof>
                    > </define>
                    > <define name="wprof_size_min_large">
                    > <wprof>
                    > <type>Martial</type>
                    > <prereqs>
                    > <size>
                    > <limit>minimum</limit>
                    > <value>Large</value>
                    > </size>
                    > </prereqs>
                    > </wprof>
                    > </define>
                    > <define name="wprof_exotic_handseq_1">
                    > <wprof>
                    > <type>Exotic</type>
                    > <prereqs>
                    > <handseq>1</handseq>
                    > </prereqs>
                    > </wprof>
                    > </define>
                    >
                    >> However, I don't understand the difference between the <equiphands>
                    >> and <handseq> elements. Also, I would intuitively feel better about
                    >>
                    >> <size_minimum>
                    >>
                    >> (or maybe <size_le> or <size_lt>), than your
                    >>
                    >> <size><limit>minimum</limit>
                    >>
                    >> , as in an <equip> context, I don't understand what one would want a
                    >> <size> element for besides imposing size limits -- and these are
                    >> either minimum or maximum limits (possibly with the variations of
                    >> being inclusive or exclusive).
                    >
                    > Yeah, I don't see a problem with that.
                    >
                    > simon
                    >
                    >> --
                    >> Harald
                    >>
                    >> ------------------------ Yahoo! Groups Sponsor
                    >> ---------------------~-->
                    >> Get A Free Psychic Reading! Your Online Answer To Life's Important
                    >> Questions.
                    >> http://us.click.yahoo.com/Lj3uPC/Me7FAA/ySSFAA/2U_rlB/TM
                    >> ---------------------------------------------------------------------
                    >> ~->
                    >>
                    >> To unsubscribe from this group, send an email to:
                    >> pcgen-xml-unsubscribe@yahoogroups.com
                    >>
                    >>
                    >>
                    >> Your use of Yahoo! Groups is subject to
                    >> http://docs.yahoo.com/info/terms/
                    >>
                    >>
                    >
                    > --
                    > anti-spam: do not post this address publicly
                    > www.simonwoodside.com -- 99% Devil, 1% Angel
                    >
                    >
                    >
                    > To unsubscribe from this group, send an email to:
                    > pcgen-xml-unsubscribe@yahoogroups.com
                    >
                    >
                    >
                    > Your use of Yahoo! Groups is subject to
                    > http://docs.yahoo.com/info/terms/
                    >
                    >
                    >
                    >
                    >
                    >
                    >
                    > ------------------------ Yahoo! Groups Sponsor
                    > ---------------------~-->
                    > Looking for the latest Free IT White Papers?
                    > Visit SearchNetworking.com to access over 500 white papers.
                    > Get instant access at SearchNetworking.com Today
                    > http://us.click.yahoo.com/GgVXVB/OLNGAA/xitMAA/2U_rlB/TM
                    > ---------------------------------------------------------------------
                    > ~->
                    >
                    > To unsubscribe from this group, send an email to:
                    > pcgen-xml-unsubscribe@yahoogroups.com
                    >
                    >
                    >
                    > Your use of Yahoo! Groups is subject to
                    > http://docs.yahoo.com/info/terms/
                    >
                    >

                    --
                    anti-spam: do not post this address publicly
                    www.simonwoodside.com -- 99% Devil, 1% Angel
                  • Tir Gwaith
                    It doesn t really matter, so long as the parser knows what it does, and the code can wrap itself around it. Tir Gwaith PCGen Data SB and BoD ... From: S
                    Message 9 of 20 , Jun 26, 2003
                      It doesn't really matter, so long as the parser knows what it does, and the code can wrap itself around it.
                       
                      Tir Gwaith
                      PCGen Data SB and BoD
                      ----- Original Message -----
                      Sent: Thursday, June 12, 2003 1:23 PM
                      Subject: Re: [pcgen-xml] Re: Opinions?


                      On Thursday, June 12, 2003, at 02:05  PM, CC Americas 1 Carstensen 
                      James wrote:

                      > How about:
                      >
                      > <equip id="equip.bastard-sword">
                      >   <name>Bastard Sword</name>
                      >   <size>medium</size>
                      >   <case>
                      >     <choice>
                      >       <prereq>
                      >         <wprof>exotic</wprof>
                      >       </prereq>
                      >       <endchoice />
                      >     </choice>
                      >     <choice>
                      >       <prereq>
                      >         <wprof>martial</wprof>
                      >       </prereq>
                      >       <size>
                      >          <wield>large</wield>
                      >       </size>
                      >     <choice>
                      >   <esac>
                      > </equip>
                      >
                      > Basicially:  If character has exotic wprof, treat as medium (which 
                      > means
                      > one or two handed wielding by normal rules) and stop evaluating choices
                      > ("<endchoice />").

                      Can you explain why you think this is better?

                      IME, it's better to use a tree-based structure that can be evaluated 
                      recursively. XSLT, at least, is often written using recursive logic, so 
                      it would add extra complexity in the code to handle that kind of logic.

                      simon

                      > If character doesn't have exotic weap prof it checks
                      > the next case, which says that is you have martial weapon prof treat as
                      > large size only for wielding (which means medium size characters wield 
                      > 2
                      > handed, large size characters wield one handed, as per PH).  Don't need
                      > anything funky for non-proficient, that would be standard for any 
                      > weapon
                      > if you don't match.
                      >
                      > Cheers,
                      > Blue
                      >
                      > -----Original Message-----
                      > From: S Woodside [mailto:sbwoodside@...]
                      > Sent: Friday, May 30, 2003 3:39 PM
                      > To: pcgen-xml@yahoogroups.com
                      > Subject: Re: [pcgen-xml] Re: Opinions?
                      >
                      >
                      >
                      > On Friday, May 30, 2003, at 05:38  AM, Harald Meland wrote:
                      >
                      >> [sbwoodside]
                      >>
                      >>> How about this:
                      >>> <equip id="equip.bastard-sword">
                      >>>   <name>Bastard Sword</name>
                      >>>   <wprof>
                      >>>     <type>Martial</type>
                      >>>     <prereqs>
                      >>>       <equiphands>2</equiphands>
                      >>>     </prereqs>
                      >>>   </wprof>
                      >>>   <wprof<
                      >>>     <type>Martial</type>
                      >>>     <prereqs>
                      >>>       <size>
                      >>>         <limit>minimum</limit>
                      >>>         <value>Large</value>
                      >>>       </size>
                      >>>     </prereqs>
                      >>>   </wprof>
                      >>>   <wprof>
                      >>>     <type>Exotic</type>
                      >>>     <prereqs>
                      >>>       <handseq>1</handseq>
                      >>>     </prereqs>
                      >>>   </wprof>
                      >>> </equip>
                      >>
                      >> Sorry for jumping into this discussion without having followed it from
                      >> the start; I'm new here.  Is there anything, e.g. a "current status
                      >> document", I should read before making too much of a fool of myself
                      >> here?
                      >
                      > I'm not sure either. I looked at the docs in the files section but it
                      > seems like it's a work still in progress.
                      >
                      >> I guess the reason for coding the first two "Martial" entries in two
                      >> separate elements is there is an implicit logical "OR" between each of
                      >> the <wprof> elements; one has to either qualify for the first (and
                      >> equip the sword in both hands) *or* for the second (i.e. the character
                      >> has to be at least of size "Large").
                      >
                      > Ok, I didn't realize that. In that case, this would be better.
                      >
                      > <equip id="equip.bastard-sword">
                      >    <name>Bastard Sword</name>
                      >    <requires>
                      >      <choose>
                      >        <choice>
                      >          <wprof>
                      >            <type>Martial</type>
                      >            <prereqs>
                      >              <equiphands>2</equiphands>
                      >            </prereqs>
                      >          </wprof>
                      >        </choice>
                      >        <choice>
                      >          <wprof>
                      >            <type>Martial</type>
                      >            <prereqs>
                      >              <size>
                      >                <limit>minimum</limit>
                      >                <value>Large</value>
                      >              </size>
                      >            </prereqs>
                      >          </wprof>
                      >        </choice>
                      >      </choose>
                      >      <wprof>
                      >        <type>Exotic</type>
                      >        <prereqs>
                      >          <handseq>1</handseq>
                      >        </prereqs>
                      >      </wprof>
                      >    </requires>
                      > </equip>
                      >
                      > After reading some of the ideas about using references, I think that's
                      > a good idea. This might work, using <ref> and <define>, where a define
                      > can substitute in for a ref.
                      >
                      > <equip id="equip.bastard-sword">
                      >    <name>Bastard Sword</name>
                      >    <requires>
                      >      <choose>
                      >        <choice>
                      >          <ref name="wprof_2handed"/>
                      >        </choice>
                      >        <choice>
                      >          <ref name="wprof_size_min_large"/>
                      >        </choice>
                      >      </choose>
                      >      <ref name="wprof_exotic_handseq_1"/>
                      >    </requires>
                      > </equip>
                      >
                      > <define name="wprof_2handed">
                      >    <wprof>
                      >      <type>Martial</type>
                      >      <prereqs>
                      >        <equiphands>2</equiphands>
                      >      </prereqs>
                      >    </wprof>
                      > </define>
                      > <define name="wprof_size_min_large">
                      >    <wprof>
                      >      <type>Martial</type>
                      >      <prereqs>
                      >        <size>
                      >          <limit>minimum</limit>
                      >          <value>Large</value>
                      >        </size>
                      >      </prereqs>
                      >    </wprof>
                      > </define>
                      > <define name="wprof_exotic_handseq_1">
                      >    <wprof>
                      >      <type>Exotic</type>
                      >      <prereqs>
                      >        <handseq>1</handseq>
                      >      </prereqs>
                      >    </wprof>
                      > </define>
                      >
                      >> However, I don't understand the difference between the <equiphands>
                      >> and <handseq> elements.  Also, I would intuitively feel better about
                      >>
                      >>   <size_minimum>
                      >>
                      >> (or maybe <size_le> or <size_lt>), than your
                      >>
                      >>   <size><limit>minimum</limit>
                      >>
                      >> , as in an <equip> context, I don't understand what one would want a
                      >> <size> element for besides imposing size limits -- and these are
                      >> either minimum or maximum limits (possibly with the variations of
                      >> being inclusive or exclusive).
                      >
                      > Yeah, I don't see a problem with that.
                      >
                      > simon
                      >
                      >> --  
                      >> Harald
                    • S Woodside
                      It matters if one data format makes for simpler, easier to write, understand, and maintain, code. simon ... ... -- anti-spam: do not post this
                      Message 10 of 20 , Jun 26, 2003
                        It matters if one data format makes for simpler, easier to write,
                        understand, and maintain, code.

                        simon

                        On Thursday, June 26, 2003, at 11:48 PM, Tir Gwaith wrote:

                        > It doesn't really matter, so long as the parser knows what it does,
                        > and the code can wrap itself around it.
                        >  
                        > Tir Gwaith
                        > PCGen Data SB and BoD
                        >
                        > ----- Original Message -----
                        > From: S Woodside
                        > To: pcgen-xml@yahoogroups.com
                        > Sent: Thursday, June 12, 2003 1:23 PM
                        > Subject: Re: [pcgen-xml] Re: Opinions?
                        >
                        >
                        > On Thursday, June 12, 2003, at 02:05  PM, CC Americas 1 Carstensen 
                        > James wrote:
                        >
                        > > How about:
                        > >
                        > > <equip id="equip.bastard-sword">
                        > >   <name>Bastard Sword</name>
                        > >   <size>medium</size>
                        > >   <case>
                        > >     <choice>
                        > >       <prereq>
                        > >         <wprof>exotic</wprof>
                        > >       </prereq>
                        > >       <endchoice />
                        > >     </choice>
                        > >     <choice>
                        > >       <prereq>
                        > >         <wprof>martial</wprof>
                        > >       </prereq>
                        > >       <size>
                        > >          <wield>large</wield>
                        > >       </size>
                        > >     <choice>
                        > >   <esac>
                        > > </equip>
                        > >
                        > > Basicially:  If character has exotic wprof, treat as medium (which 
                        > > means
                        > > one or two handed wielding by normal rules) and stop evaluating
                        > choices
                        > > ("<endchoice />").
                        >
                        > Can you explain why you think this is better?
                        >
                        > IME, it's better to use a tree-based structure that can be evaluated 
                        > recursively. XSLT, at least, is often written using recursive logic,
                        > so 
                        > it would add extra complexity in the code to handle that kind of logic.
                        >
                        > simon
                        >
                        > > If character doesn't have exotic weap prof it checks
                        > > the next case, which says that is you have martial weapon prof treat
                        > as
                        > > large size only for wielding (which means medium size characters
                        > wield 
                        > > 2
                        > > handed, large size characters wield one handed, as per PH).  Don't
                        > need
                        > > anything funky for non-proficient, that would be standard for any 
                        > > weapon
                        > > if you don't match.
                        > >
                        > > Cheers,
                        > > Blue
                        > >
                        > > -----Original Message-----
                        > > From: S Woodside [mailto:sbwoodside@...]
                        > > Sent: Friday, May 30, 2003 3:39 PM
                        > > To: pcgen-xml@yahoogroups.com
                        > > Subject: Re: [pcgen-xml] Re: Opinions?
                        > >
                        > >
                        > >
                        > > On Friday, May 30, 2003, at 05:38  AM, Harald Meland wrote:
                        > >
                        > >> [sbwoodside]
                        > >>
                        > >>> How about this:
                        > >>> <equip id="equip.bastard-sword">
                        > >>>   <name>Bastard Sword</name>
                        > >>>   <wprof>
                        > >>>     <type>Martial</type>
                        > >>>     <prereqs>
                        > >>>       <equiphands>2</equiphands>
                        > >>>     </prereqs>
                        > >>>   </wprof>
                        > >>>   <wprof<
                        > >>>     <type>Martial</type>
                        > >>>     <prereqs>
                        > >>>       <size>
                        > >>>         <limit>minimum</limit>
                        > >>>         <value>Large</value>
                        > >>>       </size>
                        > >>>     </prereqs>
                        > >>>   </wprof>
                        > >>>   <wprof>
                        > >>>     <type>Exotic</type>
                        > >>>     <prereqs>
                        > >>>       <handseq>1</handseq>
                        > >>>     </prereqs>
                        > >>>   </wprof>
                        > >>> </equip>
                        > >>
                        > >> Sorry for jumping into this discussion without having followed it
                        > from
                        > >> the start; I'm new here.  Is there anything, e.g. a "current status
                        > >> document", I should read before making too much of a fool of myself
                        > >> here?
                        > >
                        > > I'm not sure either. I looked at the docs in the files section but it
                        > > seems like it's a work still in progress.
                        > >
                        > >> I guess the reason for coding the first two "Martial" entries in two
                        > >> separate elements is there is an implicit logical "OR" between each
                        > of
                        > >> the <wprof> elements; one has to either qualify for the first (and
                        > >> equip the sword in both hands) *or* for the second (i.e. the
                        > character
                        > >> has to be at least of size "Large").
                        > >
                        > > Ok, I didn't realize that. In that case, this would be better.
                        > >
                        > > <equip id="equip.bastard-sword">
                        > >    <name>Bastard Sword</name>
                        > >    <requires>
                        > >      <choose>
                        > >        <choice>
                        > >          <wprof>
                        > >            <type>Martial</type>
                        > >            <prereqs>
                        > >              <equiphands>2</equiphands>
                        > >            </prereqs>
                        > >          </wprof>
                        > >        </choice>
                        > >        <choice>
                        > >          <wprof>
                        > >            <type>Martial</type>
                        > >            <prereqs>
                        > >              <size>
                        > >                <limit>minimum</limit>
                        > >                <value>Large</value>
                        > >              </size>
                        > >            </prereqs>
                        > >          </wprof>
                        > >        </choice>
                        > >      </choose>
                        > >      <wprof>
                        > >        <type>Exotic</type>
                        > >        <prereqs>
                        > >          <handseq>1</handseq>
                        > >        </prereqs>
                        > >      </wprof>
                        > >    </requires>
                        > > </equip>
                        > >
                        > > After reading some of the ideas about using references, I think
                        > that's
                        > > a good idea. This might work, using <ref> and <define>, where a
                        > define
                        > > can substitute in for a ref.
                        > >
                        > > <equip id="equip.bastard-sword">
                        > >    <name>Bastard Sword</name>
                        > >    <requires>
                        > >      <choose>
                        > >        <choice>
                        > >          <ref name="wprof_2handed"/>
                        > >        </choice>
                        > >        <choice>
                        > >          <ref name="wprof_size_min_large"/>
                        > >        </choice>
                        > >      </choose>
                        > >      <ref name="wprof_exotic_handseq_1"/>
                        > >    </requires>
                        > > </equip>
                        > >
                        > > <define name="wprof_2handed">
                        > >    <wprof>
                        > >      <type>Martial</type>
                        > >      <prereqs>
                        > >        <equiphands>2</equiphands>
                        > >      </prereqs>
                        > >    </wprof>
                        > > </define>
                        > > <define name="wprof_size_min_large">
                        > >    <wprof>
                        > >      <type>Martial</type>
                        > >      <prereqs>
                        > >        <size>
                        > >          <limit>minimum</limit>
                        > >          <value>Large</value>
                        > >        </size>
                        > >      </prereqs>
                        > >    </wprof>
                        > > </define>
                        > > <define name="wprof_exotic_handseq_1">
                        > >    <wprof>
                        > >      <type>Exotic</type>
                        > >      <prereqs>
                        > >        <handseq>1</handseq>
                        > >      </prereqs>
                        > >    </wprof>
                        > > </define>
                        > >
                        > >> However, I don't understand the difference between the <equiphands>
                        > >> and <handseq> elements.  Also, I would intuitively feel better about
                        > >>
                        > >>   <size_minimum>
                        > >>
                        > >> (or maybe <size_le> or <size_lt>), than your
                        > >>
                        > >>   <size><limit>minimum</limit>
                        > >>
                        > >> , as in an <equip> context, I don't understand what one would want a
                        > >> <size> element for besides imposing size limits -- and these are
                        > >> either minimum or maximum limits (possibly with the variations of
                        > >> being inclusive or exclusive).
                        > >
                        > > Yeah, I don't see a problem with that.
                        > >
                        > > simon
                        > >
                        > >> --  
                        > >> Harald
                        >
                        >
                        <image.tiff>
                        >
                        >
                        > To unsubscribe from this group, send an email to:
                        > pcgen-xml-unsubscribe@yahoogroups.com
                        >
                        >
                        >
                        > Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

                        --
                        anti-spam: do not post this address publicly
                        www.simonwoodside.com -- 99% Devil, 1% Angel
                      • Tir Gwaith
                        I m more interested in getting a more coherent method of data storage. Most of our users have a difficult time writing data files, and the easier to
                        Message 11 of 20 , Jun 27, 2003
                          I'm more interested in getting a more coherent method of data storage. Most
                          of our users have a difficult time writing data files, and the easier to
                          understand the better. We have a lot fewer code monkeys. If we are going
                          to make something easier to understand, it ought to be the data format.
                          Confusing so only 10 people can do it right so it is easier on 3 code
                          monkeys isn't of much value. Confusing code for 3 monkeys, and usable by
                          100's of users, on the otherhand, while a pain, is worth more.

                          Tir Gwaith
                          PCGen Data SB and BoD

                          ----- Original Message -----
                          From: S Woodside
                          To: pcgen-xml@yahoogroups.com
                          Sent: Thursday, June 26, 2003 10:51 PM
                          Subject: Re: [pcgen-xml] Re: Opinions?


                          It matters if one data format makes for simpler, easier to write,
                          understand, and maintain, code.

                          simon
                        • S Woodside
                          That makes sense. simon ... -- anti-spam: do not post this address publicly www.simonwoodside.com -- 99% Devil, 1% Angel
                          Message 12 of 20 , Jun 27, 2003
                            That makes sense.

                            simon

                            On Friday, June 27, 2003, at 11:21 AM, Tir Gwaith wrote:

                            > I'm more interested in getting a more coherent method of data storage.
                            > Most
                            > of our users have a difficult time writing data files, and the easier
                            > to
                            > understand the better. We have a lot fewer code monkeys. If we are
                            > going
                            > to make something easier to understand, it ought to be the data format.
                            > Confusing so only 10 people can do it right so it is easier on 3 code
                            > monkeys isn't of much value. Confusing code for 3 monkeys, and usable
                            > by
                            > 100's of users, on the otherhand, while a pain, is worth more.
                            >
                            > Tir Gwaith
                            > PCGen Data SB and BoD
                            >
                            > ----- Original Message -----
                            > From: S Woodside
                            > To: pcgen-xml@yahoogroups.com
                            > Sent: Thursday, June 26, 2003 10:51 PM
                            > Subject: Re: [pcgen-xml] Re: Opinions?
                            >
                            >
                            > It matters if one data format makes for simpler, easier to write,
                            > understand, and maintain, code.
                            >
                            > simon
                            >
                            >
                            >
                            >
                            > ------------------------ Yahoo! Groups Sponsor
                            > ---------------------~-->
                            > Looking for the latest Free IT White Papers?
                            > Visit SearchNetworking.com to access over 500 white papers.
                            > Get instant access at SearchNetworking.com Today
                            > http://us.click.yahoo.com/GgVXVB/OLNGAA/xitMAA/2U_rlB/TM
                            > ---------------------------------------------------------------------
                            > ~->
                            >
                            > To unsubscribe from this group, send an email to:
                            > pcgen-xml-unsubscribe@yahoogroups.com
                            >
                            >
                            >
                            > Your use of Yahoo! Groups is subject to
                            > http://docs.yahoo.com/info/terms/
                            >
                            >

                            --
                            anti-spam: do not post this address publicly
                            www.simonwoodside.com -- 99% Devil, 1% Angel
                          Your message has been successfully submitted and would be delivered to recipients shortly.