UBL Naming and Design Rules SC

Re: [ubl-lcsc] RE: [ubl-ndrsc] Functional Dependency and Normalizationpaper

  • 1.  Re: [ubl-lcsc] RE: [ubl-ndrsc] Functional Dependency and Normalizationpaper

    Posted 09-11-2002 03:11
     MHonArc v2.5.2 -->
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    ubl-ndrsc message

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


    Subject: Re: [ubl-lcsc] RE: [ubl-ndrsc] Functional Dependency and Normalizationpaper


    Title: Re: [ubl-lcsc] RE: [ubl-ndrsc] Functional Dependency and Normalization paper

    Burcham, Bill wrote:
    > I guess I should explain my issue with DTD now.  It isn't DTD per se, as
    > much as it is global element declarations that are the problem.  UBL doesn't
    > use global element declarations (much), so examples that use them end up
    > specifying structures that differ in important ways (from UBL ones). 
    >
    > The particular flavor of the differences plays heck with e.g. our whole
    > container debate. The main issue is that there is no way using element
    > declarations to support reuse of an element in two different content models
    > without incurring an extra level of container. 

      Indeed you can do this kind of modeling using entities. Here's a DTD
    that will allow both RejectedOrderitem and AcceptedOrderItem with a
    common content model and no surrounding container :

    <?xml version="1.0"?>
    <!DOCTYPE ubl [
       <!ENTITY % order.basic.content "(item, quantity)">
       <!ELEMENT ubl (RejectedOrderItem*|AcceptedOrderItem*)>
       <!ELEMENT item     (#PCDATA)>
       <!ELEMENT quantity (#PCDATA)>
       <!ELEMENT order  %order.basic.content;>
       <!ELEMENT RejectedOrderItem (%order.basic.content;, error)>
       <!ELEMENT error (#PCDATA)>
       <!ELEMENT AcceptedOrderItem (%order.basic.content;, status)>
       <!ELEMENT status (#PCDATA)>
    ]>

    This document is then valid :
    <?xml version="1.0"?>
    <!DOCTYPE ubl SYSTEM "ubl.dtd">
    <ubl>
       <RejectedOrderItem>
         <item>..</item>
         <quantity>...</quantity>
         <error>...</error>
       </RejectedOrderItem>
       <AcceptedOrderItem>
         <item>..</item>
         <quantity>...</quantity>
         <status>...</status>
       </AcceptedOrderItem>
    </ubl>

      Thus you can see that by using massively entity declaration (even for
    PCDATA content) you can control your global elements with a DTD.
    Note that however I'm not advocating the use of DTDs for UBL ;-)

            Fabrice
    --
    Fabrice Desr� - FT.BD/FTR&D/DTL/TAL
    T�l: (33) 2 96 05 31 43
    Fax: (33) 2 96 05 39 45



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


    Powered by eList eXpress LLC