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: Re: [ubl-dev] Treasury Tag Pattern: to 'glue' two instances havingdifferent schemas


Stephen:

I may have misunderstood your original message.  The syntax below 
indicated you were looking for a schema level solution.  xs:import is 
meant for importing schema components.  It appears you may be seeking an 
instance mechanism but also worried about how to constrain it via schema. 

Some questions:

How big are the chunks you are trying to glue together?

Are they subject to a validating parse? 

Are they namespace qualified?

Duane

Duane Nickull wrote:

> Stephen:
>
> Have you considered using xs:import?  This is exactly what the W3C 
> developed it for.
>
> <?xml version="1.0" encoding="UTF-8"?>
> ...
> <xs:import 
> namespace="urn:publicid:IDN+cde.foobar.edu:schemas:something:us"; 
>           schemaLocation="http://www.foo.com/someChunkOfUBL.xsd"/>
> <xs:import namespace="http://www.w3.org/1999/xhtml";           
> schemaLocation="http://www.bar.com/anotherChunkOfUBL.xsd"/>
> ...
>
> It would be better to stick with industry supported standards for this 
> since this is widely supported in most parsers like Xerces.
>
> Duane
>
> Stephen Green wrote:
>
>> I note an errata below:
>>
>> The ATG2 SBDH package has a pattern
>> suggesting that the top element (the tag
>> name of the 'Treasury Tag') is called
>> StandardBusinessDocument
>>
>> An example of how part of such a document
>> might look:
>>
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <StandardBusinessDocument
>> xmlns="StandardBusinessDocument"
>> xmlns:xbrli="http://www.xbrl.org/2001/instance"; ...
>> xmlns:gl-cor="http://www.xbrl.org/taxonomy/int/gl/cor/2003-08-29/";
>> ...
>> xmlns:po="urn:oasis:names:specification:ubl:schema:xsd:Order-1.0"
>> ...
>> xsi:schemaLocation="StandardBusinessDocument
>> StandardBusinessDocument.xsd">
>> <!-- not all the various namespaces needed to have been declared here 
>> -->
>> <xbrli:group
>> xmlns:xbrli="http://www.xbrl.org/2001/instance"; ...
>> xmlns:gl-cor="http://www.xbrl.org/taxonomy/int/gl/cor/2003-08-29/";
>> ...
>>  
>>
>> <gl-cor:accountingEntries>
>> ... rest of XBRL-GL ledger document ...
>> </xbrli:group>
>> <po:Order
>> xmlns="urn:oasis:names:specification:ubl:schema:xsd:Order-1.0"
>> ...
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>> xsi:schemaLocation="urn:oasis:names:specification:ubl:schema:xsd:Order-1.0 
>>
>> http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-Order-1.0.xsd";> 
>>
>> <po:SellersID>CON0095678</po:SellersID>
>> ... rest of UBL Order document ...
>> </po:Order>
>> </StandardBusinessDocument>
>>
>>
>> The schema for this StandardBusinessDocument
>> would have the document schemas imported
>> and just the single element and complex type:
>>
>> <xsd:element name="StandardBusinessDocument"
>>   type="StandardBusinessDocumentType"/>
>> <xsd:complexType name="StandardBusinessDocumentType">
>>  <xsd:sequence>
>>    <xsd:element ref="po:Order"/>
>>    <xsd:element ref="xbrli:group"/>
>>  </xsd:sequence>
>> </xsd:complexType>
>>
>>
>> I'd suggest that there are the following reasons
>> for the Treasury Tag / StandardBusinessDocument
>> pattern above:
>>
>> 1.  specifies interface between, say, finance systems
>> 2.  facilitates storage
>> 3.  facilitates processing such as to flat file for legacy systems
>> 4.  facilitates simplicity of specification for interoperability
>>      such as "must use XBRL-GL + UBL + ..."
>>
>>
>> All the best
>>
>> Stephen Green
>>
>>
>>
>> ----- Original Message ----- From: "Stephen Green" 
>> <stephen_green@seventhproject.co.uk>
>> To: <ubl@lists.oasis-open.org>; <ubl-dev@lists.oasis-open.org>
>> Sent: Monday, July 11, 2005 8:49 AM
>> Subject: [ubl-dev] Treasury Tag Pattern: to 'glue' two instances having
>> different schemas
>>
>>
>>  
>>
>>> Regarding the issue of how to bring together a document and data from
>>> another schema (thanks to Duane for the suggestion along the lines 
>>> below):
>>>
>>> I guess what we need is the XML equivalent of a 'treasury tag'.
>>> This treasury tag is then a 'pattern' (in the software design sense)
>>> rather than a specific schema.
>>>
>>> It goes something like this:
>>>
>>> Treasury Tag Pattern
>>> ------------------------
>>>
>>> Requirement: a way to clip together two or more XML documents
>>> so that these can be treated as a single file.
>>>
>>> Structure:
>>> A schema is created with a document top level element. The top level
>>> element can have any name but a suggestion is 'StandardDocument'.
>>> This acts as a container element to one or more elements which
>>> are the document top level elements of the XML files to be contained.
>>> The schema imports the schemas of the contained XML files.
>>>
>>> Consequences:
>>> There is no need to use xsd:any and all data may be associated
>>> with namespaces
>>> This has the following benefits and liabilities -
>>> benefits - data is more easily recognised as being appropriate
>>> liabilities - a schema has to be created for each set of documents
>>> There is also the benefit that the set of documents may be validated
>>> as one.
>>> For storage it may be preferable to remove the containing element
>>> so that each document is stored separately with its own namespace
>>> and types.
>>>
>>>
>>> All the best
>>>
>>> Stephen Green
>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: ubl-dev-unsubscribe@lists.oasis-open.org
>>> For additional commands, e-mail: ubl-dev-help@lists.oasis-open.org
>>>
>>>   
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ubl-dev-unsubscribe@lists.oasis-open.org
>> For additional commands, e-mail: ubl-dev-help@lists.oasis-open.org
>>
>>  
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ubl-dev-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: ubl-dev-help@lists.oasis-open.org
>


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