Mega Code Archive

 
Categories / XML Tutorial / XML Schema
 

Allowing Any Elements or Attributes from a Particular Namespace

File: Data.xml <?xml version="1.0"?> <library xmlns="http://rntsoft.com/ns/library"   xmlns:mkt="http://rntsoft.com/ns/library/mkt">   <book id="b0836217462">     <title>title</title>     <authors>       <person id="CMS">         <name>name</name>       </person>     </authors>     <mkt:cover>Paperback</mkt:cover>     <mkt:pages>128</mkt:pages>   </book> </library> File: Schema.xsd <?xml version="1.0"?> <xs:schema targetNamespace="http://rntsoft.com/ns/library"   elementFormDefault="qualified"   xmlns:xs="http://www.w3.org/2001/XMLSchema"   xmlns="http://rntsoft.com/ns/library">   <xs:element name="library">     <xs:complexType>       <xs:sequence>         <xs:element ref="book" />       </xs:sequence>       <xs:anyAttribute         namespace="http://rntsoft.com/ns/library/mkt"         processContents="skip" />     </xs:complexType>   </xs:element>   <xs:element name="book">     <xs:complexType>       <xs:sequence>         <xs:element name="title" type="xs:string" />         <xs:element name="authors">           <xs:complexType>             <xs:sequence>               <xs:element name="person">                 <xs:complexType>                   <xs:sequence>                     <xs:element name="name"                       type="xs:string" />                   </xs:sequence>                   <xs:attribute name="id"                     type="xs:string" use="required" />                 </xs:complexType>               </xs:element>             </xs:sequence>           </xs:complexType>         </xs:element>         <xs:any namespace="http://rntsoft.com/ns/library/mkt"           processContents="skip" minOccurs="0" maxOccurs="unbounded" />       </xs:sequence>       <xs:attribute name="id" use="required">         <xs:simpleType>           <xs:restriction base="xs:string" />         </xs:simpleType>       </xs:attribute>     </xs:complexType>   </xs:element> </xs:schema>