XML/Input: Difference between revisions

m
→‎{{header|REXX}}: added/changed comments and whitespace, used a template for the output sections.
m (→‎{{header|REXX}}: added/changed comments and whitespace, used a template for the output sections.)
Line 2,193:
=={{header|REXX}}==
===version 1===
<lang rexx>/*REXX program to extractextracts student names from an XML string(s). */
g.=
g.1 = '<Students> '
g.2 = ' <Student Name="April" Gender="F" DateOfBirth="1989-01-02" /> '
g.3 = ' <Student Name="Bob" Gender="M" DateOfBirth="1990-03-04" /> '
g.4 = ' <Student Name="Chad" Gender="M" DateOfBirth="1991-05-06" /> '
g.5 = ' <Student Name="Dave" Gender="M" DateOfBirth="1992-07-08"> '
g.6 = ' <Pet Type="dog" Name="Rover" /> '
g.7 = ' </Student> '
g.8 = ' <Student DateOfBirth="1993-09-10" Gender="F" Name="&#x00C9;mily" /> '
g.9 = '</Students> '
 
do j=1 while g.j\==''
g.j=space(g.j)
parse var g.j 'Name="' studname '"'
if studname\=='' then say studname
end /*j*/ /*stick a fork in it, we're all done. */</lang>
end /*j*/
{{out|output|text=&nbsp; when using the default (internal) input:}}
/*stick a fork in it, we're done.*/</lang>
'''output'''
<pre>
April
Line 2,223 ⟶ 2,222:
===version 2===
This REXX version handles more HTML tags for output.
<lang rexx>/*REXX program to extractextracts student names from an XML string(s). */
g.=
g.1 = '<Students> '
g.2 = ' <Student Name="April" Gender="F" DateOfBirth="1989-01-02" /> '
g.3 = ' <Student Name="Bob" Gender="M" DateOfBirth="1990-03-04" /> '
g.4 = ' <Student Name="Chad" Gender="M" DateOfBirth="1991-05-06" /> '
g.5 = ' <Student Name="Dave" Gender="M" DateOfBirth="1992-07-08"> '
g.6 = ' <Pet Type="dog" Name="Rover" / > '
g.7 = ' </Student> '
g.8 = ' <Student DateOfBirth="1993-09-10" Gender="F" Name="&#x00C9;mily" /> '
g.9 = '</Students> '
 
do j=1 while g.j\==''
g.j=space(g.j)
parse var g.j 'Name="' studname '"'
if studname=='' then iterate
if pos('&', studname)\==0 then studname=xmlTranE(studname)
say studname
end /*j*/
exit /*stick a fork in it, we're all done. */
/*──────────────────────────────────────────────────────────────────────────────────────*/
/*──────────────────────────────────XML_ subroutine─────────────────────*/
xml_: parse arg ,_ /*trantranskate an XML entity (&xxxx;) */
xmlEntity! = '&'_";"
if pos(xmlEntity!,x $)\==0 then x$=changestr(xmlEntity!,x $, arg(1) )
if left(_, 2)=='#x' then do
xmlEntity!='&'left(_, 3)translate( substr(_, 4) )";"
x $=changestr(xmlEntity!,x $, arg(1) )
end
return x$
/*──────────────────────────────────────────────────────────────────────────────────────*/
/*──────────────────────────────────XMLTRANE subroutine─────────────────*/
xmlTranE: procedure; parse arg x$ /*Following are most of the chars in */
/*the DOS (under Windows) codepage. */
x$=XML_('â',"heartsETH") ; x$=XML_('âƒ',"ETHfnof") ; x$=XML_('ƒ',"fnofboxH") ; x$=XML_('',"boxHhearts")
x$=XML_('â',"diams"'#x00e2') ; x$=XML_('âá','#x00e2'"aacute") ; x$=XML_('á',"aacuteboxVH") ; x$=XML_('',"boxVHdiams")
x$=XML_('â',"clubs"'#x00e9') ; x$=XML_('âá','#x00e9x00e1') ; x$=XML_('á','#x00e1'"boxHu") ; x$=XML_('',"boxHuclubs")
x$=XML_('ä',"spadesauml") ; x$=XML_('äí',"aumliacute") ; x$=XML_('í',"iacuteboxhU") ; x$=XML_('',"boxhUspades")
x$=XML_('ä',"male"'#x00e4') ; x$=XML_('äí','#x00e4x00ed') ; x$=XML_('í','#x00ed'"boxHd") ; x$=XML_('',"boxHdmale")
x$=XML_('à',"femaleagrave") ; x$=XML_('àó',"agraveoacute") ; x$=XML_('ó',"oacuteboxhD") ; x$=XML_('',"boxhDfemale")
x$=XML_('à',"'#x263c"x00e0') ; x$=XML_('àó','#x00e0x00f3') ; x$=XML_('ó','#x00f3'"boxUr") ; x$=XML_('',"boxUr#x263c")
x$=XML_('å',"UpDownArrowaring") ; x$=XML_('åú',"aringuacute") ; x$=XML_('ú',"uacuteboxuR") ; x$=XML_('',"boxuRUpDownArrow")
x$=XML_('å',"para"'#x00e5') ; x$=XML_('åú','#x00e5x00fa') ; x$=XML_('ú','#x00fa'"boxdR") ; x$=XML_('',"boxdRpara")
x$=XML_('§ç',"sectccedil") ; x$=XML_('çñ',"ccedilntilde") ; x$=XML_('ñ',"ntildeboxDr") ; x$=XML_('§',"boxDrsect")
x$=XML_('ç',"uarr"'#x00e7') ; x$=XML_('çñ','#x00e7x00f1') ; x$=XML_('ñ','#x00f1'"boxVh") ; x$=XML_('',"boxVhuarr")
x$=XML_('ê',"uparrowecirc") ; x$=XML_('êÑ',"ecircNtilde") ; x$=XML_('Ñ',"NtildeboxvH") ; x$=XML_('',"boxvHuparrow")
x=XML_('↑',"ShortUpArrow") ; x$=XML_('ê','#x00ea') ; x$=XML_('Ñ','#x00d1'); x$=XML_('┘',"boxul") ; $=XML_('↑',"ShortUpArrow")
x$=XML_('ë',"darreuml") ; x$=XML_('ë¿',"eumliquest") ; x$=XML_('¿',"iquestboxdr") ; x$=XML_('',"boxdrdarr")
x$=XML_('ë',"downarrow"'#x00eb') ; x$=XML_('ë','#x00eb'"bnot") ; x$=XML_('',"bnotblock") ; x$=XML_('',"blockdownarrow")
x$=XML_('è',"ShortDownArrowegrave") ; x$=XML_('è¬',"egravenot") ; x$=XML_('¬',"notlhblk") ; x$=XML_('',"lhblkShortDownArrow")
x$=XML_('è',"larr"'#x00e8') ; x$=XML_('è½','#x00e8'"frac12") ; x$=XML_('½',"frac12uhblk") ; x$=XML_('',"uhblklarr")
x$=XML_('ï',"leftarrowiuml") ; x$=XML_('ï½',"iumlhalf") ; x$=XML_('½α',"halfalpha") ; x$=XML_('α',"alphaleftarrow")
x=XML_('←',"ShortLeftArrow") ; x$=XML_('ï','#x00ef') ; x$=XML_('¼',"frac14"); x$=XML_('ß',"beta") ; $=XML_('←',"ShortLeftArrow")
x$=XML_('1cî'x,"rarricirc") ; x$=XML_('î¡',"icirciexcl") ; x$=XML_('¡ß',"iexclszlig") ; x$=XML_('ß1c'x,"szligrarr")
x=XML_('1c'x,"rightarrow") ; x$=XML_('î','#x00ee') ; x$=XML_('«',"laqru") ; x$=XML_('ß','#x00df') ; $=XML_('1c'x,"rightarrow")
x$=XML_('1cì'x,"ShortRightArrowigrave") ; x$=XML_('ì»',"igraveraqru") ; x$=XML_('»Γ',"raqruGamma") ; x$=XML_('Γ1c'x,"GammaShortRightArrow")
x$=XML_('!ì',"excl"'#x00ec') ; x$=XML_('ì','#x00ec'"blk12") ; x$=XML_('π',"blk12pi") ; x$=XML_('π!',"piexcl")
x$=XML_('"Ä',"aposAuml") ; x$=XML_('Ä',"Aumlblk14") ; x$=XML_('Σ',"blk14Sigma") ; x$=XML_('Σ"',"Sigmaapos")
x$=XML_('$Ä',"dollar"'#x00c4') ; x$=XML_('Ä','#x00c4'"blk34") ; x$=XML_('σ',"blk34sigma") ; x$=XML_('σ$',"sigmadollar")
x$=XML_("'"Å',"quotAring") ; x$=XML_('Å',"Aringboxv") ; x$=XML_('µ',"boxvmu") ; x$=XML_("'µ'","muquot")
x$=XML_('*Å',"ast"'#x00c5') ; x$=XML_('Å','#x00c5'"boxvl") ; x$=XML_('τ',"boxvltau") ; x$=XML_('τ*',"tauast")
x$=XML_('/É',"solEacute") ; x$=XML_('É',"EacuteboxvL") ; x$=XML_('Φ',"boxvLphi") ; x$=XML_('Φ/',"phisol")
x$=XML_(':É',"colon"'#x00c9') ; x$=XML_('É','#x00c9'"boxVl") ; x$=XML_('Θ',"boxVlTheta") ; x$=XML_('Θ:',"Thetacolon")
x$=XML_('<æ',"ltaelig") ; x$=XML_('æ',"aeligboxDl") ; x$=XML_('δ',"boxDldelta") ; x$=XML_('δ<',"deltalt")
x$=XML_('=æ',"equals"'#x00e6') ; x$=XML_('æ','#x00e6'"boxdL") ; x$=XML_('',"boxdLinfin") ; x$=XML_('=',"infinequals")
x$=XML_('>Æ',"gtAElig") ; x$=XML_('Æ',"AEligboxVL") ; x$=XML_('φ',"boxVLPhi") ; x$=XML_('φ>',"Phigt")
x$=XML_('?Æ',"quest"'#x00c6') ; x$=XML_('Æ','#x00c6'"boxV") ; x$=XML_('ε',"boxVepsilon") ; x$=XML_('ε?',"epsilonquest")
x$=XML_('@ô',"commatocirc") ; x$=XML_('ô',"ocircboxDL") ; x$=XML_('',"boxDLcap") ; x$=XML_('_',"capcommat")
x$=XML_('[ô',"lbrack"'#x00f4') ; x$=XML_('ô','#x00f4'"boxUL") ; x$=XML_('',"boxULequiv") ; x$=XML_('[',"equivlbrack")
x$=XML_('\ö',"bsolouml") ; x$=XML_('ö',"oumlboxUl") ; x$=XML_('±',"boxUlplusmn") ; x$=XML_('±\',"plusmnbsol")
x$=XML_(']ö',"rbrack"'#x00f6') ; x$=XML_('ö','#x00f6'"boxuL") ; x$=XML_('±',"boxuLpm") ; x$=XML_('±]',"pmrbrack")
x$=XML_('^ò',"Hatograve") ; x$=XML_('ò',"ograveboxdl") ; x$=XML_('±',"boxdlPlusMinus") ; x$=XML_('±^',"PlusMinusHat")
x$=XML_('`ò',"grave"'#x00f2') ; x$=XML_('ò','#x00f2'"boxur") ; x$=XML_('',"boxurge") ; x$=XML_('`',"gegrave")
x$=XML_('{û',"lbraceucirc") ; x$=XML_('û',"ucircbottom") ; x$=XML_('',"bottomle") ; x$=XML_('{',"lelbrace")
x$=XML_('{û',"lcub"'#x00fb') ; x$=XML_('û','#x00fb'"boxhu") ; x$=XML_('÷',"boxhudiv") ; x$=XML_('÷{',"divlcub")
x$=XML_('|ù',"vertugrave") ; x$=XML_('ù',"ugraveboxhd") ; x$=XML_('÷',"boxhddivide") ; x$=XML_('÷|',"dividevert")
x$=XML_('|ù',"verbar"'#x00f9') ; x$=XML_('ù','#x00f9'"boxvr") ; x$=XML_('',"boxvrapprox") ; x$=XML_('|',"approxverbar")
x$=XML_('}ÿ',"rbraceyuml") ; x$=XML_('ÿ',"yumlboxh") ; x$=XML_('',"boxhbull") ; x$=XML_('}',"bullrbrace")
x$=XML_('}ÿ',"rcub"'#x00ff') ; x$=XML_('ÿ','#x00ff'"boxvh") ; x$=XML_('°',"boxvhdeg") ; x$=XML_('°}',"degrcub")
x$=XML_('ÇÖ',"CcedilOuml") ; x$=XML_('Ö',"OumlboxvR") ; x$=XML_('·',"boxvRmiddot") ; x$=XML_('·Ç',"middotCcedil")
x$=XML_('ÇÖ','#x00c7x00d6') ; x$=XML_('Ö','#x00d6'"boxVr") ; x$=XML_('·',"boxVrmiddledot") ; x$=XML_('·Ç',"middledot"'#x00c7')
x$=XML_('üÜ',"uumlUuml") ; x$=XML_('Ü',"UumlboxUR") ; x$=XML_('·',"boxURcenterdot") ; x$=XML_('·ü',"centerdotuuml")
x$=XML_('üÜ','#x00fcx00dc') ; x$=XML_('Ü','#x00dc'"boxDR") ; x$=XML_('·',"boxDRCenterDot") ; x$=XML_('·ü',"CenterDot"'#x00fc')
x$=XML_('é¢',"eacutecent") ; x$=XML_('¢',"centboxHU") ; x$=XML_('',"boxHUradic") ; x$=XML_('é',"radiceacute")
x$=XML_('é£','#x00e9'"pound") ; x$=XML_('£',"poundboxHD") ; x$=XML_('²',"boxHDsup2") ; x$=XML_('²é',"sup2"'#x00e9')
x$=XML_('â¥',"acircyen") ; x$=XML_('¥',"yenboxVR") ; x$=XML_('',"boxVRsquare ") ; x$=XML_('â',"squart acirc")
return x$</lang>
Some older REXXes don't have a &nbsp; '''changestr''' &nbsp; BIF, &nbsp; so one is included here &nbsp; ──► &nbsp; [[CHANGESTR.REX]].
 
<br><br>
{{out|output|text=&nbsp; when using the default (internal) input:}}
'''output'''
<pre>
April