xml editor

Products

Features

  EPUB
Supported platforms

Supports Windows 7 & Mac OS X Lion

Ready for XML Editor data server software
W3C Member

Specify different Use attribute of SimpleType when inherited?

This should cover W3C XML Schema, Relax NG and DTD related problems.

Specify different Use attribute of SimpleType when inherited?

Postby gss » Mon Nov 14, 2011 10:50 pm

First, I am evaluating OxygenXML and so far have found it to be a very good, capable xml and xml schema development tool. Thank you!

That said, I am also relatively new to xml schemas, their syntax and capabilities for describing a particular xml syntax. So, given this example schema code:

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:complexType name="BaseElementType">
        <xs:attribute name="Attr1" type="xs:string" use="required"/>
        <xs:attribute name="Attr2" type="xs:unsignedByte" use="optional"/>
        <xs:attribute name="Attr3" type="xs:unsignedShort" use="optional"/>
    </xs:complexType>
    <xs:element name="Element1" type="BaseElementType">
        <xs:annotation>
            <xs:documentation>
                This element uses the base element attributes as specified, where Attr1
                is a required attribute, but Attr2 and Attr3 are optional.
            </xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="Element2" type="BaseElementType">
        <xs:annotation>
            <xs:documentation>
                This element uses the base element attributes but for this element I
                want Attr2 to be a required attribute.
            </xs:documentation>
        </xs:annotation>
    </xs:element>
</xs:schema>


I am wondering how to achieve what I asked for in the annotation for Element2 in the code?

Thanks in advance for any help with this!
gss
 
Posts: 2
Joined: Mon Nov 14, 2011 9:16 pm

Re: Specify different Use attribute of SimpleType when inherited?

Postby george » Tue Nov 15, 2011 12:02 am

One possibility is to define a new type that restricts the base type making that attribute required and then use that for the second element:

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:complexType name="BaseElementType">
        <xs:attribute name="Attr1" type="xs:string" use="required"/>
        <xs:attribute name="Attr2" type="xs:unsignedByte" use="optional"/>
        <xs:attribute name="Attr3" type="xs:unsignedShort" use="optional"/>
    </xs:complexType>
    <xs:element name="Element1" type="BaseElementType">
        <xs:annotation>
            <xs:documentation>
                This element uses the base element attributes as specified, where Attr1
                is a required attribute, but Attr2 and Attr3 are optional.
            </xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:complexType name="BaseElementType2">
        <xs:complexContent>
            <xs:restriction base="BaseElementType">
                <xs:attribute name="Attr2" type="xs:unsignedByte" use="required"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="Element2" type="BaseElementType2">
        <xs:annotation>
            <xs:documentation>
                This element uses the base element attributes but for this element I
                want Attr2 to be a required attribute.
            </xs:documentation>
        </xs:annotation>
    </xs:element>
</xs:schema>


Best Regards,
George
George Cristian Bina
george
Site Admin
 
Posts: 2033
Joined: Thu Jan 09, 2003 2:58 pm

Re: Specify different Use attribute of SimpleType when inherited?

Postby gss » Tue Nov 15, 2011 2:24 am

George, thanks for the very quick response. What you suggested works well. Thank you!

I may ask additional questions in other areas as I hit road blocks, so I hope your tolerance for a beginning schema developer is set high! :-)
gss
 
Posts: 2
Joined: Mon Nov 14, 2011 9:16 pm


Return to XML Schemas

Who is online

Users browsing this forum: No registered users and 1 guest

XML Editor | XML Author | WYSIWYG Editors | Schema Editor | XSD Documentation | XSL/XSLT Editor | XQuery | XML Databases | SVN Client
© 2002-2011 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy | This website was created & generated with <oXygen/>® XML Editor