[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Universal Schema to Validate an Arbitrary Well-Formed Document
Any assistance to the following problem gratefully received. Problem: I require an XML Schema (XSD) which will validate an arbitrary well-formed document as valid. You might call this the universal schema. Why: WSDL v1.1 is closely coupled to XML Schema - I want to provide a WSDL service definition (and hence XSD) which allows that an arbitrary document may be received for a given service/port. There are good reasons why we want to do this. RNG Solution: I've formulated a relatively simple solution to the problem in RelaxNG (provided below). I've looked around and found no documented solution for XML Schema - is this me being stupid? Does this problem have a solution in XML Schema? It seems straightforward to permit an arbitrary document structure below a specified root element but what I want is an arbitrary root element. Thanks in advance Peter Rodgers 1060 NetKernel http://www.1060.org The test document used is: <test/> Freeform RelaxNG ---------------- <?xml version="1.0" encoding="UTF-8"?> <grammar xmlns="http://relaxng.org/ns/structure/1.0"> <start> <ref name="non-null-freeform"/> </start> <define name="non-null-freeform"> <choice> <element> <anyName/> <zeroOrMore> <attribute> <anyName/> </attribute> </zeroOrMore> <ref name="freeform"/> </element> </choice> </define> <define name="freeform"> <zeroOrMore> <choice> <text/> <element> <anyName/> <zeroOrMore> <attribute> <anyName/> </attribute> </zeroOrMore> <ref name="freeform"/> </element> </choice> </zeroOrMore> </define> </grammar> Result: Valid Trang Conversion to XSD ----------------------- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:group name="non-null-freeform"> <xs:sequence> <xs:any processContents="skip"/> </xs:sequence> </xs:group> <xs:group name="freeform"> <xs:sequence> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> </xs:sequence> </xs:group> </xs:schema> Result: Fails to validate "Cannot find the declaration of element 'test'"
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|