W3C home > Mailing lists > Public > xmlschema-dev@w3.org > January 2008

Forcing content according to attribute

From: Papalagi Pakeha <papalagi.pakeha@gmail.com>
Date: Wed, 23 Jan 2008 13:29:22 +1300
Message-ID: <343d1bca0801221629l1402f17bo8825dc9494142b31@mail.gmail.com>
To: xmlschema-dev@w3.org


in our xml documents we use <Attachment> tag to specify, well,
attachments to these documents. something like:

<Attachment type="logo" format="url">http://some.url/logo.jpg</Attachment>
<Attachment type="token" format="inline">U29tZVRoaW5nCg==</Attachment>
<Attachment type="data" format="filename">local.file.bin</Attachment>

Is there any way in XSD to enforce:
- base64 content for format="inline",
- URL content when format="url", and
- non-URL when format="filename"

For now I have:

  <xs:element name="Attachment">
        <xs:extension base="xs:string">
          <xs:attribute name="format" use="required">
              <xs:restriction base="xs:string">
                <xs:enumeration value="inline"/>
                <xs:enumeration value="filename"/>
                <xs:enumeration value="url"/>
          <xs:attribute name="type" use="required">
              <xs:restriction base="xs:string">
                <xs:enumeration value="logo"/>
                <xs:enumeration value="token"/>
                <xs:enumeration value="data"/>

that works well but accepts any "xs:string" for content and not
enforcing URL/non-URL/base64.

can anyone throw some hints on how to achieve the link between format
and content please?


Received on Wednesday, 23 January 2008 04:22:21 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:15:45 UTC