DEV03 - Using XML from REXX |
Warpstock Europe 2007 • Valkenswaard, Netherlands |
/* Code */
Website.0 = 3
Website.1 = 'www.netlabs.org'
Website.2 = 'www.os2voice.org'
Website.3 = 'www.os2world.com'
DO ThisSite = 1 TO Website.0
SAY Website.ThisSite
END
/* Output */
www.netlabs.org
www.os2voice.org
www.os2world.com
<inventory>
<drink>
<lemonade>
<price>$2.50</price>
<amount>20</amount>
</lemonade>
<coke>
<price>$1.50</price>
<amount>10</amount>
</coke>
</drink>
<snack>
<chips>
<price>$4.50</price>
<amount>60</amount>
</chips>
</snack>
</inventory>
Inventory.Items = 'Drink Snack' Inventory.Drink.List = 'Lemonade Coke' Inventory.Drink.0 = 2 Inventory.Drink.1.Lemonade.Price = '$2.50' Inventory.Drink.1.Lemonade.Amount = 20 Inventory.Drink.2.Coke.Price = '$1.50' Inventory.Drink.2.Coke.Amount = 10 Inventory.Snack.List = 'Chips' Inventory.Snack.0 = 1 Inventory.Snack.1.Chips.Price = '$4.50' Inventory.Snack.1.Chips.Amount = 60
rc = RxXmlParseFile( File, Stem,
Options[, XPathExpr, NsList])
<?xml version="1.0"?>
<pim>
<Contact FirstName='Carl'
LastName='Meier'>My good old pal</Contact>
<Contact FirstName='Mary'
LastName='Meier'>Carl's wife</Contact>
</pim>
Call RxFuncAdd 'RxXmlLoadFuncs', 'RXXML', 'RxXmlLoadFuncs' Call RxXmlLoadFuncs rc = RxXmlParseFile( 'text.xml', 'xml.', 'DP')
xml.__RootElement='_pim' xml._pim._Contact.1._FirstName='Carl' xml._pim._Contact.1._LastName='Meier' xml._pim._Contact.1.__Properties='_FirstName _LastName' xml._pim._Contact.1='My good old pal' xml._pim._Contact.2._FirstName='Mary' xml._pim._Contact.2._LastName='Meier' xml._pim._Contact.2.__Properties='_FirstName _LastName' xml._pim._Contact.2='Carl's wife' xml._pim._Contact.0='2' xml._pim.__Elements='_Contact'
<?xml version="1.0"?>
<!DOCTYPE pim [
<!ELEMENT pim (Contact+)>
<!ELEMENT Contact CDATA>
<!ATTLIST Contact FirstName CDATA #REQUIRED>
<!ATTLIST Contact LastName CDATA #REQUIRED>
]>
<pim>
<Contact FirstName='Carl'
LastName='Meier'>My good old pal</Contact>
<Contact FirstName='Mary'
LastName='Meier'>Carl's wife</Contact>
</pim>
<!ELEMENT pim (Contact+)> <!ELEMENT Contact CDATA> <!ATTLIST Contact FirstName CDATA #REQUIRED> <!ATTLIST Contact LastName CDATA #REQUIRED>
<?xml version="1.0"?>
<!DOCTYPE pim SYSTEM "pim.dtd">
<pim>
<Contact FirstName='Carl'
LastName='Meier'>My good old pal</Contact>
<Contact FirstName='Mary'
LastName='Meier'>Carl's wife</Contact>
</pim>
<?xml version="1.0"?>
<pim xmlns="http://www.netlabs.org/samples/pim/1.0/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance"
xsd:schemaLocation="http://www.netlabs.org pim.xsd">
<Contact FirstName='Carl'
LastName='Meier'>My good old pal</Contact>
<Contact FirstName='Mary'
LastName='Meier'>Carl's wife</Contact>
</pim>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.netlabs.org/samples/pim/1.0/"
xmlns="http://www.netlabs.org/samples/pim/1.0/"
elementFormDefault="qualified">
<xsd:element name="pim">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Contact" type="TypeContact"
minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="TypeContact" mixed="true">
<xsd:attribute name="FirstName" type="TypeNameString"/>
<xsd:attribute name="LastName" type="TypeNameString"/>
</xsd:complexType>
<xsd:simpleType name="TypeNameString">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="255"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
Thank you very much for your your attention!