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] Constraining a Schema

Hi,

Another approach is to implement the restriction not by restricting the schema but by restricting the user access to the schema information, if the tool that the users are using allow for that. We implemented such an approach in oXygen XML Editor - the tool we develop - allowing a configuration file to control what elements, attributes and values are presented to the user:

https://www.oxygenxml.com/doc/versions/18/ug-editor/topics/configure-elements-attr-cc-individually.html

For example, something like

<elementProposals path="prolog/metadata" insertElements="keywords" possibleElements="audience keywords"/>

will automatically insert a 'keywords' element inside a 'metadata' element when that is inserted in 'prolog' and then the content completion will intersect the offered proposals with {audience, keywords}, removing all other elements from the proposed list.

And
<elementProposals path="li" rejectElements="image" />
will not propose 'image' inside a list item 'li' element although that may be allowed by the schema or DTD.

We found this very useful as it restricts not what the document may contain, but what a specific the user can insert in the document - a power users may have full access and be able to insert anything while a different user will be able to add only a few elements or attributes.

Best Regards,
George
--
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com

On 8/16/18 12:25 AM, John Dziurlaj wrote:
I am working with a schema that is purposely lax (i.e. it may allow too many occurrences, may contain irrelevant elements, etc.) so that it can handle a broad range of customer scenarios. I now have a customer that wants to constrain the schema such that only a subset of the functionality is available. This subset is expected to validate against its larger parent. I’ve come up with a number of different approaches to handle this:

1. Subset schema using available XML tooling. A standalone derivative
will be produced.
2. Create a new schema, referencing the old one, but derive all the
types by restriction.
3. Use XML Assertions
4. Use Schematron
5. Use CAMV

My preference is to use a XML Schema native approach (1-3), using XSD 1.0 only constructs if possible (1-2), as the actual used XML processor that gets used is outside my control.

Does anyone have ideas on a good approach?

John Dziurlaj

Elections Consultant

Hilton Roscoe LLC
Cell 330-714-8935 Work/Fax 234-706-6434



[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