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


Help: OASIS Mailing Lists Help | MarkMail Help

ubl-dev message

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

Subject: Re: [ubl-dev] looking for practical examples

At 2009-02-13 07:40 +0000, Stephen Green wrote:
>I'm not entirely OK with the diagram.

Feedback is good ... thanks for this note.

>I had envisiaged something
>more along the lines of augmenting rather than replacing the
>common schemas. I had thought, to meet the cust guidlines we
>requirements, we would suggest people keeping all of the UBL
>OASIS standard schemas intact and adding the custom types in
>additional schema(s).

I thought back in 2006 (2007? 2005?) you and I were unable to 
successfully achieve this with W3C Schema constraint semantics and 
constructs.  I'm supposing from my knowledge of W3C Schema you are 
suggesting we redefine the base constructs with new definitions.

Since we are focused here on subset schemas (extension schemas are in 
different namespaces), wouldn't this require creating a redefining 
schema that redefines all of the changed constructs (which is what 
I'm doing in my replacement schema), and leave all of the unchanged 
(and possibly unused) constructs intact?  And some users may not want 
the unused constructs taking up cycles in their schema processing.

Then the document schema itself would have to change in order to 
import the redefining schemas instead of the original schemas.

When you and I looked at it I thought we could not find any 
convenient, elegant or even fully functional way to cover all the 
bases required for schema subset customization.  I was convinced at 
the time it couldn't be done and haven't looked at it since.

>Then the choice would be whether to put all
>the new elements and types into just one custom schema (which
>imports the UBL common schemas) - with the document element
>as root - or whether, like with the UBL standard schema modules,
>to split the schema into either two or three - either {document plus
>custom basic schema plus custom aggregate schema} or
>{custom document schema plus custom common schema}.

In W3C schema, each fragment can define constructs for only one 
namespace (unlike constraint languages such as RELAX-NG).  We would 
need "parallel" fragments for each fragment ... which is what I 
already have ... but avoiding the complexity of redefinition and 
implemented simply with schema replacement.

I understand other companies with schema subset specification tools 
are also creating replacement schemas.  The difference as I've come 
to understand is that their schema fragments are wholly reconstituted 
from abstract representations, whereas my schema fragments are 
mechanically processed from the OASIS fragments with unused 
constructs simply commented out.  Someone looking into the fragments 
my software produces will actually see the original OASIS constructs 
inside, as I preserve everything that was changed from the original.

I see the use of W3C Schema redefine is not covered in NDR 2.0, 
whereas the schemas my software produce satisfy NDR 2.0 because they 
are using mechanically processed from NDR 2.0 compliant fragments.

>there would need to be a guideline on how to do the imports -
>whether, say, the custom document schema imports everything
>or whether the custom common schema(s) import their respective
>standard schemas and are imported by the custom document

I'm assuming above you mean "how to do the redefines" since the 
importation is based on namespaces.  Though as I said above, there is 
no way for the UBL document schema to import the redefined common 
library schemas without changing the files the import statements 
point to, so again you have to actually touch the document schemas.

I've come to the conclusion in my own work and teaching that fragment 
replacement of NDR 2.0 compliant fragments synthesized from delivered 
UBL 2.0 fragments is easily understood, very robust and has a 
built-in audit trail for anyone "not trusting" the integrity of 
reconstituted schema fragments they may be using.

I would *welcome* a working demonstration of W3C Schema compliant 
fragments that can achieve the redefinition incorporating untouched 
UBL 2.0 fragments ... but that is beyond my ken.  And I would weigh 
the end-user impact of that approach against the approach I've 
described when using my tools ... which would be easiest for them to 
understand and deploy.  I felt if they'd already deployed the UBL 2.0 
fragments, they'd be aware of how to deploy the subset version of the 
UBL 2.0 fragments.

Can anyone on this list demonstrate the use of W3C Schema redefine 
incorporating untouched UBL 2.0 fragments?  Given the industry's lack 
of consistency in the implementation of redefine, would this 
demonstration work across multiple W3C Schema implementations?  (I 
embarrassed myself earlier in the UBL TC work by improperly relying 
on Xerces's and MSV's incorrect and inconsistent behaviours at the 
time for other aspects of UBL)

>Thinking of the possibility of using SET (OASIS SET TC)
>tools for interoperability between custom and standard documents,
>I'd suggest the guidelines might consider how to ensure the design
>provides a consistent data dictionary within the schemas with a
>use case that SET schema to OWL tools can create their OWL
>ontology from the custom schema set (including the standard
>UBL schema set). The aim would be to ensure a set of tools can
>ascertain what impact the customisation might have on any existing
>implementation based on the standard UBL schemas.

Shouldn't that assessment be at a more abstract level?  Shouldn't the 
schema artefacts be simply synthesized from the abstraction?  That is 
what I'm doing with the subset specification in OpenOffice:  one 
deals with that in the spreadsheets and then presses the button to 
get the schemas, which happen to be synthesized by using the original 
schema fragments as input, and conform to NDR 2.0.

Thanks for the discussion, Steve!  I've only just proposed to the UBL 
TC the inclusion of these diagrams, so we'll see how the discussion 
ensues there.  But I welcome more discussion here, especially from 
outsiders trying to understand how they would specify a conformant 
subset of UBL.

And now would be the time for someone to present how to do all of 
this with W3C Schema and untouched UBL 2.0 fragments.  I don't think 
it can be done.

. . . . . . . . Ken

2009/2/12 G. Ken Holman <gkholman@cranesoftwrights.com>:
 > At 2009-02-10 19:13 +0000, Stephen Green wrote:
 >> 1. Create a new document called, say, Inventory - with your own
 >> namespace for the document but import the common schemas so
 >> you can make it almost the same as the UBL Catalogue - just with
 >> a new InventoryLine, like Ken says, which adds StockQuantity or
 >> something like that (and maybe a few more things like that). There
 >> are a few things to make the writing of the schema (like Ken, I too
 >> strongly recommend keeping to a schema - testing the messages
 >> that they are valid by the schema - at design stage at least). You
 >> will want the extra InventoryLine and somewhere to put it in the set
 >> of schemas. Maybe Ken has an opinion on whether to put this
 >> aggregate in the document schema (I guess that breaks the NDR,
 >> Ken) or whether to create not just a custom document schema but
 >> a 'common' schema too: If the latter then maybe both a basic and
 >> an aggregates common schema?
 > Precisely!  The following is a diagram from our training material that we
 > delivered in Australia in January, and is now available as part of the
 > latest edition of our "Practical Universal Business Language Deployment"
 > book (published today!):
 >  http://www.CraneSoftwrights.com/sales/Crane-UBLProfile/#schemasy
 > I'm proposing to the UBL TC that these diagrams be included in the
 > customization guidelines.

Upcoming hands-on XSLT, UBL & code list hands-on training classes:
Brussels, BE 2009-03;  Prague, CZ 2009-03, http://www.xmlprague.cz
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/u/
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/u/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

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