[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: The <any/> element: bane of security or savior of versioni

  • From: "Stephen Green" <stephengreenubl@g...>
  • To: "Thomas Lord" <lord@e...>, xml-dev@l...
  • Date: Sat, 20 Oct 2007 18:03:58 +0100

Re:  The <any/> element: bane of security or savior of versioni
In case I got it wrong a bit on the UBL mechanism for versions, in case
anyone wants the most accurate facts about it, I hope G. Ken Holman
doesn't mind if I reference his very up-to-date and timely mailing to UBL's
Technical Committee today about it:


I'm not sure the status of this, I think the UBL TC have agreed the
mechanism at least in principle if not in detail. Hopefully it does more
(using transformations) towards compatibility for minor versions than
a typical major version strategy does when it settles for incomplete

Best regards

Stephen Green

On 20/10/2007, Stephen Green <stephengreenubl@g...> wrote:
> On 20/10/2007, Thomas Lord <lord@e...> wrote:
> ...
> > To make Y the next version of X, we should be obligated to
> > define two transforms:  one that converts X to Y, the other
> > for Y to X.
> Interesting that you are relying here on transformations.
> I may have misinformed about the example of how UBL is tackling
> 'minor versioning': rather than use the 'any' they may be relying
> on transformations but I have kept up with this too well lately.
> Either way, they have considered including transformations in
> the process of validating - either for minor versions (not sure) or
> for 'customized' versions.
> My own thinking is (quite simple I'm afraid) if you need to do
> a transformation at all, either for processing or validating 'version Y'
> rather than/as well as 'version X', then why not just strip out anything
> in the 'any' extension point(s) (schema for A could designate where
> such extension points can be at the top level - schema Y could add
> more but below that top level) first. Then it will let you do both
> validation and processing as if you were just dealing with 'version X'.
> Two transformations at most would separate 'version X' and 'version Y
> extension'.
> Imagination is left to decide what to do with the extensions. For example:
> CDATA them and put them in a convenient string element in 'version X'
> (perhaps one designated for the purpose with foresight in the 'version X'
> schema) or if that doesn't work well maybe comment the extension out
> so it doesn't interfere with validation as for version X or processing, or
> if convenient put it in a separate instance but with a way to where it came
> from of course. None of this requires a major version change (which I'd
> regard as one which loses schema compatibility with the previous version).
> >
> > So, the solution is that programs shouldn't simply check
> > inputs against a schema, if they want an extensible input
> > language.   Rather, programs should first transform inputs
> > to a familiar type, then check those, and optionally transform
> > outputs to some externally requested type.
> So yes I agree that you can avoid problems with versioning if you are willing
> to rely on transformations but
> 1. I don't think that means you have to drop the possibility of such versions
> being 'backwards or forward compatible' with previous versions
> 2. I think it means use of 'any' extension points is even safer because the
> transformation(s) can separate it in some convenient way (just like the
> way email clients separate attachments perhaps but perhaps some more
> standardization of metadata might help make things as easy as SMTP).
> >
> > With that basic rule, one can begin to define very clean
> > ways to handle "unrecognized -- from some future version"
> > fields.   Also, the XML structure of a language is made
> > orthogonal to the versioning of the language:  different
> > versions can have completely different strict schema.
> >
> > -t
> > http://www.dasht-exp-1a.com
> >
> >

Stephen Green

SystML, http://www.systml.co.uk
Tel: +44 (0) 117 9541606

http://www.biblegateway.com/passage/?search=matthew+22:37 .. and voice

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


Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
First Name
Last Name
Subscribe in XML format
RSS 2.0
Atom 0.3

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.

Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.