An XML Schema Document Using Named Type Definitions : Salami Slice « XML Schema « XML Tutorial






<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified"
  targetNamespace="http://www.java2s.com/namespaces/pub"
  xmlns="http://www.java2s.com/namespaces/pub">

  <xsd:simpleType name="isbnType">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="[0-9]{10}" />
    </xsd:restriction>
  </xsd:simpleType>

  <xsd:complexType name="pubType">
    <xsd:sequence>
      <xsd:element ref="book" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="bookType">
    <xsd:sequence>
      <xsd:element ref="title" />
      <xsd:element ref="author" />
      <xsd:element ref="description" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:element name="publications" type="pubType" />
  <xsd:element name="book" type="bookType" maxOccurs="unbounded" />
  <xsd:element name="title" type="xsd:string" />
  <xsd:element name="author" type="xsd:string" />
  <xsd:element name="description" type="xsd:string" />
</xsd:schema>








3.98.Salami Slice
3.98.1.Salami Slice design Define global element declarations that are later referenced.
3.98.2.An XML Schema Document Using Named Type Definitions
3.98.3.Schema reuse
3.98.4.how XML Schema allows us to re-use names, and give them different content models.
3.98.5.extend the complex type that we have defined, creating new types for Customer and Employee:
3.98.6.Re-use in Text-only Element Content Models