Stephan H. Wissel wrote:

In the process of getting used to OXF we started using XMLSpy (we use that for XML for a long time already). When editing with XMLSpy it helps to edit the XML given you use an appropriate DTD or xsd schema. Is there a schema for the various parts of OXF, most notably for the XPL available?

Hi Stephan,

OXF 2.5 will ship with W3C schemas for the major types of XML documents you edit while creating an application with OXF. I have attached to this email the schema for XPL. Note that "uri" attribute on the <p:processor> is already defined in the schema, but will only be supported by OXF 2.5.

Alex

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.orbeon.com/oxf/pipeline"; xmlns:p="http://www.orbeon.com/oxf/pipeline"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd";>
    <xs:element name="config">
        <xs:annotation>
            <xs:documentation>XPL root element</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="param" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:attribute name="name" type="xs:string" use="required"/>
                        <xs:attribute name="type" type="xs:string" use="required"/>
                        <xs:attributeGroup ref="p:debug-schema-attributes"/>
                    </xs:complexType>
                </xs:element>
                <xs:group ref="p:statements"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:group name="statement">
        <xs:sequence>
            <xs:choice>
                <xs:element name="processor">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="input" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:any processContents="lax" minOccurs="0"/>
                                    </xs:sequence>
                                    <xs:attribute name="name" type="xs:NCName" use="required"/>
                                    <xs:attribute name="href" type="xs:string" use="optional"/>
                                    <xs:attributeGroup ref="p:debug-schema-attributes"/>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="output" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:any processContents="lax" minOccurs="0"/>
                                    </xs:sequence>
                                    <xs:attribute name="name" type="xs:NCName" use="required"/>
                                    <xs:attribute name="id" type="xs:NCName" use="optional"/>
                                    <xs:attribute name="ref" type="xs:NCName" use="optional"/>
                                    <xs:attributeGroup ref="p:debug-schema-attributes"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                        <xs:attribute name="uri" type="xs:anyURI" use="optional"/>
                        <xs:attribute name="name" type="xs:anyURI" use="optional"/>
                        <xs:attribute name="encapsulation" type="xs:string" use="optional"/>
                    </xs:complexType>
                    <xs:key name="input-name-unique">
                        <xs:selector xpath="p:input"/>
                        <xs:field xpath="@name"/>
                    </xs:key>
                    <xs:key name="outputput-name-unique">
                        <xs:selector xpath="p:output"/>
                        <xs:field xpath="@name"/>
                    </xs:key>
                </xs:element>
                <xs:element name="choose">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="when" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:group ref="p:statements"/>
                                    <xs:attribute name="test" type="xs:string" use="required"/>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="otherwise" minOccurs="0">
                                <xs:complexType>
                                    <xs:group ref="p:statements"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                        <xs:attribute name="href" type="xs:string" use="required"/>
                        <xs:attributeGroup ref="p:debug-schema-attributes"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="for-each">
                    <xs:complexType>
                        <xs:group ref="p:statements"/>
                        <xs:attribute name="href" type="xs:string" use="required"/>
                        <xs:attribute name="select" type="xs:string" use="required"/>
                        <xs:attribute name="id" type="xs:NCName" use="optional"/>
                        <xs:attribute name="ref" type="xs:NCName" use="optional"/>
                        <xs:attribute name="root" type="xs:QName" use="optional"/>
                        <xs:attribute name="input-debug" type="xs:string" use="optional"/>
                        <xs:attribute name="output-debug" type="xs:string" use="optional"/>
                    </xs:complexType>
                </xs:element>
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:group name="statements">
        <xs:sequence>
            <xs:group ref="p:statement" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:attributeGroup name="debug-schema-attributes">
        <xs:attribute name="debug" type="xs:string" use="optional"/>
        <xs:attribute name="schema-href" type="xs:anyURI" use="optional"/>
        <xs:attribute name="schema-uri" type="xs:anyURI" use="optional"/>
    </xs:attributeGroup>
</xs:schema>
_______________________________________________
oxf-users mailing list
[EMAIL PROTECTED]
http://mail.orbeon.com/mailman/listinfo/oxf-users

Reply via email to