[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...>
  • Date: Sat, 20 Oct 2007 10:59:20 +0100

Re:  The <any/> element: bane of security or savior of versioni
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

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.