[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Description of implemented extension constructs for NDR consideration
At 2006-07-17 22:06 -0400, I wrote:
>At 2006-07-17 14:13 -0700, jon.bosak@sun.com wrote:
>>URGENT NDR ISSUES
>>...
>> There are some other issues that may profitably be discussed
>> depending on call participation. As far as I know, none of
>> them impact PRD2.
>
>SW: GEFEG needs major update to NDR regarding extensions.
>
>ACTION: GKH to post prose for consideration by
>NDR editors to reflect decisions resulting in the existing schemas.
The sanity check for PRD2 posted here:
<http://lists.oasis-open.org/archives/ubl/200607/msg00087.html>http://lists.oasis-open.org/archives/ubl/200607/msg00087.html
and revised schema expressions posted 2006-07-18 at 2130z here:
http://lists.oasis-open.org/archives/ubl/200607/msg00098.html
both incorporate extension constructs that have
been accepted by some committee members who have
previewed their implementation.
That extensions are allowed in UBL documents is specified in NDR 2006-07-12:
<http://lists.oasis-open.org/archives/ubl/200607/msg00055.html>http://lists.oasis-open.org/archives/ubl/200607/msg00055.html
but in the development of the implementation some
changes were made to accommodate requirements.
Rule ELD12 states that the first optional child
of every UBL document element must be
<UBLExtensions>. Note that the rule must be
edited for the plural instead of the
singular. Note also that the element is in the
namespace
"urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
and for documentary purposes uses the namespace
prefix "ext", so the name in the sample instances is <ext:UBLExtensions>.
To incorporate the extension declarations into
each document model, each document XSD file must
import the newly-created
common/UBL-CommonExtensionComponents-2.0.xsd
common XSD fragment describing the metadata
associated with the extension information found
in a UBL instance. This fragment in turn
includes the newly-created
common/UBL-ExtensionContentDatatype-2.0.xsd
common XSD fragment describing the content of the
extension information found in a UBL instance.
Note that with the recent introduction of
extension metadata to the design discussions, the
extension element that now has the unconstrained
content is named <ext:ExtensionContent> ...
therefore the NDR rule GXS14 needs to be modified
such that the complex type named
ExtensionContentType (defined in
UBL-ExtensionContentDatatype-2.0.xsd) is the
exception and not the name currently stated in the NDR document.
The
xsd/common/UBL-CommonExtensionComponents-2.0.xsd
includes documentation for each of the extension
metadata constructs, contributed by a TC member. All metadata is optional.
As the rule ELD12 already covers the presence and
cardinality of the UBLExtensions element, the
remainder of the declarations are all
self-contained in the schema fragments. I don't
believe it is required to spell out in sentences
how to create the schema fragment since it is
self-contained and unchanged by the document
models; including the text of the two fragments
in normative annexes of the NDR document is probably sufficient.
Below is an example instance showing the presence
of two extensions in a single UBL instance, each
with fully populated metadata (though with nonsensical values):
<?xml version="1.0"?>
<Invoice
xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2"
xmlns:ccts="urn:oasis:names:specification:ubl:schema:xsd:CoreComponentParameters-2"
xmlns:stat="urn:oasis:names:specification:ubl:schema:xsd:DocumentStatusCode-1.0"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2"
xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<ext:UBLExtensions>
<ext:UBLExtension>
<cbc:ID>E1</cbc:ID>
<cbc:Name>N1</cbc:Name>
<ext:ExtensionAgencyID>EAI1</ext:ExtensionAgencyID>
<ext:ExtensionAgencyName>EAN1</ext:ExtensionAgencyName>
<ext:ExtensionAgencyURI>EAU1</ext:ExtensionAgencyURI>
<ext:ExtensionURI>urn:x-crane:example</ext:ExtensionURI>
<ext:ExtensionReasonCode>OPT</ext:ExtensionReasonCode>
<ext:ExtensionReason>Crane legacy invoice
material</ext:ExtensionReason>
<ext:ExtensionContent>
<crane:LegacyExtension xmlns:crane="urn:x-crane:example">
...legacy invoice stuff...
</crane:LegacyExtension>
</ext:ExtensionContent>
</ext:UBLExtension>
<ext:UBLExtension>
<cbc:ID>E2</cbc:ID>
<cbc:Name>N2</cbc:Name>
<ext:ExtensionAgencyID>EAI2</ext:ExtensionAgencyID>
<ext:ExtensionAgencyName>EAN2</ext:ExtensionAgencyName>
<ext:ExtensionAgencyURI>EAU2</ext:ExtensionAgencyURI>
<ext:ExtensionURI>urn:x-nes:example</ext:ExtensionURI>
<ext:ExtensionReasonCode>MAN</ext:ExtensionReasonCode>
<ext:ExtensionReason>NES invoice material</ext:ExtensionReason>
<ext:ExtensionContent>
<nes:InvoiceExtension xmlns:nes="urn:x-nes:example">
...NES invoice stuff...
</nes:InvoiceExtension>
</ext:ExtensionContent>
</ext:UBLExtension>
</ext:UBLExtensions>
<cbc:UBLVersionID>2.0-prd2</cbc:UBLVersionID>
...
What more information would NDR editors like to
have regarding how these extensions are
incorporated in UBL with NDR rules? I'm anxious
to help, but not sure what more is needed to tie
what has been done with the set of rules that
governs what is created in schemas by NDR rules
... thankfully, there is only one extension
point, and it has little impact on rules to create schemas.
I hope this helps ... please let me know if you have any questions.
. . . . . . . . . . . . Ken
--
Registration open for UBL training: Montr�al, Canada 2006-08-07
Also for XSL-FO/XSLT training: Minneapolis, MN 2006-07-31/08-04
Also for UBL/XML/XSLT/XSL-FO training: Varo,Denmark 06-09-25/10-06
World-wide corporate, govt. & user group UBL, XSL, & XML training.
G. Ken Holman mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/o/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
Male Cancer Awareness Aug'05 http://www.CraneSoftwrights.com/o/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]