XML/Input: Difference between revisions

Content added Content deleted
m (→‎{{header|REXX}}: added/changed comments and whitespace, used a template for the output sections.)
Line 2,193: Line 2,193:
=={{header|REXX}}==
=={{header|REXX}}==
===version 1===
===version 1===
<lang rexx>/*REXX program to extract student names from an XML string(s). */
<lang rexx>/*REXX program extracts student names from an XML string(s). */
g.=
g.=
g.1='<Students> '
g.1 = '<Students> '
g.2=' <Student Name="April" Gender="F" DateOfBirth="1989-01-02" /> '
g.2 = ' <Student Name="April" Gender="F" DateOfBirth="1989-01-02" /> '
g.3=' <Student Name="Bob" Gender="M" DateOfBirth="1990-03-04" /> '
g.3 = ' <Student Name="Bob" Gender="M" DateOfBirth="1990-03-04" /> '
g.4=' <Student Name="Chad" Gender="M" DateOfBirth="1991-05-06" /> '
g.4 = ' <Student Name="Chad" Gender="M" DateOfBirth="1991-05-06" /> '
g.5=' <Student Name="Dave" Gender="M" DateOfBirth="1992-07-08"> '
g.5 = ' <Student Name="Dave" Gender="M" DateOfBirth="1992-07-08"> '
g.6=' <Pet Type="dog" Name="Rover" /> '
g.6 = ' <Pet Type="dog" Name="Rover" /> '
g.7=' </Student> '
g.7 = ' </Student> '
g.8=' <Student DateOfBirth="1993-09-10" Gender="F" Name="&#x00C9;mily" /> '
g.8 = ' <Student DateOfBirth="1993-09-10" Gender="F" Name="&#x00C9;mily" /> '
g.9='</Students> '
g.9 = '</Students> '


do j=1 while g.j\==''
do j=1 while g.j\==''
g.j=space(g.j)
g.j=space(g.j)
parse var g.j 'Name="' studname '"'
parse var g.j 'Name="' studname '"'
if studname\=='' then say 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>
<pre>
April
April
Line 2,223: Line 2,222:
===version 2===
===version 2===
This REXX version handles more HTML tags for output.
This REXX version handles more HTML tags for output.
<lang rexx>/*REXX program to extract student names from an XML string(s). */
<lang rexx>/*REXX program extracts student names from an XML string(s). */
g.=
g.=
g.1='<Students> '
g.1 = '<Students> '
g.2=' <Student Name="April" Gender="F" DateOfBirth="1989-01-02" /> '
g.2 = ' <Student Name="April" Gender="F" DateOfBirth="1989-01-02" /> '
g.3=' <Student Name="Bob" Gender="M" DateOfBirth="1990-03-04" /> '
g.3 = ' <Student Name="Bob" Gender="M" DateOfBirth="1990-03-04" /> '
g.4=' <Student Name="Chad" Gender="M" DateOfBirth="1991-05-06" /> '
g.4 = ' <Student Name="Chad" Gender="M" DateOfBirth="1991-05-06" /> '
g.5=' <Student Name="Dave" Gender="M" DateOfBirth="1992-07-08"> '
g.5 = ' <Student Name="Dave" Gender="M" DateOfBirth="1992-07-08"> '
g.6=' <Pet Type="dog" Name="Rover" / > '
g.6 = ' <Pet Type="dog" Name="Rover" / > '
g.7=' </Student> '
g.7 = ' </Student> '
g.8=' <Student DateOfBirth="1993-09-10" Gender="F" Name="&#x00C9;mily" /> '
g.8 = ' <Student DateOfBirth="1993-09-10" Gender="F" Name="&#x00C9;mily" /> '
g.9='</Students> '
g.9 = '</Students> '


do j=1 while g.j\==''
do j=1 while g.j\==''
g.j=space(g.j)
g.j=space(g.j)
parse var g.j 'Name="' studname '"'
parse var g.j 'Name="' studname '"'
if studname=='' then iterate
if studname=='' then iterate
if pos('&',studname)\==0 then studname=xmlTranE(studname)
if pos('&', studname)\==0 then studname=xmlTranE(studname)
say studname
say studname
end /*j*/
end /*j*/
exit /*stick a fork in it, we're done.*/
exit /*stick a fork in it, we're all done. */
/*──────────────────────────────────────────────────────────────────────────────────────*/
/*──────────────────────────────────XML_ subroutine─────────────────────*/
xml_: parse arg ,_ /*tran an XML entity (&xxxx;) */
xml_: parse arg ,_ /*transkate an XML entity (&xxxx;) */
xmlEntity! = '&'_";"
xmlEntity! = '&'_";"
if pos(xmlEntity!,x)\==0 then x=changestr(xmlEntity!,x,arg(1))
if pos(xmlEntity!, $)\==0 then $=changestr(xmlEntity!, $, arg(1) )
if left(_,2)=='#x' then do
if left(_, 2)=='#x' then do
xmlEntity!='&'left(_,3)translate(substr(_,4))";"
xmlEntity!='&'left(_, 3)translate( substr(_, 4) )";"
x=changestr(xmlEntity!,x,arg(1))
$=changestr(xmlEntity!, $, arg(1) )
end
end
return x
return $
/*──────────────────────────────────────────────────────────────────────────────────────*/
/*──────────────────────────────────XMLTRANE subroutine─────────────────*/
xmlTranE: procedure; parse arg x /*Following are most of the chars in*/
xmlTranE: procedure; parse arg $ /*Following are most of the chars in */
/*the DOS (under Windows) codepage. */
/*the DOS (under Windows) codepage. */
x=XML_('',"hearts") ; x=XML_('â',"ETH") ; x=XML_('ƒ',"fnof") ; x=XML_('',"boxH")
$=XML_('â',"ETH") ; $=XML_('ƒ',"fnof") ; $=XML_('',"boxH") ; $=XML_('',"hearts")
x=XML_('',"diams") ; x=XML_('â','#x00e2') ; x=XML_('á',"aacute"); x=XML_('',"boxVH")
$=XML_('â','#x00e2') ; $=XML_('á',"aacute"); $=XML_('',"boxVH") ; $=XML_('',"diams")
x=XML_('',"clubs") ; x=XML_('â','#x00e9') ; x=XML_('á','#x00e1'); x=XML_('',"boxHu")
$=XML_('â','#x00e9') ; $=XML_('á','#x00e1'); $=XML_('',"boxHu") ; $=XML_('',"clubs")
x=XML_('',"spades") ; x=XML_('ä',"auml") ; x=XML_('í',"iacute"); x=XML_('',"boxhU")
$=XML_('ä',"auml") ; $=XML_('í',"iacute"); $=XML_('',"boxhU") ; $=XML_('',"spades")
x=XML_('',"male") ; x=XML_('ä','#x00e4') ; x=XML_('í','#x00ed'); x=XML_('',"boxHd")
$=XML_('ä','#x00e4') ; $=XML_('í','#x00ed'); $=XML_('',"boxHd") ; $=XML_('',"male")
x=XML_('',"female") ; x=XML_('à',"agrave") ; x=XML_('ó',"oacute"); x=XML_('',"boxhD")
$=XML_('à',"agrave") ; $=XML_('ó',"oacute"); $=XML_('',"boxhD") ; $=XML_('',"female")
x=XML_('',"#x263c") ; x=XML_('à','#x00e0') ; x=XML_('ó','#x00f3'); x=XML_('',"boxUr")
$=XML_('à','#x00e0') ; $=XML_('ó','#x00f3'); $=XML_('',"boxUr") ; $=XML_('',"#x263c")
x=XML_('',"UpDownArrow") ; x=XML_('å',"aring") ; x=XML_('ú',"uacute"); x=XML_('',"boxuR")
$=XML_('å',"aring") ; $=XML_('ú',"uacute"); $=XML_('',"boxuR") ; $=XML_('',"UpDownArrow")
x=XML_('',"para") ; x=XML_('å','#x00e5') ; x=XML_('ú','#x00fa'); x=XML_('',"boxdR")
$=XML_('å','#x00e5') ; $=XML_('ú','#x00fa'); $=XML_('',"boxdR") ; $=XML_('',"para")
x=XML_('§',"sect") ; x=XML_('ç',"ccedil") ; x=XML_('ñ',"ntilde"); x=XML_('',"boxDr")
$=XML_('ç',"ccedil") ; $=XML_('ñ',"ntilde"); $=XML_('',"boxDr") ; $=XML_('§',"sect")
x=XML_('',"uarr") ; x=XML_('ç','#x00e7') ; x=XML_('ñ','#x00f1'); x=XML_('',"boxVh")
$=XML_('ç','#x00e7') ; $=XML_('ñ','#x00f1'); $=XML_('',"boxVh") ; $=XML_('',"uarr")
x=XML_('',"uparrow") ; x=XML_('ê',"ecirc") ; x=XML_('Ñ',"Ntilde"); x=XML_('',"boxvH")
$=XML_('ê',"ecirc") ; $=XML_('Ñ',"Ntilde"); $=XML_('',"boxvH") ; $=XML_('',"uparrow")
x=XML_('↑',"ShortUpArrow") ; x=XML_('ê','#x00ea') ; x=XML_('Ñ','#x00d1'); x=XML_('┘',"boxul")
$=XML_('ê','#x00ea') ; $=XML_('Ñ','#x00d1'); $=XML_('┘',"boxul") ; $=XML_('↑',"ShortUpArrow")
x=XML_('',"darr") ; x=XML_('ë',"euml") ; x=XML_('¿',"iquest"); x=XML_('',"boxdr")
$=XML_('ë',"euml") ; $=XML_('¿',"iquest"); $=XML_('',"boxdr") ; $=XML_('',"darr")
x=XML_('',"downarrow") ; x=XML_('ë','#x00eb') ; x=XML_('',"bnot") ; x=XML_('',"block")
$=XML_('ë','#x00eb') ; $=XML_('',"bnot") ; $=XML_('',"block") ; $=XML_('',"downarrow")
x=XML_('',"ShortDownArrow") ; x=XML_('è',"egrave") ; x=XML_('¬',"not") ; x=XML_('',"lhblk")
$=XML_('è',"egrave") ; $=XML_('¬',"not") ; $=XML_('',"lhblk") ; $=XML_('',"ShortDownArrow")
x=XML_('',"larr") ; x=XML_('è','#x00e8') ; x=XML_('½',"frac12"); x=XML_('',"uhblk")
$=XML_('è','#x00e8') ; $=XML_('½',"frac12"); $=XML_('',"uhblk") ; $=XML_('',"larr")
x=XML_('',"leftarrow") ; x=XML_('ï',"iuml") ; x=XML_('½',"half") ; x=XML_('α',"alpha")
$=XML_('ï',"iuml") ; $=XML_('½',"half") ; $=XML_('α',"alpha") ; $=XML_('',"leftarrow")
x=XML_('←',"ShortLeftArrow") ; x=XML_('ï','#x00ef') ; x=XML_('¼',"frac14"); x=XML_('ß',"beta")
$=XML_('ï','#x00ef') ; $=XML_('¼',"frac14"); $=XML_('ß',"beta") ; $=XML_('←',"ShortLeftArrow")
x=XML_('1c'x,"rarr") ; x=XML_('î',"icirc") ; x=XML_('¡',"iexcl") ; x=XML_('ß',"szlig")
$=XML_('î',"icirc") ; $=XML_('¡',"iexcl") ; $=XML_('ß',"szlig") ; $=XML_('1c'x,"rarr")
x=XML_('1c'x,"rightarrow") ; x=XML_('î','#x00ee') ; x=XML_('«',"laqru") ; x=XML_('ß','#x00df')
$=XML_('î','#x00ee') ; $=XML_('«',"laqru") ; $=XML_('ß','#x00df') ; $=XML_('1c'x,"rightarrow")
x=XML_('1c'x,"ShortRightArrow"); x=XML_('ì',"igrave") ; x=XML_('»',"raqru") ; x=XML_('Γ',"Gamma")
$=XML_('ì',"igrave") ; $=XML_('»',"raqru") ; $=XML_('Γ',"Gamma") ; $=XML_('1c'x,"ShortRightArrow")
x=XML_('!',"excl") ; x=XML_('ì','#x00ec') ; x=XML_('',"blk12") ; x=XML_('π',"pi")
$=XML_('ì','#x00ec') ; $=XML_('',"blk12") ; $=XML_('π',"pi") ; $=XML_('!',"excl")
x=XML_('"',"apos") ; x=XML_('Ä',"Auml") ; x=XML_('',"blk14") ; x=XML_('Σ',"Sigma")
$=XML_('Ä',"Auml") ; $=XML_('',"blk14") ; $=XML_('Σ',"Sigma") ; $=XML_('"',"apos")
x=XML_('$',"dollar") ; x=XML_('Ä','#x00c4') ; x=XML_('',"blk34") ; x=XML_('σ',"sigma")
$=XML_('Ä','#x00c4') ; $=XML_('',"blk34") ; $=XML_('σ',"sigma") ; $=XML_('$',"dollar")
x=XML_("'","quot") ; x=XML_('Å',"Aring") ; x=XML_('',"boxv") ; x=XML_('µ',"mu")
$=XML_('Å',"Aring") ; $=XML_('',"boxv") ; $=XML_('µ',"mu") ; $=XML_("'","quot")
x=XML_('*',"ast") ; x=XML_('Å','#x00c5') ; x=XML_('',"boxvl") ; x=XML_('τ',"tau")
$=XML_('Å','#x00c5') ; $=XML_('',"boxvl") ; $=XML_('τ',"tau") ; $=XML_('*',"ast")
x=XML_('/',"sol") ; x=XML_('É',"Eacute") ; x=XML_('',"boxvL") ; x=XML_('Φ',"phi")
$=XML_('É',"Eacute") ; $=XML_('',"boxvL") ; $=XML_('Φ',"phi") ; $=XML_('/',"sol")
x=XML_(':',"colon") ; x=XML_('É','#x00c9') ; x=XML_('',"boxVl") ; x=XML_('Θ',"Theta")
$=XML_('É','#x00c9') ; $=XML_('',"boxVl") ; $=XML_('Θ',"Theta") ; $=XML_(':',"colon")
x=XML_('<',"lt") ; x=XML_('æ',"aelig") ; x=XML_('',"boxDl") ; x=XML_('δ',"delta")
$=XML_('æ',"aelig") ; $=XML_('',"boxDl") ; $=XML_('δ',"delta") ; $=XML_('<',"lt")
x=XML_('=',"equals") ; x=XML_('æ','#x00e6') ; x=XML_('',"boxdL") ; x=XML_('',"infin")
$=XML_('æ','#x00e6') ; $=XML_('',"boxdL") ; $=XML_('',"infin") ; $=XML_('=',"equals")
x=XML_('>',"gt") ; x=XML_('Æ',"AElig") ; x=XML_('',"boxVL") ; x=XML_('φ',"Phi")
$=XML_('Æ',"AElig") ; $=XML_('',"boxVL") ; $=XML_('φ',"Phi") ; $=XML_('>',"gt")
x=XML_('?',"quest") ; x=XML_('Æ','#x00c6') ; x=XML_('',"boxV") ; x=XML_('ε',"epsilon")
$=XML_('Æ','#x00c6') ; $=XML_('',"boxV") ; $=XML_('ε',"epsilon") ; $=XML_('?',"quest")
x=XML_('@',"commat") ; x=XML_('ô',"ocirc") ; x=XML_('',"boxDL") ; x=XML_('',"cap")
$=XML_('ô',"ocirc") ; $=XML_('',"boxDL") ; $=XML_('',"cap") ; $=XML_('_',"commat")
x=XML_('[',"lbrack") ; x=XML_('ô','#x00f4') ; x=XML_('',"boxUL") ; x=XML_('',"equiv")
$=XML_('ô','#x00f4') ; $=XML_('',"boxUL") ; $=XML_('',"equiv") ; $=XML_('[',"lbrack")
x=XML_('\',"bsol") ; x=XML_('ö',"ouml") ; x=XML_('',"boxUl") ; x=XML_('±',"plusmn")
$=XML_('ö',"ouml") ; $=XML_('',"boxUl") ; $=XML_('±',"plusmn") ; $=XML_('\',"bsol")
x=XML_(']',"rbrack") ; x=XML_('ö','#x00f6') ; x=XML_('',"boxuL") ; x=XML_('±',"pm")
$=XML_('ö','#x00f6') ; $=XML_('',"boxuL") ; $=XML_('±',"pm") ; $=XML_(']',"rbrack")
x=XML_('^',"Hat") ; x=XML_('ò',"ograve") ; x=XML_('',"boxdl") ; x=XML_('±',"PlusMinus")
$=XML_('ò',"ograve") ; $=XML_('',"boxdl") ; $=XML_('±',"PlusMinus") ; $=XML_('^',"Hat")
x=XML_('`',"grave") ; x=XML_('ò','#x00f2') ; x=XML_('',"boxur") ; x=XML_('',"ge")
$=XML_('ò','#x00f2') ; $=XML_('',"boxur") ; $=XML_('',"ge") ; $=XML_('`',"grave")
x=XML_('{',"lbrace") ; x=XML_('û',"ucirc") ; x=XML_('',"bottom"); x=XML_('',"le")
$=XML_('û',"ucirc") ; $=XML_('',"bottom"); $=XML_('',"le") ; $=XML_('{',"lbrace")
x=XML_('{',"lcub") ; x=XML_('û','#x00fb') ; x=XML_('',"boxhu") ; x=XML_('÷',"div")
$=XML_('û','#x00fb') ; $=XML_('',"boxhu") ; $=XML_('÷',"div") ; $=XML_('{',"lcub")
x=XML_('|',"vert") ; x=XML_('ù',"ugrave") ; x=XML_('',"boxhd") ; x=XML_('÷',"divide")
$=XML_('ù',"ugrave") ; $=XML_('',"boxhd") ; $=XML_('÷',"divide") ; $=XML_('|',"vert")
x=XML_('|',"verbar") ; x=XML_('ù','#x00f9') ; x=XML_('',"boxvr") ; x=XML_('',"approx")
$=XML_('ù','#x00f9') ; $=XML_('',"boxvr") ; $=XML_('',"approx") ; $=XML_('|',"verbar")
x=XML_('}',"rbrace") ; x=XML_('ÿ',"yuml") ; x=XML_('',"boxh") ; x=XML_('',"bull")
$=XML_('ÿ',"yuml") ; $=XML_('',"boxh") ; $=XML_('',"bull") ; $=XML_('}',"rbrace")
x=XML_('}',"rcub") ; x=XML_('ÿ','#x00ff') ; x=XML_('',"boxvh") ; x=XML_('°',"deg")
$=XML_('ÿ','#x00ff') ; $=XML_('',"boxvh") ; $=XML_('°',"deg") ; $=XML_('}',"rcub")
x=XML_('Ç',"Ccedil") ; x=XML_('Ö',"Ouml") ; x=XML_('',"boxvR") ; x=XML_('·',"middot")
$=XML_('Ö',"Ouml") ; $=XML_('',"boxvR") ; $=XML_('·',"middot") ; $=XML_('Ç',"Ccedil")
x=XML_('Ç','#x00c7') ; x=XML_('Ö','#x00d6') ; x=XML_('',"boxVr") ; x=XML_('·',"middledot")
$=XML_('Ö','#x00d6') ; $=XML_('',"boxVr") ; $=XML_('·',"middledot") ; $=XML_('Ç','#x00c7')
x=XML_('ü',"uuml") ; x=XML_('Ü',"Uuml") ; x=XML_('',"boxUR") ; x=XML_('·',"centerdot")
$=XML_('Ü',"Uuml") ; $=XML_('',"boxUR") ; $=XML_('·',"centerdot") ; $=XML_('ü',"uuml")
x=XML_('ü','#x00fc') ; x=XML_('Ü','#x00dc') ; x=XML_('',"boxDR") ; x=XML_('·',"CenterDot")
$=XML_('Ü','#x00dc') ; $=XML_('',"boxDR") ; $=XML_('·',"CenterDot") ; $=XML_('ü','#x00fc')
x=XML_('é',"eacute") ; x=XML_('¢',"cent") ; x=XML_('',"boxHU") ; x=XML_('',"radic")
$=XML_('¢',"cent") ; $=XML_('',"boxHU") ; $=XML_('',"radic") ; $=XML_('é',"eacute")
x=XML_('é','#x00e9') ; x=XML_('£',"pound") ; x=XML_('',"boxHD") ; x=XML_('²',"sup2")
$=XML_('£',"pound") ; $=XML_('',"boxHD") ; $=XML_('²',"sup2") ; $=XML_('é','#x00e9')
x=XML_('â',"acirc") ; x=XML_('¥',"yen") ; x=XML_('',"boxVR") ; x=XML_('',"squart ")
$=XML_('¥',"yen") ; $=XML_('',"boxVR") ; $=XML_('',"square ") ; $=XML_('â',"acirc")
return x</lang>
return $</lang>
Some older REXXes don't have a &nbsp; '''changestr''' &nbsp; BIF, &nbsp; so one is included here &nbsp; ──► &nbsp; [[CHANGESTR.REX]].
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>
<pre>
April
April