XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Processing instruction to designate a schema as subset of another?

And in most cases there would not even be a need to process a second
artifact:


=======================

Instructions corresponding to processing instruction:

<?xml-subset superset-loc="<<url>>" [superset-ns="<<uri>>"]
type="strict | lax"?>

are:


'xml-subset' the schema with this processing instruction constrains XML such
that all so constrained XML instances are also valid instances of a superset
schema

'superset-loc' - a url (or filenpath/filename) resolving to the
location of the superset
schema

'superset-ns' - optional - the namespace of the superset schema (if not supplied
then this is the same as the namespace, if any, of the subset)

'type' - values either 'strict' or 'lax', instructions as follows

A) If type="lax":

In effect (that is the outcome should be the same as doing the following)

1. try to locate superset schema and use it to validate the instance, handling
any errors as if this were the primary schema for the instance but if no schema
could be located then skip this validation step

(It could be an optional processing step to check that the subset is in fact
a true subset of the superset, that is, logically, that every valid instance for
the subset schema is also a valid instance for the superset schema.)

2. if there are no errors from logical step 1) or if step 1) was skipped then
validate document using subset schema (the schema containing this processing
instruction) and handle errors as normal.

A) If type="strict":

Just perform validation according to the subset schema and handle errors as if
this were the primary schema.


========================


So you see that it is a matter of trying to locate the superset schema but there
is no actual dependency on it. In cases where it cannot be located the
PI functions
merely as a note about the intent of the schema as a subset of some other schema
and a reminder that there may be valid instances for the namespace
which are not
valid accoring to the subset schema.


Stephen D Green




> Well 'standalone' is part of the XML declaration; I was thinking of
> a processing instruction (relevant only to a schema) like:-
>
> <?xml-subset superset-loc="http://..."; superset-ns="http://..."; type="strict"?>
>
> where 'superset-loc' would be a url to the location of the superset schema,
> 'superset-ns' would be the namespace of the superset schema (optional,
> without it being the same namespace as the subset) and 'type' would specify
> whether the validation is to allow nodes only found in the superset and not
> in the subset (values perhaps 'strict' and 'lax' for 'don't allow' and
> 'do allow' such nodes respecively).
>
> ---
> Stephen D Green
>
> PS 'xml-subset' is probably not appropriate enough a PI name
> maybe 'xml-subset-schema' a little better
>>
>>
>>
>> 2009/8/27 mozer <xmlizer@gmail.com>:
>>> Do you mean something like standalone="yes/no" ?
>>>
>>> Xmlizer
>>>
>>> On Wed, Aug 26, 2009 at 8:48 PM, Stephen Green<stephengreenubl@gmail.com> wrote:
>>>> Would it be feasible to use a processing instruction at the
>>>> top of an xml schema to designate it as a subset of another
>>>> schema (in the sense Rick Jelliffe recently mentioned on this
>>>> list of all instances valid by the subset schema being also
>>>> valid by the superset schema)? How would one go about
>>>> defining such a processing instruction? Would it have to be
>>>> something like DSDL - via ISO? I noticed Rick's mention of
>>>> the need for specifying a schema and/or namespace as a
>>>> subset of another schema and/or namespace and thought
>>>> maybe the problem could get critical mass of interest sufficient
>>>> to solving it. I have found the problem exists not only when
>>>> the subset schema has a different namespace; it was tricky
>>>> to find a way to define a subset without changing the
>>>> namespace when first working on subsets for the Universal
>>>> Business Language and I think people eventually just wrote
>>>> a second schema with the same namespace but without any
>>>> way other than an accompanying prose spec to show it as
>>>> defining a subset of a superset (the Standard UBL schemas).
>>>>
>>>> Maybe to solve this a processing instruction could be defined
>>>> which specifies within a subset schema that it is a subset of
>>>> schema at location ABC, either same namespace or
>>>> namespace XYZ. There might also need to be a way to tell
>>>> tools (if feasible, I've no idea) that they should either allow
>>>> nodes of just the superset or not when the subset schema is
>>>> given as the schema for the instance. How then to get such
>>>> a PI or set of PIs specified and supported?
>>>>
>>>> Otherwise it might be that one has to stick with prose and/or
>>>> accompanying (test) assertions such as those of Schematron
>>>> or (work-in-progress) OASIS TAG TC's Test Assertion Markup
>>>> Language (shameless plug).
>>>> ---
>>>> Stephen D Green
>>>>
>>>> _______________________________________________________________________
>>>>
>>>> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
>>>> to support XML implementation and development. To minimize
>>>> spam in the archives, you must subscribe before posting.
>>>>
>>>> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
>>>> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
>>>> subscribe: xml-dev-subscribe@lists.xml.org
>>>> List archive: http://lists.xml.org/archives/xml-dev/
>>>> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>>>>
>>>>
>>>
>>
>


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


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS