Los Documentos XML del Ejemplo
<!ELEMENT checkbook ( transactions, balance ) >
<!ELEMENT transactions ( deposit | check | withdrawal )* >
<!ELEMENT deposit ( date, name, amount )>
<!ATTLIST deposit category ( salary | interest-income | other ) #IMPLIED >
<!ELEMENT check ( date, name, amount, ( pending | void | cleared ), memo? ) >
<!ATTLIST check number CDATA #REQUIRED category ( rent | groceries | other ) #IMPLIED >
<!ELEMENT withdrawal ( date, amount ) >
<!ELEMENT balance (#PCDATA) >
<!ELEMENT date (#PCDATA ) >
<!ELEMENT name (#PCDATA) >
<!ELEMENT amount (#PCDATA) >
<!ELEMENT memo (#PCDATA) >
<!ELEMENT pending EMPTY >
<!ELEMENT void EMPTY >
<!ELEMENT cleared EMPTY >
Las Transciones de Marzo: march.xml
<?xml version=”1.0” encoding=”US-ASCII”?>
<transactions>
<deposit>
<date>04-14-2001</date>
<name>Me</name>
<amount>101.01</amount>
</deposit>
<check number=”2” category=”groceries”>
<date>03-15-2001</date>
<name>Conglomerate Foods</name>
<amount>34.95</amount>
<pending/>
<memo>food</memo>
</check>
<withdrawal>
<date>03-16-2001</date>
<amount>0.34</amount>
</withdrawal>
</transactions>
<?xml version=”1.0” encoding=”US-ASCII”?>
<checkbook>
<transactions>
<deposit>
<date>02-09-2001</date>
<name>Me</name>
<amount>1500.00</amount>
</deposit>
<check number=”90” category=”other”>
<date>02-12-2001</date>
<name>Faberge</name>
<amount>34.95</amount>
<pending/>
<memo>Faberge Eggs</memo>
</check>
<withdrawal>
<date>02-27-2001</date>
<amount>20.00</amount>
</withdrawal>
<check number=”91” category=”rent”>
<date>02-29-2001</date>
<name>Landlord</name>
<amount>1500.00</amount>
<void/>
<memo>February</memo>
</check>
</transactions>
<balance>50000.00</balance>
</checkbook>
<?xml version=”1.0” encoding=”ISO-8859-1” ?>
<xml-java-binding-schema version=”1.0ea”>
<element name=”checkbook” type=”class” root=”true” />
<element name=”transactions” type=”class” root=”true”>
<content>
<choice property=”entries” collection=”list” supertype=”Entry” />
</content>
</element>
<element name=”balance” type=”value” convert=”BigDecimal”/>
<element name=”amount” type=”value” convert=”BigDecimal” />
<element name=”date” type=”value” convert=”TransDate” />
<element name=”deposit” type=”class” >
<attribute name=”category” convert=”DepCategory” />
</element>
<element name=”check” type=”class” >
<content>
<element-ref name=”date”/>
<element-ref name=”name” />
<element-ref name=”amount” />
<choice property=”pend-void-clrd”/>
</content>
<attribute name=”number” convert=”int” />
<attribute name=”category” convert=”CheckCategory” />
</element>
<conversion name=”BigDecimal” type=”java.math.BigDecimal” />
<conversion name=”TransDate” type=”java.util.Date” parse=”TransDate.parseDate”
print=”TransDate.printDate” />
<enumeration name=”DepCategory” members=”salary interest-income other”/>
<enumeration name=”CheckCategory” members=”rent groceries other”/>
<interface name=”Entry” members=”Deposit Check Withdrawal” properties=”date amount” />
</xml-java-binding-schema>