Hi
I'm new to this, so apologies for the basic question relating to a basic problem
I've just hit my first problem with name collisions and I'm not having much luck. I'm trying to generate classes for the servlet schema web-app_2_3.xsd and I get errors with class/interface use.
I've written a bindings file in order to circumnavigate the name collisions but keep getting the same error when using the bindings - 'premature end of file' - and it looks OK to me.
I would be very grateful if someone could cast a quick eye over this and point out my shortcomings.
Thanks
Nick
-------------------------------------
The initial errors with xjc web-app_2_3.xsd
-------------------------------------
>xjc web-app_2_3.xsd
parsing a schema...
[ERROR] A class/interface with the same name "generated.EnvEntryType" is already
in use.
line 183 of web-app_2_3.xsd
[ERROR] (Relevant to above error) another one is generated from here.
line 164 of web-app_2_3.xsd
[ERROR] A class/interface with the same name "generated.ResourceEnvRefType" is a
lready in use.
line 537 of web-app_2_3.xsd
[ERROR] (Relevant to above error) another one is generated from here.
line 518 of web-app_2_3.xsd
[ERROR] A class/interface with the same name "generated.EjbRefType" is already i
n use.
line 135 of web-app_2_3.xsd
[ERROR] (Relevant to above error) another one is generated from here.
line 154 of web-app_2_3.xsd
Failed to parse a schema.
>
-------------------------------------
The errors with xjc web-app.xjb web-app.xsd
-------------------------------------
parsing a schema...
[ERROR] Premature end of file.
unknown location
Failed to parse a schema
-------------------------------------
The web-app.xjb ... I get the same error with the comments removed too
-------------------------------------
<jxb:bindings version="1.0" xmlns:jxb="
http://java.sun.com/xml/ns/jaxb" xmlns:xs="
http://www.w3.org/2001/XMLSchema">
<jxb:bindings schemaLocation="web-app_2_3.xsd" node="/xs:schema">
<jxb:globalBindings bindingStyle="modelGroupBinding"/>
<jxb:schemaBindings>
<jxb:package name="."/>
<jxb:nameXmlTransform>
<jxb:elementName suffix="Element"/>
</jxb:nameXmlTransform>
</jxb:schemaBindings>
<!-- <jxb:bindings node="//xs:complexType[@name='EnvEntry']">
<jxb:bindings node=".//xs:element[@name='EnvEntryType']">
<jxb:property name="EnvEntryTypeElement"/>
</jxb:bindings>
</jxb:bindings>
<jxb:bindings node="//xs:complexType[@name='EjbRef']">
<jxb:bindings node=".//xs:ref[@name='EjbRefType']">
<jxb:property name="EjbRefTypeRef"/>
</jxb:bindings>
</jxb:bindings>
<jxb:bindings node="//xs:complexType[@name='ResourceEnvRef']">
<jxb:bindings node=".//xs:element[@name='ResourceEnvRefType']">
<jxb:property name="ResourceEnvRefTypeRef"/>
</jxb:bindings>
</jxb:bindings> -->
</jxb:bindings>
</jxb:bindings>
-------------------------------------
The web-app.xsd
-------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="
http://www.w3.org/2001/XMLSchema"
xmlns:jxb="
http://java.sun.com/xml/ns/jaxb"
jxb:version="1.0">
<xs:element name="web-app">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="icon" />
<xs:element minOccurs="0" ref="display-name" />
<xs:element minOccurs="0" ref="description" />
<xs:element minOccurs="0" ref="distributable" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="context-param" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="filter" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="filter-mapping" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="listener" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="servlet" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="servlet-mapping" />
<xs:element minOccurs="0" ref="session-config" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mime-mapping" />
<xs:element minOccurs="0" ref="welcome-file-list" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="error-page" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="taglib" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-env-ref" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-ref" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="security-constraint" />
<xs:element minOccurs="0" ref="login-config" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="security-role" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="env-entry" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="ejb-ref" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="ejb-local-ref" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="auth-constraint">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="description" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="role-name" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="auth-method">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="context-param">
<xs:complexType>
<xs:sequence>
<xs:element ref="param-name" />
<xs:element ref="param-value" />
<xs:element minOccurs="0" ref="description" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="description">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="display-name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="distributable">
<xs:complexType>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="ejb-link">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ejb-local-ref">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="description" />
<xs:element ref="ejb-ref-name" />
<xs:element ref="ejb-ref-type" />
<xs:element ref="local-home" />
<xs:element ref="local" />
<xs:element minOccurs="0" ref="ejb-link" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="ejb-ref">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="description" />
<xs:element ref="ejb-ref-name" />
<xs:element ref="ejb-ref-type" />
<xs:element ref="home" />
<xs:element ref="remote" />
<xs:element minOccurs="0" ref="ejb-link" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="ejb-ref-name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ejb-ref-type">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="env-entry">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="description" />
<xs:element ref="env-entry-name" />
<xs:element minOccurs="0" ref="env-entry-value" />
<xs:element ref="env-entry-type" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="env-entry-name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="env-entry-type">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="env-entry-value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="error-code">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="error-page">
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:element ref="error-code" />
<xs:element ref="exception-type" />
</xs:choice>
<xs:element ref="location" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="exception-type">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="extension">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="filter">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="icon" />
<xs:element ref="filter-name" />
<xs:element minOccurs="0" ref="display-name" />
<xs:element minOccurs="0" ref="description" />
<xs:element ref="filter-class" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="init-param" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="filter-class">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="filter-mapping">
<xs:complexType>
<xs:sequence>
<xs:element ref="filter-name" />
<xs:choice>
<xs:element ref="url-pattern" />
<xs:element ref="servlet-name" />
</xs:choice>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="filter-name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="form-error-page">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="form-login-config">
<xs:complexType>
<xs:sequence>
<xs:element ref="form-login-page" />
<xs:element ref="form-error-page" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="form-login-page">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="home">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="http-method">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="icon">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="small-icon" />
<xs:element minOccurs="0" ref="large-icon" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="init-param">
<xs:complexType>
<xs:sequence>
<xs:element ref="param-name" />
<xs:element ref="param-value" />
<xs:element minOccurs="0" ref="description" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="jsp-file">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="large-icon">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="listener">
<xs:complexType>
<xs:sequence>
<xs:element ref="listener-class" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="listener-class">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="load-on-startup">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="local">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="local-home">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="location">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="login-config">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="auth-method" />
<xs:element minOccurs="0" ref="realm-name" />
<xs:element minOccurs="0" ref="form-login-config" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="mime-mapping">
<xs:complexType>
<xs:sequence>
<xs:element ref="extension" />
<xs:element ref="mime-type" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="mime-type">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="param-name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="param-value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="realm-name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="remote">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="res-auth">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="res-ref-name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="res-sharing-scope">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="res-type">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="resource-env-ref">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="description" />
<xs:element ref="resource-env-ref-name" />
<xs:element ref="resource-env-ref-type" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="resource-env-ref-name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="resource-env-ref-type">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="resource-ref">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="description" />
<xs:element ref="res-ref-name" />
<xs:element ref="res-type" />
<xs:element ref="res-auth" />
<xs:element minOccurs="0" ref="res-sharing-scope" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="role-link">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="role-name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="run-as">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="description" />
<xs:element ref="role-name" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="security-constraint">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="display-name" />
<xs:element maxOccurs="unbounded" ref="web-resource-collection" />
<xs:element minOccurs="0" ref="auth-constraint" />
<xs:element minOccurs="0" ref="user-data-constraint" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="security-role">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="description" />
<xs:element ref="role-name" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="security-role-ref">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="description" />
<xs:element ref="role-name" />
<xs:element minOccurs="0" ref="role-link" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="servlet">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="icon" />
<xs:element ref="servlet-name" />
<xs:element minOccurs="0" ref="display-name" />
<xs:element minOccurs="0" ref="description" />
<xs:choice>
<xs:element ref="servlet-class" />
<xs:element ref="jsp-file" />
</xs:choice>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="init-param" />
<xs:element minOccurs="0" ref="load-on-startup" />
<xs:element minOccurs="0" ref="run-as" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="security-role-ref" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="servlet-class">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="servlet-mapping">
<xs:complexType>
<xs:sequence>
<xs:element ref="servlet-name" />
<xs:element ref="url-pattern" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="servlet-name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="session-config">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="session-timeout" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="session-timeout">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="small-icon">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="taglib">
<xs:complexType>
<xs:sequence>
<xs:element ref="taglib-uri" />
<xs:element ref="taglib-location" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="taglib-location">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="taglib-uri">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="transport-guarantee">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="url-pattern">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="user-data-constraint">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="description" />
<xs:element ref="transport-guarantee" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="web-resource-collection">
<xs:complexType>
<xs:sequence>
<xs:element ref="web-resource-name" />
<xs:element minOccurs="0" ref="description" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="url-pattern" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="http-method" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
<xs:element name="web-resource-name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="welcome-file">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="welcome-file-list">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="welcome-file" />
</xs:sequence>
<xs:attribute name="id" type="xs:ID" />
</xs:complexType>
</xs:element>
</xs:schema>