471,120 Members | 1,489 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,120 software developers and data experts.

XHTML Modularization: Creating XML schema for mixed custom tags andXHTML

Hi,
I am trying to create XML schema of custom markup language, enriched
by XHTML. In simplified version, the XML documet could look like that:

<a:alarm-manual
xmlns:a="alarm-manual"
xmlns:h="http://www.w3.org/1999/xhtml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="alarm-manual alarm-manual.xsd"
>
<h:p>Text ... <a:par-value name="myName"/... text </h:p>
</a:alarm-manual>

In full version, the root element and document structure elements are
from custom namespace, the "formating" elements are from xhtml
namespace, and there are also some inline elements from custom
namespace.

I've tried to create XML Schema based on http://www.w3.org/TR/xhtml-modularization
, however I do not know whether it is correctly done. I have created
two new xsd files:
XML Schema driver: amml.xsd
and custom module definition: amml-module.xsd
(both files see below, of course other XHTML schema files must be
added)

Can someone with better knowledge of XML Schema and/or XHTML
modularization comment it?
Thanks a lot, regards, Martin

<!-- amml.xsd -->
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:amml="alarm-manual"
blockDefault="#all">
<xs:annotation>
<xs:documentation>
This is the XML Schema driver for AMML
</xs:documentation>
</xs:annotation>
<xs:import
namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd">
<xs:annotation>
<xs:documentation>
This import brings in the XML namespace attributes
The XML attributes are used by various modules.
</xs:documentation>
</xs:annotation>
</xs:import>
<!--
<xs:include
schemaLocation="xhtml11.xsd">
<xs:annotation>
<xs:documentation>
Schema that includes original driver for XHTML 1.1
</xs:documentation>
</xs:annotation>
</xs:include>
-->
<xs:redefine
schemaLocation="xhtml11.xsd">
<xs:annotation>
<xs:documentation>
Changes in XHTML 1.1 due to AML
</xs:documentation>
</xs:annotation>
<xs:group name="xhtml.Inline.extra">
<xs:choice>
<xs:group ref="xhtml.Inline.extra"/>
<xs:group ref="amml:amml.par-value.export"/>
</xs:choice>
</xs:group>
</xs:redefine>

<xs:import
namespace="alarm-manual"
schemaLocation="amml-module.xsd">
<xs:annotation>
<xs:documentation>
Document Model module for the AMML
This schema file defines all named models used by AMML
</xs:documentation>
</xs:annotation>
</xs:import>
</xs:schema>

<!-- amml-module.xsd -->
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace="alarm-manual"
xmlns="alarm-manual"
xmlns:html="http://www.w3.org/1999/xhtml"
>
<xs:annotation>
<xs:documentation>
This module defines all elements and attributes of private Alarm
Manual ML.
</xs:documentation>
</xs:annotation>

<!-- alarm-manual element-->
<xs:attributeGroup name="amml.alarm-manual.attlist">
<xs:attribute name="name" type="xs:string"/>
</xs:attributeGroup>
<xs:group name="amml.alarm-manual.content">
<xs:annotation>
<xs:documentation>
The root element of AMML.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group maxOccurs="unbounded" minOccurs="0"
ref="html:xhtml.Flow.mix"/>
</xs:sequence>
</xs:group>
<xs:complexType name="amml.alarm-manual.type">
<xs:group ref="amml.alarm-manual.content"/>
<xs:attributeGroup ref="amml.alarm-manual.attlist"/>
</xs:complexType>

<!-- par-value element-->
<xs:attributeGroup name="amml.par-value.attlist">
<xs:attribute name="name" type="xs:string"/>
</xs:attributeGroup>
<xs:group name="amml.par-value.content">
<xs:sequence/>
</xs:group>
<xs:complexType name="amml.par-value.type">
<xs:group ref="amml.par-value.content"/>
<xs:attributeGroup ref="amml.par-value.attlist"/>
</xs:complexType>

</xs:schema>
Jun 27 '08 #1
0 3199

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Peter Rohleder | last post: by
7 posts views Thread by Biblin | last post: by
82 posts views Thread by Buford Early | last post: by
2 posts views Thread by Joris Janssens | last post: by
12 posts views Thread by Alex D. | last post: by
11 posts views Thread by Kidogg | last post: by
reply views Thread by C.W.Holeman II | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.