Quote:

KiXtart
KiXtart Version = 4.53
KiXGolf Script = kixgolf_wfp.kix

Computer
OS = Windows XP Professional
CPU = Intel Pentium Model 15
Speed = 2131 MHz
Memory = 1526 MB

KiXGolf Scoring Engine
Scoring Engine = 3.3

KiXtart Golf Score
Tournament = A Well-Formed Problem
Processing Start = 2008/12/20 15:00:45.171
Processing End = 2008/12/20 15:00:45.390
Duration = 0000/00/00 00:00:00.218
KiXGolf Score = 639


 Code:
Function WFP($)
dim $e,$p,$s,$k,$i,$_
$k="well-formed"
$s="non "+$k
$wfp=$s

$ = open(1,".\"+$)
do
 $=readline(1)
 $_=$_+$
until @error
$=split($_,'<?xml version="1.0"?>')


if 1=ubound($)+close(1)
 $wfp=$k
 for each $ in split($[1],"<")
   $_=split(split($,">")[0])
   dim $a
   for $p=0 to ubound($_)
    $k=split($_[$p],'="')[0]
    for $i=1 to $k^0
     $=asc(ucase(substr($k,$i)))
     if 0=(($>64 & $<91) | ($>47 & $<58) | $=45 | 47=asc($k) | $p=0 & $i=($k^) & $=47) | instr($a,\+$k+\) | $p & 0=instr('/"',right($_[$p],1))
      $wfp=$s
     endif
    next
    if $p
     $a=$a+\+$k+\
    else
     $=$_[0]
     $i=47=asc($)
     if $
      $=\+substr($,1+$i)+\
      if right(join($_),1)<>"/" | $e=$ | $e=""
       $e=$e+$
       $k=split($e,$)
       if $i | $e=$+$
        $=$k[0]
        $e=$
        if 0= ($ | $i) * ($k[1] + ubound($k) = 2)
         $wfp=$s
EndFunction
_________________________
!

download KiXnet