[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Opportunity to teach about namespaces in extensions
Hi folks, As I'm pulling this together, I thought of my own advice to students about creating their own UBL extensions: "Mimic the UBL structure by creating an apex namespace, an aggregate namespace, and a basic namespace. That way you can propose your new constructs to the TC and they'll already be structured the same way as the committee's constructs and they can be slipped in easily." So, I'm proposing that we structure our first standardized extension the same way, so that when people copy what we do, they will have followed this advice and have structured their extensions in such a way that they are following CCTS 2.01 and the UBL way of doing things. I'm writing up the explanation for all of this in the revised Chapter 5 I'm writing for Jon. But ... I want to avoid any push-back later if Security SC members balk at doing this ... I'm hoping you won't object as it follows CCTS 2.01 principles. So, the end result is the instance fragment below, with a namespace for the apex element (mimicking the Document Schema), a namespace for signature aggregates (mimicking the Common Aggregate Schema), and a namespace for signature basics (mimicking the Common Basic Schema). I'm not afraid of namespaces ... users of UBL will already be used to using a number of namespaces ... I think following principles is better than worrying about some extra typing in the apex element start tag. Is anyone going to object to this? I've already started writing the schemas, but I'll await your feedback. If you don't accept using all these namespaces, do you accept violating the CCTS 2.01 principles? Thanks! . . . . . . . . . . Ken ... <ext:UBLExtensions> <ext:UBLExtension> <ext:ExtensionURI>dummy1</ext:ExtensionURI> <ext:ExtensionContent> <dummy1:AnExtension xmlns:dummy1="urn:X-dummy1"> </dummy1:AnExtension> </ext:ExtensionContent> </ext:UBLExtension> <ext:UBLExtension> <ext:ExtensionURI>urn:oasis:names:specification:ubl:profile:dsig:signature</ext:ExtensionURI> <ext:ExtensionContent> <sig:UBLDocumentSignatures xmlns:sig= "urn:oasis:names:specification:ubl:schema:xsd:CommonSignatureComponents-2" xmlns:sac= "urn:oasis:names:specification:ubl:schema:xsd:SignatureAggregateComponents-2" xmlns:sbc= "urn:oasis:names:specification:ubl:schema:xsd:SignatureBasicComponents-2"> <sac:SignatureInformation> <cbc:ID>urn:oasis:names:specification:ubl:signatures:1</cbc:ID> <sbc:ReferencedSignatureID>MyParty</sbc:ReferencedSignatureID> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <Reference URI=""> <Transforms> <Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"> <XPath> count(ancestor-or-self::sig:UBLDocumentSignatures | here()/ancestor::sig:UBLDocumentSignatures[1]) here()/ancestor::sig:UBLDocumentSignatures[1]) > count(ancestor-or-self::sig:UBLDocumentSignatures) </XPath> </Transform> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>XXXXXXXXXXXXXXXX</DigestValue> </Reference> </SignedInfo> <SignatureValue> XXXXXXXXXXXXXXXX </SignatureValue> <KeyInfo> <X509Data> <X509SubjectName> CN=My Name,O=Certification Issuing Company,C=US </X509SubjectName> <X509Certificate> XXXXXXXXXXXXXXXX </X509Certificate> </X509Data> </KeyInfo> </Signature> </sac:SignatureInformation> </sig:UBLDocumentSignatures> </ext:ExtensionContent> </ext:UBLExtension> <ext:UBLExtension> <ext:ExtensionURI>dummy2</ext:ExtensionURI> <ext:ExtensionContent> ... -- XSLT/XQuery training: after http://XMLPrague.cz 2011-03-28/04-01 Vote for your XML training: http://www.CraneSoftwrights.com/o/i/ Crane Softwrights Ltd. http://www.CraneSoftwrights.com/o/ G. Ken Holman mailto:gkholman@CraneSoftwrights.com Male Cancer Awareness Nov'07 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]