- From: Adam Retter <Adam.Retter@landmarkinfo.co.uk>
- Date: Thu, 19 Jun 2008 16:23:22 +0100
- To: "Paul Kiel" <paul@xmlhelpline.com>, "Boris Kolpackov" <boris@codesynthesis.com>, "Koray SAKIROGLU" <koray.sakiroglu@gmail.com>
- Cc: <xmlschema-dev@w3.org>
Thanks for all your help everyone. Paul, your Schema Lightener looks very interesting, but a bit more than I need for this. I think a straight XSLT copy pattern excluding empty xs:sequence nodes should do the trick. Cheers Adam. -----Original Message----- From: Paul Kiel [mailto:paul@xmlhelpline.com] Sent: 19 June 2008 15:16 To: 'Boris Kolpackov'; Adam Retter Cc: xmlschema-dev@w3.org Subject: RE: Purpose of <xs:sequence/> I've seen this happen a lot. If a source has a very large data model and/or schema, they may only want to communicate to a trading partner the data nodes they need to care about. Who wants to wade through a sometimes gigantic schema when you only need to populate a minority of fields? And so the data model removes unneeded data elements from the schema. This leaves empty sequence nodes. Removing unneeded elements from a schema is a common request I have gotten from clients. It has caused me to create a real simple xslt based solution which I call the "schema lightener". It is explained here: http://www.xmlhelpline.com/tools/index.html FWIW, Paul Kiel ===================================================== W. Paul Kiel xmlHelpline.com Consulting paul@xmlhelpline.com work: 919-846-0224 cell: 919-449-8801 website: http://www.xmlhelpline.com Your helpline for data integration solutions. ===================================================== -----Original Message----- From: xmlschema-dev-request@w3.org [mailto:xmlschema-dev-request@w3.org] On Behalf Of Boris Kolpackov Sent: Thursday, June 19, 2008 9:38 AM To: Adam Retter Cc: xmlschema-dev@w3.org Subject: Re: Purpose of <xs:sequence/> Hi Adam, Adam Retter <Adam.Retter@landmarkinfo.co.uk> writes: > <xs:complexType name="Classifier"> > <xs:sequence/> > <xs:attribute name="pid" type="xs:string" use="required"/> > </xs:complexType> Having an empty sequence like this is valid and is equivalent to not having one at all. If the schema is auto-generated then it is easy to see why there are empty sequence elements. The tool probably just adds the sequence element (e.g., in DOM) and then iterates over elements and adds them under it. In cases where there are no elements you end up with an empty sequence. Someone may also want to do this in a manually-created schema to highlight the fact that this is a complex type with empty content (and not just a mistake). Boris -- Boris Kolpackov, Code Synthesis Tools http://codesynthesis.com/~boris/blog Open source XML data binding for C++: http://codesynthesis.com/products/xsd Mobile/embedded validating XML parsing: http://codesynthesis.com/products/xsde Registered Office: 7 Abbey Court, Eagle Way, Sowton, Exeter, Devon, EX2 7HY Registered Number 2892803 Registered in England and Wales This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email The information contained in this e-mail is confidential and may be subject to legal privilege. If you are not the intended recipient, you must not use, copy, distribute or disclose the e-mail or any part of its contents or take any action in reliance on it. If you have received this e-mail in error, please e-mail the sender by replying to this message. All reasonable precautions have been taken to ensure no viruses are present in this e-mail. Landmark Information Group Limited cannot accept responsibility for loss or damage arising from the use of this e-mail or attachments and recommend that you subject these to your virus checking procedures prior to use.
Received on Thursday, 19 June 2008 15:24:04 UTC