OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Problems on Translating UBL XSD Schema into Relax NG (1/6)


Hi,

I send the report 1/6 about Problems on Translating UBL XSD 
Schema into Relax NG.  The rest of the report will be posted
as soon as it will be translated into English.

-------------------------------------------------------------
Problems on Translating UBL XSD Schema into Relax NG

1. Name of definitions of elements and types

1.1 The UBL Schema Description using XSD
 With W3C XML Schema (XSD), elements and types are defined using
different syntax (element declaration and type definition), and
are referenced by their name and namespace to where they belong.

Codes from UBL-CoreComponentTypes-1.0-beta.xsd
  <xsd:element name="DateTime" type="cct:DateTimeType" />
  <xsd:simpleType name="DateTimeType">
    <xsd:restriction base="xsd:dateTime"/>
  </xsd:simpleType>

1.2 The Description using Relax NG 
1) Problem
 With Relax NG, reusable modules such as elements and types can
be defined using a <define> element which defines a general
named pattern. Named patterns defined elsewhere in the schema
or other are referenced using a <ref> element.

Because a name attribute of <define> and <ref> element which
indicates the named pattern has a value of NCName type,
namespace prefix cannot be specified at a value of the name
attribute. 

2) Solution
 The name of named patterns correspondent to XSD element and type
definition is constructed with concatenating "ubl", Namespace
prefix, and their name with "-" separator.

For example, "ubl-cct-DateTime" is assigned to name of the pattern
correspondent to <DateTime> element declaration with "cct"
namespace prefix, and a name "ubl-cct-DateTimeType" is used for
the definition pattern of "DateTimeType" with "cct" namespace prefix. 

Codes from UBL-CoreComponentTypes-1.0-beta.rng
  <define name="ubl-cct-DateTime">
    <element name="DateTime">
      <ref name="ubl-cct-DateTimeType"/>
    </element>
  </define>
  <define name="ubl-cct-DateTimeType">
    <data type="dateTime"/>
  </define>
  
1.3 Proposal to Relax NG language specification.
 When describing a large schema library using Relax NG, there
is a potential naming conflict within pattern's names. So the
name attribute of <define> and <ref> element can be specified
with QName.

-------------------------------------------------------------



-----
Hiroshi Naito, Osaka Institute of Technology <http://www.oit.ac.jp/>
1-79-1, Kitayama, Hirakata-City, Osaka, 573-0196, Japan
TEL: +81-72-866-5194  FAX: +81-72-866-8499, E-Mail: naitoh@is.oit.ac.jp


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]