- From: George Cristian Bina <george@sync.ro>
- Date: Fri, 17 Sep 2004 14:51:58 +0300
- To: Jan Limpens <jan.limpens@gmail.com>
- CC: xmlschema-dev@w3.org
Hi Jan,
> don't know what to do now. I already stole the idea from
> http://www.xmlpatterns.com/ExtensibleContentModelMain.shtml, but as it
> seems this is not working...
That sample seems to be based on an older version of XML Schema, see:
<xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema"
while the current version defines http://www.w3.org/2001/XMLSchema as
the XML Schema namespace.
You probably want something along the lines:
base.xsd:
=========
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://limpens.com/blogbase"
xmlns="http://limpens.com/blogbase" elementFormDefault="qualified">
<xs:element name="BlogInfo">
<xs:complexType>
<xs:sequence>
<xs:element name="BlogTitle" type="xs:string"/>
<xs:element name="BlogDescription" type="xs:string"/>
<xs:element ref="Entry" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="lang" type="xs:language"/>
</xs:complexType>
</xs:element>
<xs:complexType name="EntryType">
<xs:sequence>
<xs:element name="Title"/>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Para" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="lang" type="xs:language"/>
<xs:attribute name="pubdate" type="xs:dateTime"/>
</xs:complexType>
<xs:element name="Entry" type="EntryType"/>
<xs:element name="Blog">
<xs:complexType>
<xs:sequence>
<xs:element ref="BlogInfo"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
derived.xsd
===========
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://limpens.com/blog/illustrationblog"
xmlns="http://limpens.com/blog/illustrationblog"
elementFormDefault="qualified" xmlns:bb="http://limpens.com/blogbase">
<xs:import namespace="http://limpens.com/blogbase"
schemaLocation="base.xsd"/>
<xs:element name="ImageEntry" type="ImageEntryType"/>
<xs:complexType name="ImageEntryType">
<xs:complexContent>
<xs:extension base="bb:EntryType">
<xs:sequence>
<xs:element name="SlideShow">
<xs:complexType>
<xs:sequence>
<xs:element name="Image"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ImageTitle"/>
<xs:element
name="ImageDescription"/>
<xs:element name="ImageUrl"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
sample.xml
==========
<?xml version="1.0" encoding="UTF-8"?>
<ImageEntry xmlns="http://limpens.com/blog/illustrationblog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://limpens.com/blog/illustrationblog
file:/F:/test/derived.xsd">
<Title xmlns="http://limpens.com/blogbase"></Title>
<Body xmlns="http://limpens.com/blogbase">
<Para></Para>
</Body>
<SlideShow>
<Image>
<ImageTitle></ImageTitle>
<ImageDescription></ImageDescription>
<ImageUrl></ImageUrl>
</Image>
</SlideShow>
</ImageEntry>
Hope that helps,
George
-----------------------------------------------
George Cristian Bina
<oXygen/> XML Editor & XSLT Editor/Debugger
http://www.oxygenxml.com
Received on Friday, 17 September 2004 11:50:07 UTC