- From: Robert Koberg <rob@koberg.com>
- Date: Wed, 9 Apr 2003 12:28:44 -0700
- To: <xmlschema-dev@w3.org>
Hi, I am trying to xs:redefine an xs:group from an imported schema, but that group is referenced in an xs:complexType in the imported schema. Basically, what I am trying to do is use the XHTML elements/attributes that I feel would be semantically useful for our content management system clients and then extend those with more things we think are useful for content-piece-instance-documents, but not defined in XHTML. For example, the *imported* schema has the following group of 'block' types of elements/groups defined: <xs:group name="block"> <xs:choice> <xs:element ref="x:P"/> <xs:group ref="x:lists"/> <xs:group ref="x:blocktext"/> <xs:element ref="x:TABLE"/> </xs:choice> </xs:group> This group is further refined by the following complexType in the *imported* schema, like so: <xs:complexType name="Flow" mixed="true"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:group ref="x:block"/> <xs:element ref="x:FORM"/> <xs:group ref="x:inline"/> <xs:group ref="x:edit.inline"/> </xs:choice> </xs:complexType> ------------------- Then in the **importing** schema I redefine the 'block' group by: <xs:redefine schemaLocation="http://localhost:8080/lsb/Schemas/xhtml_modfd.xsd"> <xs:group name="block"> <xs:choice> <xs:group ref="c:lsb_core_blocks"/> <xs:group ref="x:block"/> </xs:choice> </xs:group> </xs:redefine> [[ 'c:lsb_core_blocks' looks something like in the **importing** schema: <xs:group name="lsb_core_blocks"> <xs:choice> ... etc ... <xs:element ref="c:callout"/> <xs:element ref="c:fineprint"/> <xs:element ref="c:tip"/> <xs:element ref="c:title"/> ... etc ... </xs:choice> </xs:group> ]] Also in the **importing** schema I create a 'content-piece-type' for use in our CMS app. This should have an 'article' root element and be able to use the Flow complexType defined in the imported schema, which in turn includes a choice for the redefined 'block' group from the importing schema.... For example: <xs:element name="article"> <xs:complexType mixed="true"> <xs:complexContent mixed="true"> <!-- NOTE: Flow is defined in the imported schema --> <xs:extension base="x:Flow"> <xs:attributeGroup ref="x:coreattrs"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> ------------------------- First, does the above even make sense? If it is, is what I am trying to do appropriate/valid (the schema does validate). The problem is that I can't get the schema to validate an instance document like: <c:article xmlns:c="http://livestoryboard.com/lsb/Schemas/2003/03/content" xmlns="http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1"> <c:title>[ Enter Article Title ]</c:title> <P>[ Enter Article Paragraph ]</P> <c:section> <c:title>[ Enter Section Title ]</c:title> <P>[ Enter Section Paragraph ]</P> </c:section> </c:article> Any hints as to what I am doing wrong, or requests for any helpful information I might be leaving out would be greatly appreciated (my head is swimming in circles, currently...) Thanks in advance, -Rob
Received on Wednesday, 9 April 2003 15:28:50 UTC