Weitere ähnliche Inhalte Mehr von Carlos Castillo (ChaTo) (20) XML Schema1. XML Schema Carlos Castillo [email_address] Departamento de Ciencias de la Computacion Facultad de Ciencias Fisicas y Matematicas Universidad de Chile 8. Ejemplo simple XML Schema <?xml version="1.0"?> <xsd: schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.example.com" targetNamespace="http://www.example.com" elementFormDefault="qualified"> <xsd: element name ="note"> <xsd: complexType > <xsd: sequence > <xsd:element name="to" type ="xsd:string"/> <xsd:element name="from" type="xsd:string"/> <xsd:element name="heading" type="xsd:string"/> <xsd:element name="body" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> note.xsd 9. Ejemplo simple XML Schema + doc. <xsd:element name="note"> <xsd:complexType> <xsd:sequence> <xsd:element name="to" type="xsd:string"/> <xsd:element name="from" type="xsd:string"/> <xsd:element name="heading" type="xsd:string"/> <xsd:element name="body" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element note.xsd <?xml version=”1.0”?> <note> < to >Juan</ to > < from >Miguel</ from > < heading >Llama a X</ heading > < body >X te busca urgente</ body > </note> note.xml 10. XML Schema v/s DTD, 1/2 <xsd:element name="note"> <xsd:complexType> <xsd:sequence> <xsd:element name="to" type="xsd:string"/> <xsd:element name="from" type="xsd:string"/> <xsd:element name="heading" type="xsd:string"/> <xsd:element name="body" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element note.xsd <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> note.dtd 11. XML Schema v/s DTD, 2/2 <xsd:element name="note"> <xsd:complexType> <xsd:sequence> <xsd:element name="to" type="xsd:string"/> <xsd:element name="priority" type=" xsd:integer "/> <xsd:element name="heading"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="body" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> note2.xsd <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT priority ( #PCDATA )> <!ELEMENT heading ( #PCDATA )> <!ELEMENT body (#PCDATA)> note2.dtd 12. Orden de compra <?xml version="1.0"?> <purchaseOrder orderDate="1999-10-20"> <shipTo country="US"> <name>Alice Smith</name> <street>12 Maple Street</street> <city>Mill Valley</city> <state>CA</state> <zip>90952</zip> </shipTo> <billTo country="US"> <name>Robert Smith</name> <street>8 Oak Avenue</street> <city>Old Town</city> <state>PA</state> <zip>95819</zip> </billTo> <comment>Hurry, my lawn is going wild!</comment> <items> <item partNum="872-AA"> < productName >Lawnmower</productName> <quantity>1</quantity> <USPrice>148.95</USPrice> <comment>Confirm this is electric</comment> </item> <item partNum="926-AA"> <productName>Baby Monitor</productName> <quantity>1</quantity> <USPrice>39.98</USPrice> <shipDate>1999-05-21</shipDate> </item> </items> </purchaseOrder> orden_compra.xml 13. Orden de compra (tipos dato) <?xml version="1.0"?> <purchaseOrder orderDate=" 1999-10-20 "> <shipTo country=" US "> <name>Alice Smith</name> <street>12 Maple Street</street> <city>Mill Valley</city> <state> CA </state> <zip> 90952 </zip> </shipTo> <billTo country="US"> <name>Robert Smith</name> <street>8 Oak Avenue</street> <city>Old Town</city> <state>PA</state> <zip>95819</zip> </billTo> <comment>Hurry, my lawn is going wild!</comment> <items> <item partNum=" 872-AA "> < productName >Lawn mower</productName> <quantity> 2 </quantity> <USPrice> 148.95 </USPrice> <comment>Confirm this is electric</comment> </item> <item partNum="926-AA"> <productName>Baby Monitor</productName> <quantity>1</quantity> <USPrice>39.98</USPrice> <shipDate>1999-05-21</shipDate> </item> </items> </purchaseOrder> orden_compra.xml 14. XML Schema 1/3 <schema xmlns=" http://www.w3.org/2001/XMLSchema "> <annotation> <documentation xml:lang="en"> Purchase order schema for Example.com. Copyright 2000 Example.com. All rights reserved. </documentation> </annotation> <element name="purchaseOrder" type="PurchaseOrderType"/> <!-- Tipo complejo --> <complexType name="PurchaseOrderType"> <sequence> <element name="shipTo" type="USAddress"/> <element name="billTo" type="USAddress"/> <element ref="comment" minOccurs="0"/> <element name="items" type="Items"/> </sequence> <attribute name="orderDate" type="date"/> </complexType> 15. XML Schema 2/3 <!-- Tipo complejo --> <complexType name="USAddress"> <sequence> <element name="name" type="string"/> <element name="street" type="string"/> <element name="city" type="string"/> <element name="state" type="string"/> <element name="zip" type="decimal"/> </sequence> <attribute name="country" type="NMTOKEN" fixed="US"/> </complexType> <!-- Tipo simple --> <simpleType name="SKU"> <restriction base="string"> <pattern value="{3}-[A-Z]{2}"/> </restriction> </simpleType> <!-- Elemento --> <element name="comment" type="string"/> 16. XML Schema Ej (3) <complexType name="Items"> <sequence> <element name="item" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="productName" type="string"/> <element name="quantity"> <simpleType> <restriction base="positiveInteger"> <maxExclusive value="100"/> </restriction> </simpleType> </element> <element name="USPrice" type="decimal"/> <element ref="comment" minOccurs="0"/> <element name="shipDate" type="date" minOccurs="0"/> </sequence> <attribute name="partNum" type="SKU" use="required"/> </complexType> </element> </sequence> </complexType> </schema>