Jump to content
Sign in to follow this  
sandeman

schema for complicated file

Recommended Posts

So I have this xml file that is parsed by a program. (I posted his in the xslt forum... this is the same one.)Here is the xml in question:

<?xml version="1.0" encoding="iso-8859-1"?><root version="1.05">	<node name="charsheet">		<node name="TestforET">			<intvalue name="ac">0</intvalue>			<intvalue name="acarmorbonus">0</intvalue>			<intvalue name="acbasehelper">0</intvalue>			<intvalue name="acdexbonus">0</intvalue>			<intvalue name="acmiscbonus">0</intvalue>			<stringvalue name="acmisctitle"></stringvalue>			<intvalue name="acshieldbonus">0</intvalue>			<intvalue name="acsizebonus">0</intvalue>			<stringvalue name="age"></stringvalue>			<stringvalue name="alignment"></stringvalue>			<stringvalue name="appearance"></stringvalue>			<intvalue name="appraisemisc">0</intvalue>			<intvalue name="appraiseranks">0</intvalue>			<intvalue name="appraisestat">0</intvalue>			<intvalue name="appraisestate">0</intvalue>			<intvalue name="appraisetotal">0</intvalue>			<intvalue name="armorcheckpenalty">0</intvalue>			<intvalue name="armorcheckpenaltydbl">0</intvalue>			<intvalue name="balancemisc">0</intvalue>			<intvalue name="balanceranks">0</intvalue>			<intvalue name="balancestat">0</intvalue>			<intvalue name="balancestate">0</intvalue>			<intvalue name="balancetotal">0</intvalue>			<intvalue name="baseattackbonus">0</intvalue>			<intvalue name="bluffmisc">0</intvalue>			<intvalue name="bluffranks">0</intvalue>			<intvalue name="bluffstat">0</intvalue>			<intvalue name="bluffstate">0</intvalue>			<intvalue name="blufftotal">0</intvalue>			<intvalue name="charisma">0</intvalue>			<intvalue name="charismabonus">0</intvalue>			<intvalue name="charismadamage">0</intvalue>			<intvalue name="charismatotal">0</intvalue>			<stringvalue name="class1"></stringvalue>			<stringvalue name="class2"></stringvalue>			<stringvalue name="class3"></stringvalue>			<intvalue name="climbmisc">0</intvalue>			<intvalue name="climbranks">0</intvalue>			<intvalue name="climbstat">0</intvalue>			<intvalue name="climbstate">1</intvalue>			<intvalue name="climbtotal">0</intvalue>			<intvalue name="coinamount1">0</intvalue>			<intvalue name="coinamount2">0</intvalue>			<intvalue name="coinamount3">0</intvalue>			<intvalue name="coinamount4">0</intvalue>			<intvalue name="coinamount5">0</intvalue>			<intvalue name="coinamount6">0</intvalue>			<stringvalue name="coinname1">herebeplatnum</stringvalue>			<stringvalue name="coinname2"></stringvalue>			<stringvalue name="coinname3"></stringvalue>			<stringvalue name="coinname4"></stringvalue>			<stringvalue name="coinname5"></stringvalue>			<stringvalue name="coinname6"></stringvalue>			<stringvalue name="coinother">Other Test</stringvalue>			<intvalue name="concentrationmisc">0</intvalue>			<intvalue name="concentrationranks">0</intvalue>			<intvalue name="concentrationstat">0</intvalue>			<intvalue name="concentrationstate">0</intvalue>			<intvalue name="concentrationtotal">0</intvalue>			<intvalue name="constitution">0</intvalue>			<intvalue name="constitutionbonus">0</intvalue>			<intvalue name="constitutiondamage">0</intvalue>			<intvalue name="constitutiontotal">0</intvalue>			<intvalue name="craftmisc1">0</intvalue>			<intvalue name="craftmisc2">0</intvalue>			<stringvalue name="craftname1"></stringvalue>			<stringvalue name="craftname2"></stringvalue>			<intvalue name="craftranks1">0</intvalue>			<intvalue name="craftranks2">0</intvalue>			<intvalue name="craftstat">0</intvalue>			<intvalue name="craftstate">0</intvalue>			<intvalue name="crafttotal1">0</intvalue>			<intvalue name="crafttotal2">0</intvalue>			<intvalue name="decipherscriptmisc">0</intvalue>			<intvalue name="decipherscriptranks">0</intvalue>			<intvalue name="decipherscriptstat">0</intvalue>			<intvalue name="decipherscriptstate">2</intvalue>			<intvalue name="decipherscripttotal">0</intvalue>			<intvalue name="dexterity">0</intvalue>			<intvalue name="dexteritybonus">0</intvalue>			<intvalue name="dexteritydamage">0</intvalue>			<intvalue name="dexteritytotal">0</intvalue>			<intvalue name="diplomacymisc">0</intvalue>			<intvalue name="diplomacyranks">0</intvalue>			<intvalue name="diplomacystat">0</intvalue>			<intvalue name="diplomacystate">0</intvalue>			<intvalue name="diplomacytotal">0</intvalue>			<intvalue name="disabledevicemisc">0</intvalue>			<intvalue name="disabledeviceranks">0</intvalue>			<intvalue name="disabledevicestat">0</intvalue>			<intvalue name="disabledevicestate">0</intvalue>			<intvalue name="disabledevicetotal">0</intvalue>			<intvalue name="disguisemisc">0</intvalue>			<intvalue name="disguiseranks">0</intvalue>			<intvalue name="disguisestat">0</intvalue>			<intvalue name="disguisestate">0</intvalue>			<intvalue name="disguisetotal">0</intvalue>			<intvalue name="encumbranceheavyload">0</intvalue>			<intvalue name="encumbranceliftoffground">0</intvalue>			<intvalue name="encumbranceliftoverhead">0</intvalue>			<intvalue name="encumbrancelightload">0</intvalue>			<intvalue name="encumbranceload">1</intvalue>			<intvalue name="encumbrancemediumload">0</intvalue>			<intvalue name="encumbrancepushordrag">0</intvalue>			<stringvalue name="equippedinventory">test equiped\rtest line 2\rwhy return?</stringvalue>			<intvalue name="escapeartistmisc">0</intvalue>			<intvalue name="escapeartistranks">0</intvalue>			<intvalue name="escapeartiststat">0</intvalue>			<intvalue name="escapeartiststate">0</intvalue>			<intvalue name="escapeartisttotal">0</intvalue>			<intvalue name="exp">0</intvalue>			<intvalue name="expneeded">0</intvalue>			<stringvalue name="feats">one\rtwo</stringvalue>			<intvalue name="forgerymisc">0</intvalue>			<intvalue name="forgeryranks">0</intvalue>			<intvalue name="forgerystat">0</intvalue>			<intvalue name="forgerystate">0</intvalue>			<intvalue name="forgerytotal">0</intvalue>			<intvalue name="fortitudesave">0</intvalue>			<intvalue name="fortitudesavebase">0</intvalue>			<intvalue name="fortitudesavemisc">0</intvalue>			<intvalue name="fortitudesavestatbonus">0</intvalue>			<intvalue name="gatherinformationmisc">0</intvalue>			<intvalue name="gatherinformationranks">0</intvalue>			<intvalue name="gatherinformationstat">0</intvalue>			<intvalue name="gatherinformationstate">0</intvalue>			<intvalue name="gatherinformationtotal">0</intvalue>			<stringvalue name="gender"></stringvalue>			<intvalue name="handleanimalmisc">0</intvalue>			<intvalue name="handleanimalranks">0</intvalue>			<intvalue name="handleanimalstat">0</intvalue>			<intvalue name="handleanimalstate">0</intvalue>			<intvalue name="handleanimaltotal">0</intvalue>			<intvalue name="healmisc">0</intvalue>			<intvalue name="healranks">0</intvalue>			<intvalue name="healstat">0</intvalue>			<intvalue name="healstate">0</intvalue>			<intvalue name="healtotal">0</intvalue>			<stringvalue name="height"></stringvalue>			<intvalue name="hidemisc">0</intvalue>			<intvalue name="hideranks">0</intvalue>			<intvalue name="hidestat">0</intvalue>			<intvalue name="hidestate">0</intvalue>			<intvalue name="hidetotal">0</intvalue>			<intvalue name="hp">0</intvalue>			<intvalue name="initiative">0</intvalue>			<intvalue name="initiativedexbonus">0</intvalue>			<intvalue name="initiativemiscbonus">0</intvalue>			<intvalue name="intelligence">0</intvalue>			<intvalue name="intelligencebonus">0</intvalue>			<intvalue name="intelligencedamage">0</intvalue>			<intvalue name="intelligencetotal">0</intvalue>			<intvalue name="intimidatemisc">0</intvalue>			<intvalue name="intimidateranks">0</intvalue>			<intvalue name="intimidatestat">0</intvalue>			<intvalue name="intimidatestate">0</intvalue>			<intvalue name="intimidatetotal">0</intvalue>			<stringvalue name="inventory">test inventory\rtest line 2</stringvalue>			<intvalue name="jumpmisc">0</intvalue>			<intvalue name="jumpranks">0</intvalue>			<intvalue name="jumpstat">0</intvalue>			<intvalue name="jumpstate">0</intvalue>			<intvalue name="jumptotal">0</intvalue>			<intvalue name="knowledgearcanamisc">0</intvalue>			<intvalue name="knowledgearcanaranks">0</intvalue>			<intvalue name="knowledgearcanastat">0</intvalue>			<intvalue name="knowledgearcanastate">0</intvalue>			<intvalue name="knowledgearcanatotal">0</intvalue>			<intvalue name="knowledgedungeoneeringmisc">0</intvalue>			<intvalue name="knowledgedungeoneeringranks">0</intvalue>			<intvalue name="knowledgedungeoneeringstat">0</intvalue>			<intvalue name="knowledgedungeoneeringstate">0</intvalue>			<intvalue name="knowledgedungeoneeringtotal">0</intvalue>			<intvalue name="knowledgeengineeringmisc">0</intvalue>			<intvalue name="knowledgeengineeringranks">0</intvalue>			<intvalue name="knowledgeengineeringstat">0</intvalue>			<intvalue name="knowledgeengineeringstate">0</intvalue>			<intvalue name="knowledgeengineeringtotal">0</intvalue>			<intvalue name="knowledgegeographymisc">0</intvalue>			<intvalue name="knowledgegeographyranks">0</intvalue>			<intvalue name="knowledgegeographystat">0</intvalue>			<intvalue name="knowledgegeographystate">0</intvalue>			<intvalue name="knowledgegeographytotal">0</intvalue>			<intvalue name="knowledgehistorymisc">0</intvalue>			<intvalue name="knowledgehistoryranks">0</intvalue>			<intvalue name="knowledgehistorystat">0</intvalue>			<intvalue name="knowledgehistorystate">0</intvalue>			<intvalue name="knowledgehistorytotal">0</intvalue>			<intvalue name="knowledgelocalmisc">0</intvalue>			<intvalue name="knowledgelocalranks">0</intvalue>			<intvalue name="knowledgelocalstat">0</intvalue>			<intvalue name="knowledgelocalstate">0</intvalue>			<intvalue name="knowledgelocaltotal">0</intvalue>			<intvalue name="knowledgenaturemisc">0</intvalue>			<intvalue name="knowledgenatureranks">0</intvalue>			<intvalue name="knowledgenaturestat">0</intvalue>			<intvalue name="knowledgenaturestate">0</intvalue>			<intvalue name="knowledgenaturetotal">0</intvalue>			<intvalue name="knowledgenobilitymisc">0</intvalue>			<intvalue name="knowledgenobilityranks">0</intvalue>			<intvalue name="knowledgenobilitystat">0</intvalue>			<intvalue name="knowledgenobilitystate">0</intvalue>			<intvalue name="knowledgenobilitytotal">0</intvalue>			<intvalue name="knowledgereligionmisc">0</intvalue>			<intvalue name="knowledgereligionranks">0</intvalue>			<intvalue name="knowledgereligionstat">0</intvalue>			<intvalue name="knowledgereligionstate">0</intvalue>			<intvalue name="knowledgereligiontotal">0</intvalue>			<intvalue name="knowledgetheplanesmisc">0</intvalue>			<intvalue name="knowledgetheplanesranks">0</intvalue>			<intvalue name="knowledgetheplanesstat">0</intvalue>			<intvalue name="knowledgetheplanesstate">0</intvalue>			<intvalue name="knowledgetheplanestotal">0</intvalue>			<intvalue name="level1">0</intvalue>			<intvalue name="level2">0</intvalue>			<intvalue name="level3">0</intvalue>			<intvalue name="listenmisc">0</intvalue>			<intvalue name="listenranks">0</intvalue>			<intvalue name="listenstat">0</intvalue>			<intvalue name="listenstate">0</intvalue>			<intvalue name="listentotal">0</intvalue>			<intvalue name="meleeattackbasemod">0</intvalue>			<intvalue name="meleeattackbonus">0</intvalue>			<intvalue name="meleeattackstrmod">0</intvalue>			<intvalue name="movesilentlymisc">0</intvalue>			<intvalue name="movesilentlyranks">0</intvalue>			<intvalue name="movesilentlystat">0</intvalue>			<intvalue name="movesilentlystate">0</intvalue>			<intvalue name="movesilentlytotal">0</intvalue>			<stringvalue name="name">TestforET</stringvalue>			<intvalue name="openlockmisc">0</intvalue>			<intvalue name="openlockranks">0</intvalue>			<intvalue name="openlockstat">0</intvalue>			<intvalue name="openlockstate">0</intvalue>			<intvalue name="openlocktotal">0</intvalue>			<stringvalue name="otherresists"></stringvalue>			<intvalue name="performmisc1">0</intvalue>			<intvalue name="performmisc2">0</intvalue>			<stringvalue name="performname1"></stringvalue>			<stringvalue name="performname2"></stringvalue>			<intvalue name="performranks1">0</intvalue>			<intvalue name="performranks2">0</intvalue>			<intvalue name="performstat">0</intvalue>			<intvalue name="performstate">0</intvalue>			<intvalue name="performtotal1">0</intvalue>			<intvalue name="performtotal2">0</intvalue>			<intvalue name="professionmisc1">0</intvalue>			<intvalue name="professionmisc2">0</intvalue>			<stringvalue name="professionname1"></stringvalue>			<stringvalue name="professionname2"></stringvalue>			<intvalue name="professionranks1">0</intvalue>			<intvalue name="professionranks2">0</intvalue>			<intvalue name="professionstat">0</intvalue>			<intvalue name="professionstate">0</intvalue>			<intvalue name="professiontotal1">0</intvalue>			<intvalue name="professiontotal2">0</intvalue>			<stringvalue name="race"></stringvalue>			<intvalue name="rangeattackbasemod">0</intvalue>			<intvalue name="rangeattackbonus">0</intvalue>			<intvalue name="rangeattackdexmod">0</intvalue>			<intvalue name="readlipsmisc">0</intvalue>			<intvalue name="readlipsranks">0</intvalue>			<intvalue name="readlipsstat">0</intvalue>			<intvalue name="readlipsstate">0</intvalue>			<intvalue name="readlipstotal">0</intvalue>			<intvalue name="reflexsave">0</intvalue>			<intvalue name="reflexsavebase">0</intvalue>			<intvalue name="reflexsavemisc">0</intvalue>			<intvalue name="reflexsavestatbonus">0</intvalue>			<intvalue name="ridemisc">0</intvalue>			<intvalue name="rideranks">0</intvalue>			<intvalue name="ridestat">0</intvalue>			<intvalue name="ridestate">0</intvalue>			<intvalue name="ridetotal">0</intvalue>			<intvalue name="searchmisc">0</intvalue>			<intvalue name="searchranks">0</intvalue>			<intvalue name="searchstat">0</intvalue>			<intvalue name="searchstate">0</intvalue>			<intvalue name="searchtotal">0</intvalue>			<intvalue name="sensemotivemisc">0</intvalue>			<intvalue name="sensemotiveranks">0</intvalue>			<intvalue name="sensemotivestat">0</intvalue>			<intvalue name="sensemotivestate">0</intvalue>			<intvalue name="sensemotivetotal">0</intvalue>			<stringvalue name="size"></stringvalue>			<intvalue name="sleightofhandmisc">0</intvalue>			<intvalue name="sleightofhandranks">0</intvalue>			<intvalue name="sleightofhandstat">0</intvalue>			<intvalue name="sleightofhandstate">0</intvalue>			<intvalue name="sleightofhandtotal">0</intvalue>			<intvalue name="speaklanguageranks">0</intvalue>			<intvalue name="speaklanguagestate">0</intvalue>			<stringvalue name="specialabilities"></stringvalue>			<node name="spell">				<node name="00001">					<intvalue name="level">0</intvalue>					<stringvalue name="name"></stringvalue>					<intvalue name="prepared">0</intvalue>					<stringvalue name="shortdescription"></stringvalue>				</node>				<node name="00002">					<intvalue name="level">0</intvalue>					<stringvalue name="name">Detect Poison</stringvalue>					<intvalue name="prepared">0</intvalue>					<stringvalue name="shortdescription">Detects poison in one creature or object.</stringvalue>				</node>			</node>			<intvalue name="spellcraftmisc">0</intvalue>			<intvalue name="spellcraftranks">0</intvalue>			<intvalue name="spellcraftstat">0</intvalue>			<intvalue name="spellcraftstate">0</intvalue>			<intvalue name="spellcrafttotal">0</intvalue>			<intvalue name="spelldclevel0">0</intvalue>			<intvalue name="spelldclevel1">0</intvalue>			<intvalue name="spelldclevel2">0</intvalue>			<intvalue name="spelldclevel3">0</intvalue>			<intvalue name="spelldclevel4">0</intvalue>			<intvalue name="spelldclevel5">0</intvalue>			<intvalue name="spelldclevel6">0</intvalue>			<intvalue name="spelldclevel7">0</intvalue>			<intvalue name="spelldclevel8">0</intvalue>			<intvalue name="spelldclevel9">0</intvalue>			<stringvalue name="spellmisclabel">MiscTest</stringvalue>			<intvalue name="spellmisclevel0">1</intvalue>			<intvalue name="spellmisclevel1">0</intvalue>			<intvalue name="spellmisclevel2">0</intvalue>			<intvalue name="spellmisclevel3">0</intvalue>			<intvalue name="spellmisclevel4">0</intvalue>			<intvalue name="spellmisclevel5">0</intvalue>			<intvalue name="spellmisclevel6">0</intvalue>			<intvalue name="spellmisclevel7">0</intvalue>			<intvalue name="spellmisclevel8">0</intvalue>			<intvalue name="spellmisclevel9">0</intvalue>			<intvalue name="spellsperdaylevel0">1</intvalue>			<intvalue name="spellsperdaylevel1">0</intvalue>			<intvalue name="spellsperdaylevel2">0</intvalue>			<intvalue name="spellsperdaylevel3">0</intvalue>			<intvalue name="spellsperdaylevel4">0</intvalue>			<intvalue name="spellsperdaylevel5">0</intvalue>			<intvalue name="spellsperdaylevel6">0</intvalue>			<intvalue name="spellsperdaylevel7">0</intvalue>			<intvalue name="spellsperdaylevel8">0</intvalue>			<intvalue name="spellsperdaylevel9">0</intvalue>			<intvalue name="spotmisc">0</intvalue>			<intvalue name="spotranks">0</intvalue>			<intvalue name="spotstat">0</intvalue>			<intvalue name="spotstate">0</intvalue>			<intvalue name="spottotal">0</intvalue>			<intvalue name="strength">19</intvalue>			<intvalue name="strengthbonus">0</intvalue>			<intvalue name="strengthdamage">0</intvalue>			<intvalue name="strengthtotal">0</intvalue>			<intvalue name="subdual">0</intvalue>			<intvalue name="survivalmisc">0</intvalue>			<intvalue name="survivalranks">0</intvalue>			<intvalue name="survivalstat">0</intvalue>			<intvalue name="survivalstate">0</intvalue>			<intvalue name="survivaltotal">0</intvalue>			<intvalue name="swimmisc">0</intvalue>			<intvalue name="swimranks">0</intvalue>			<intvalue name="swimstat">0</intvalue>			<intvalue name="swimstate">0</intvalue>			<intvalue name="swimtotal">0</intvalue>			<intvalue name="tumblemisc">0</intvalue>			<intvalue name="tumbleranks">0</intvalue>			<intvalue name="tumblestat">0</intvalue>			<intvalue name="tumblestate">0</intvalue>			<intvalue name="tumbletotal">0</intvalue>			<intvalue name="usemagicdevicemisc">0</intvalue>			<intvalue name="usemagicdeviceranks">0</intvalue>			<intvalue name="usemagicdevicestat">0</intvalue>			<intvalue name="usemagicdevicestate">0</intvalue>			<intvalue name="usemagicdevicetotal">0</intvalue>			<intvalue name="useropemisc">0</intvalue>			<intvalue name="useroperanks">0</intvalue>			<intvalue name="useropestat">0</intvalue>			<intvalue name="useropestate">0</intvalue>			<intvalue name="useropetotal">0</intvalue>			<stringvalue name="weapon1">one</stringvalue>			<intvalue name="weapon1attackbonus">0</intvalue>			<intvalue name="weapon1attackbonus2">0</intvalue>			<intvalue name="weapon1attackbonus3">0</intvalue>			<intvalue name="weapon1attackbonus4">0</intvalue>			<stringvalue name="weapon1critical"></stringvalue>			<stringvalue name="weapon1damage"></stringvalue>			<stringvalue name="weapon2">two</stringvalue>			<intvalue name="weapon2attackbonus">0</intvalue>			<intvalue name="weapon2attackbonus2">0</intvalue>			<intvalue name="weapon2attackbonus3">0</intvalue>			<intvalue name="weapon2attackbonus4">0</intvalue>			<stringvalue name="weapon2critical"></stringvalue>			<stringvalue name="weapon2damage"></stringvalue>			<stringvalue name="weapon3">three</stringvalue>			<intvalue name="weapon3attackbonus">0</intvalue>			<intvalue name="weapon3attackbonus2">0</intvalue>			<intvalue name="weapon3attackbonus3">0</intvalue>			<intvalue name="weapon3attackbonus4">0</intvalue>			<stringvalue name="weapon3critical"></stringvalue>			<stringvalue name="weapon3damage"></stringvalue>			<stringvalue name="weapon4">four</stringvalue>			<intvalue name="weapon4attackbonus">0</intvalue>			<intvalue name="weapon4attackbonus2">0</intvalue>			<intvalue name="weapon4attackbonus3">0</intvalue>			<intvalue name="weapon4attackbonus4">0</intvalue>			<stringvalue name="weapon4critical"></stringvalue>			<stringvalue name="weapon4damage"></stringvalue>			<stringvalue name="weight"></stringvalue>			<intvalue name="willsave">0</intvalue>			<intvalue name="willsavebase">0</intvalue>			<intvalue name="willsavemisc">0</intvalue>			<intvalue name="willsavestatbonus">0</intvalue>			<intvalue name="wisdom">0</intvalue>			<intvalue name="wisdombonus">0</intvalue>			<intvalue name="wisdomdamage">0</intvalue>			<intvalue name="wisdomtotal">0</intvalue>			<intvalue name="wounds">0</intvalue>		</node>	</node>	</root>

This repeats from the <node name="TestforET"> to represent characters.The problem that I am having is to make an schema for this, but there are tons of <intvalue> and <stringvalue> elements, all with the "name" attribute.How does one go making a schema for this? I can see how to make the <intvalue> and <stringvalue> repeat, but the attributes are all the same! is there a way to do this in a schema?Sandeman

Share this post


Link to post
Share on other sites

Can a person use something like this?

<xs:group name="charsheet"> <xs:sequence>  <xs:element name="intvalue" />      <xs:attribute name="ac" type="xs:string"/>      >xs:attribute name="acarmourbonus" type="xs:string"/>  <xs:element name="stringvalue" />       <xs:attribute name="race" type="xs:string"/>  <xs:element name="node" type="xs:string" default="spells"/>       <xs:element name="stringvalue"/>           <xs:attribute name="name" value="xs:string"/> </xs:sequence></xs:group>

The problem that I have is representing

<stringvalue name="treasure" value=""/>

in schema format.Sandeman

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...