OASIS Universal Business Language (UBL) TC

 View Only

CCP Schema Action Item: Fwd: [ubl] Altova problem

  • 1.  CCP Schema Action Item: Fwd: [ubl] Altova problem

    Posted 11-25-2005 11:47
     MHonArc v2.5.0b2 -->
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    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]