Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
26
Task/XML-Input/M2000-Interpreter/xml-input-1.m2000
Normal file
26
Task/XML-Input/M2000-Interpreter/xml-input-1.m2000
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
Module CheckIt {
|
||||
Const Enumerator=-4&
|
||||
xml$={<Students>
|
||||
<Student Name="April" Gender="F" DateOfBirth="1989-01-02" />
|
||||
<Student Name="Bob" Gender="M" DateOfBirth="1990-03-04" />
|
||||
<Student Name="Chad" Gender="M" DateOfBirth="1991-05-06" />
|
||||
<Student Name="Dave" Gender="M" DateOfBirth="1992-07-08">
|
||||
<Pet Type="dog" Name="Rover" />
|
||||
</Student>
|
||||
<Student DateOfBirth="1993-09-10" Gender="F" Name="Émily" />
|
||||
</Students>
|
||||
}
|
||||
Declare Dom "Msxml2.DOMDocument"
|
||||
Method Dom, "LoadXML", xml$
|
||||
Method Dom, "getElementsByTagName", "Student" as Students
|
||||
|
||||
With Students, Enumerator as Student
|
||||
While Student {
|
||||
Method Student, "getAttribute", "Name" as Student.Name$
|
||||
Print Student.Name$
|
||||
}
|
||||
Declare Student Nothing
|
||||
Declare Students Nothing
|
||||
Declare DOM Nothing
|
||||
}
|
||||
CheckIt
|
||||
51
Task/XML-Input/M2000-Interpreter/xml-input-2.m2000
Normal file
51
Task/XML-Input/M2000-Interpreter/xml-input-2.m2000
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
Module Checkit {
|
||||
declare databank xmldata
|
||||
method databank, "NumericCharactersEntities", true
|
||||
with databank, "xml" as doc$, "beautify" as beautify
|
||||
doc$={<?xml?>
|
||||
<Students>
|
||||
<Student Name="April" Gender="F" DateOfBirth="1989-01-02" />
|
||||
<Student Name="Bob" Gender="M" DateOfBirth="1990-03-04" />
|
||||
<Student Name="Chad" Gender="M" DateOfBirth="1991-05-06" />
|
||||
<Student Name="Dave" Gender="M" DateOfBirth="1992-07-08">
|
||||
<Pet Type="dog" Name="Rover" />
|
||||
</Student>
|
||||
<Student DateOfBirth="1993-09-10" Gender="F" Name="Émily" />
|
||||
</Students>
|
||||
}
|
||||
beautify=-4
|
||||
Report 3, doc$
|
||||
Method databank, "GetListByTag", "Student", -1 as Result
|
||||
c=1 // Result is type of M2000 stack.
|
||||
If len(Result)>0 then
|
||||
Stack Result {
|
||||
Read fieldsNo : With fieldsNo, "Attr" as fieldsno.tag$()
|
||||
}
|
||||
Stack Result {
|
||||
Print c, " "+fieldsno.tag$("Name")
|
||||
c++
|
||||
// Loop raise a flag for this block,
|
||||
// which interpreter read at the end of block, and then clear it
|
||||
if empty else loop
|
||||
Read fieldsNo
|
||||
}
|
||||
// this place hexadecimal value for char É
|
||||
// this object offer by default 5 escaped characters: quot, amp, apos, lt, gt
|
||||
// inner local function conv$() can be used to escape characters above 127.
|
||||
fieldsno.tag$("Name")=@conv$("Émily")
|
||||
Report 3, doc$
|
||||
end if
|
||||
|
||||
declare databank Nothing
|
||||
Function Conv$(a$)
|
||||
if len(a$)=0 then exit function
|
||||
local b$, c$, k
|
||||
for i=1 to len(a$)
|
||||
c$=mid$(a$, i,1)
|
||||
k=uint(chrcode(c$))
|
||||
if k>127 then b$+="&#x"+hex$(k,2)+";" else b$+=c$
|
||||
next
|
||||
=b$
|
||||
End Function
|
||||
}
|
||||
CheckIt
|
||||
Loading…
Add table
Add a link
Reference in a new issue