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: CCP Schema Action Item: Fwd: [ubl] Altova problem


Greetings

My action item was to look into how to fix the Core Components Parameters Schema
problem. Attached is the original report from Altova identifying the problem and it does
indicate that the missing Defintion elements in UBL 1.0 were in the codelist schema CCTS 
metadata documentation areas. The 2.0 spreadsheets do contain the Definition data
so the solution appears to be to ensure that the data is included by the generator in the
2.0 codelist schemas as populated Defintion elements. Peter's recently mailed schemas
did not include documentation (xsdrt schemas) so I couldn't check whether the
generator does this already. I notice, though, that the schemas Peter sent do import the
CCP schemas and the Atlantic meeting this week seemed to conclude that this has to be
changed too.

To summarise:

The generator tool should
1. ensure that the ccts:Definition elements are included in all the schemas (including the
codelist schemas) in 2.0 - the data should be found in the QDT spreadsheet
2. no longer import the CCP schema into the other UBL schemas but still include the
CCP schema in the output package (updated CCP schema attached).

All the best

Steve
--- Begin Message ---
Forwarded with permission.  Comments by mail to the list, please.

Jon

==================================================================

Date: Tue, 20 Sep 2005 15:20:08 -0400
From: Alexander Falk <al@altova.com>
Subject: UBL and XMLSpy 2006
To: Jon.Bosak@sun.com

Hi Jon:

I've worked with our CTO and development team on the integration of UBL
1.0 and the UBL SBS in XMLSpy 2006, and we've found an interesting
problem:

Our core validation engine has received a couple of improvements for the
new product version, one of which is improved processing of <xs:any
processContents="lax"/> cases in XML Schema. This was added due to
customer feedback. The specification says this: "If the item has a
uniquely determined declaration available, it must be valid with respect
to that definition, that is, validate if you can, don't worry if you
can't.". The new validation core in XMLSpy 2006 does, therefore, now
validate these cases properly even if they occur inside an XML Schema
document.

As a result, XMLSpy now considers the original UBL 1.0 schema to be
invalid. The problem is that inside the schema file
UBL-CoreComponentParameters-1.0.xsd inside the definition of
<xsd:complexType name="ComponentType"> the <xsd:element
ref="Definition"/> is lacking a  minOccurs="0". If you look at various
other schemas in the UBL family, e.g.
UBL-CodeList-AcknowledgementResponseCode-1.0, you will see that it uses
the ccts:ComponentType complexType in the following ccts:Component
element:

		<xsd:annotation>
			<xsd:documentation>
				<ccts:Component>
	
<ccts:ComponentType>DT</ccts:ComponentType>
	
<ccts:DictionaryEntryName>Acknowledgement Response_ Code.
Type</ccts:DictionaryEntryName>
	
<ccts:RepresentationTerm>Code</ccts:RepresentationTerm>
	
<ccts:DataTypeQualifier>Acknowledgement
Response</ccts:DataTypeQualifier>
					<ccts:DataType>Code.
Type</ccts:DataType>
				</ccts:Component>
				... snip ...
			</xsd:documentation>
		</xsd:annotation>

As you can see, the <ccts:Definition> element is missing inside the
<ccts:Component>, and thus this fragment is not valid with respect to
the current UBL-CoreComponentParameters-1.0.xsd definition. Since the
<ccts:Component> element is lacking a <ccts:Definition> element in most
other cases, I believe the correct fix for this error is to change the
definition of <xsd:complexType name="ComponentType"> in the schema file
UBL-CoreComponentParameters-1.0.xsd to make the <ccts:Definition>
element optional:

		<xsd:element ref="Definition" minOccurs="0"/>

Making this change makes the entire UBL schema valid again.

This issue will probably delay the integration of UBL with XMLSpy, as we
are just 2 weeks away from the ship-date. I'll keep you posted as we
learn more. Also, if you have any feedback regarding the above issue,
please let me know. Thanks!

Best regards,

Alexander

.. Alexander Falk
.. President & CEO
.. Altova, Inc.

---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  You may a link to this group and all your TCs in OASIS
at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 

--- End Message ---
<?xml version="1.0" encoding="UTF-8"?>

<!--  
  Document Type:     CoreComponentParameters
  Hand Edited On:    Friday 25th Nov 2005
-->

<!-- ===== xsd:schema Element With Namespaces Declarations ===== -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
    targetNamespace="urn:oasis:names:draft:ubl:schema:xsd:CoreComponentParameters-2" 
    xmlns="urn:oasis:names:draft:ubl:schema:xsd:CoreComponentParameters-2" 
    xmlns:ccts="urn:oasis:names:draft:ubl:schema:xsd:CoreComponentParameters-2" 
    elementFormDefault="qualified" 
    attributeFormDefault="unqualified" 
    version="2.0">
    
<!-- ===== Element Declarations ===== -->
    <xsd:element name="Component" type="ComponentType"/>
    <xsd:element name="Context" type="ContextType"/>
    <xsd:element name="Contextualization" type="ContextualizationType"/>
    <xsd:element name="Instance" type="InstanceType"/>

    <xsd:element name="DictionaryEntryName" type="xsd:normalizedString"/>
    <xsd:element name="Version" type="xsd:normalizedString"/>
    <xsd:element name="ObjectClassQualifier" type="xsd:normalizedString"/>
    <xsd:element name="ObjectClass" type="xsd:normalizedString"/>
    <xsd:element name="PropertyTermQualifier" type="xsd:normalizedString"/>
    <xsd:element name="PropertyTermPossessiveNoun" type="xsd:normalizedString"/>
    <xsd:element name="PropertyTermPrimaryNoun" type="xsd:normalizedString"/>
    <xsd:element name="PropertyTerm" type="xsd:normalizedString"/>
    <xsd:element name="RepresentationTerm" type="xsd:normalizedString"/>
    <xsd:element name="DataTypeQualifier" type="xsd:normalizedString"/>
    <xsd:element name="DataType" type="xsd:normalizedString"/>
    <xsd:element name="AssociatedObjectClassQualifier" type="xsd:normalizedString"/>
    <xsd:element name="AssociatedObjectClass" type="xsd:normalizedString"/>
    <xsd:element name="AlternativeBusinessTerms" type="xsd:normalizedString"/>
    <xsd:element name="ComponentType" type="xsd:normalizedString"/>
    <xsd:element name="Cardinality" type="xsd:normalizedString"/>
    <xsd:element name="Definition" type="xsd:string"/>
    <xsd:element name="Examples" type="xsd:string"/>
    <xsd:element name="PrimitiveType" type="xsd:string"/>
    <xsd:element name="PossibleValue" type="xsd:string"/>

    <xsd:element name="Name" type="xsd:string"/>
    <xsd:element name="CodeListID" type="xsd:normalizedString"/>
    <xsd:element name="CodeListAgencyID" type="xsd:normalizedString"/>
    <xsd:element name="CodeListAgencyName" type="xsd:string"/>
    <xsd:element name="CodeListName" type="xsd:string"/>
    <xsd:element name="CodeListVersionID" type="xsd:normalizedString"/>
    <xsd:element name="CodeListURI" type="xsd:anyURI"/>
    <xsd:element name="CodeListSchemeURI" type="xsd:anyURI"/>
    <xsd:element name="LanguageID" type="xsd:language"/>

    <xsd:element name="IndustryClassification" type="xsd:string"/>
    <xsd:element name="Geopolitical" type="xsd:string"/>
    <xsd:element name="BusinessProcess" type="xsd:string"/>
    <xsd:element name="OfficialConstraint" type="xsd:string"/>
    <xsd:element name="ProductClassification" type="xsd:string"/>
    <xsd:element name="BusinessProcessRole" type="xsd:string"/>
    <xsd:element name="SupportingRole" type="xsd:string"/>
    <xsd:element name="SystemCapability" type="xsd:string"/>

    <xsd:element name="ContentComponentRestriction" type="ContentComponentRestrictionType"/>
    <xsd:element name="RestrictionType" type="xsd:string"/>
    <xsd:element name="RestrictionValue" type="xsd:string"/>
    <xsd:element name="ExpressionType" type="xsd:string"/>

<!-- ===== Type Definitions ===== -->
    <xsd:complexType name="ComponentType">
        <xsd:sequence>
            <xsd:element ref="ComponentType" minOccurs="1" maxOccurs="1"/>
            <xsd:element ref="DictionaryEntryName" minOccurs="1" maxOccurs="1"/>
            <xsd:element ref="Version" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="Definition" minOccurs="1" maxOccurs="1"/>
            <xsd:element ref="Cardinality" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="ObjectClassQualifier" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="ObjectClass" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="PropertyTermQualifier" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="PropertyTermPossessiveNoun" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="PropertyTermPrimaryNoun" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="PropertyTerm" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="RepresentationTerm" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="DataTypeQualifier" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="DataType" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="AssociatedObjectClassQualifier" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="AssociatedObjectClass" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="AlternativeBusinessTerms" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="Examples" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="PrimitiveType" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="PossibleValue" minOccurs="0" maxOccurs="1"/>
      	<xsd:element ref="ContentComponentRestriction" minOccurs="0" maxOccurs="unbounded"/>
      	<xsd:element ref="RestrictionValue" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ContextType">
        <xsd:sequence>
            <xsd:element ref="IndustryClassification" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="Geopolitical" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="BusinessProcess" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="OfficialConstraint" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="ProductClassification" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="BusinessProcessRole" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="SupportingRole" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="SystemCapability" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ContextualizationType">
        <xsd:sequence>
            <xsd:element ref="Context" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="InstanceType">
        <xsd:sequence>
        <xsd:element ref="Name" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="CodeListID" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="CodeListAgencyID" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="CodeListAgencyName" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="CodeListName" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="CodeListVersionID" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="CodeListURI" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="CodeListSchemeURI" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="LanguageID" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ContentComponentRestrictionType">
	    <xsd:sequence>
		    <xsd:element ref="RestrictionType"/>
		    <xsd:element ref="RestrictionValue" maxOccurs="unbounded"/>
		    <xsd:element ref="ExpressionType" minOccurs="0"/>
	    </xsd:sequence>
    </xsd:complexType>
</xsd:schema>

<!-- ===== Copyright Notice ===== -->
<!--
  OASIS takes no position regarding the validity or scope of any 
  intellectual property or other rights that might be claimed to pertain 
  to the implementation or use of the technology described in this 
  document or the extent to which any license under such rights 
  might or might not be available; neither does it represent that it has 
  made any effort to identify any such rights. Information on OASIS's 
  procedures with respect to rights in OASIS specifications can be 
  found at the OASIS website. Copies of claims of rights made 
  available for publication and any assurances of licenses to be made 
  available, or the result of an attempt made to obtain a general 
  license or permission for the use of such proprietary rights by 
  implementors or users of this specification, can be obtained from 
  the OASIS Executive Director.

  OASIS invites any interested party to bring to its attention any 
  copyrights, patents or patent applications, or other proprietary 
  rights which may cover technology that may be required to 
  implement this specification. Please address the information to the 
  OASIS Executive Director.
  
  Copyright (C) OASIS Open 2001-2005. All Rights Reserved.

  This document and translations of it may be copied and furnished to 
  others, and derivative works that comment on or otherwise explain 
  it or assist in its implementation may be prepared, copied, 
  published and distributed, in whole or in part, without restriction of 
  any kind, provided that the above copyright notice and this 
  paragraph are included on all such copies and derivative works. 
  However, this document itself may not be modified in any way, 
  such as by removing the copyright notice or references to OASIS, 
  except as needed for the purpose of developing OASIS 
  specifications, in which case the procedures for copyrights defined 
  in the OASIS Intellectual Property Rights document must be 
  followed, or as required to translate it into languages other than 
  English. 

  The limited permissions granted above are perpetual and will not be 
  revoked by OASIS or its successors or assigns. 

  This document and the information contained herein is provided on 
  an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, 
  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY 
  WARRANTY THAT THE USE OF THE INFORMATION HEREIN 
  WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 
  WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A 
  PARTICULAR PURPOSE.
-->


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