Переглянути джерело

improved simpleschema and to check prefix of p5/types

a.binder 6 роки тому
батько
коміт
ae6fca99a3

+ 11 - 3
SE/schema/build.xml

@@ -239,7 +239,8 @@
         <mkdir dir="${default_db.instance.xml}"/>
         <mkdir dir="${default_db.instance.xml}"/>
         <mkdir dir="${transformed.local}"/>
         <mkdir dir="${transformed.local}"/>
         <delete file="${procesy5_system_schema.xml}" failonerror="false"/>
         <delete file="${procesy5_system_schema.xml}" failonerror="false"/>
-        <echo> run ${get_all_xsd.xsl} with param procesy5_system_schema_collection_dir=${basedir}; </echo>
+        <echo>#242 run ${get_all_xsd.xsl} with param procesy5_system_schema_collection_dir=${basedir}; 
+            $basedir = ${basedir}</echo>
         
         
         <xslt basedir="./" style="${get_all_xsd.xsl}"  in="${empty.xml}"  destdir="./" out="${procesy5_system_schema.xml}" >
         <xslt basedir="./" style="${get_all_xsd.xsl}"  in="${empty.xml}"  destdir="./" out="${procesy5_system_schema.xml}" >
             <factory name="net.sf.saxon.TransformerFactoryImpl">    
             <factory name="net.sf.saxon.TransformerFactoryImpl">    
@@ -314,7 +315,8 @@
          <mkdir dir="${default_db.instance.xml}"/>
          <mkdir dir="${default_db.instance.xml}"/>
          <mkdir dir="${transformed.local}"/>
          <mkdir dir="${transformed.local}"/>
          <delete file="${procesy5_system_schema.xml}" failonerror="false"/>
          <delete file="${procesy5_system_schema.xml}" failonerror="false"/>
-         <delete dir="${new-schema-with-ID-to-move-and-rename-to-xsd}"/>
+         <delete dir="${new-schema-with-ID-to-move-and-rename-to-xsd}" failonerror="false"/>
+           <delete file="${new-schema-with-ID-to-move-and-rename-to-xsd}" failonerror="false"/>
          <echoxml file="${empty.xml}"><empty>empty</empty></echoxml>
          <echoxml file="${empty.xml}"><empty>empty</empty></echoxml>
            <echo> run ${get_all_xsd.xsl} with param procesy5_system_schema_collection_dir=${basedir}; </echo>
            <echo> run ${get_all_xsd.xsl} with param procesy5_system_schema_collection_dir=${basedir}; </echo>
          <xslt basedir="./" style="${get_all_xsd.xsl}"  in="${empty.xml}"  destdir="./" out="${procesy5_system_schema.xml}" >
          <xslt basedir="./" style="${get_all_xsd.xsl}"  in="${empty.xml}"  destdir="./" out="${procesy5_system_schema.xml}" >
@@ -400,9 +402,11 @@
                 
                 
             </sequential>
             </sequential>
             <sequential>
             <sequential>
-                <delete dir="${new-schema-with-ID-to-move-and-rename-to-xsd}"/>
+                <delete dir="${new-schema-with-ID-to-move-and-rename-to-xsd}" failonerror="false"/>
+                <delete file="${new-schema-with-ID-to-move-and-rename-to-xsd}" failonerror="false"/>
                 <delete file="${parse_schema_to_generate_id_raport.xml}"/>
                 <delete file="${parse_schema_to_generate_id_raport.xml}"/>
                 <echoxml file="${empty.xml}"><empty>empty</empty></echoxml>
                 <echoxml file="${empty.xml}"><empty>empty</empty></echoxml>
+                <echo>#406 xslt ${parse_schema_to_generate_id.xsl}</echo>
                 <xslt basedir="./" style="${parse_schema_to_generate_id.xsl}"   in="${empty.xml}"  destdir="./" out="${parse_schema_to_generate_id_raport.xml}" >
                 <xslt basedir="./" style="${parse_schema_to_generate_id.xsl}"   in="${empty.xml}"  destdir="./" out="${parse_schema_to_generate_id_raport.xml}" >
                     <factory name="net.sf.saxon.TransformerFactoryImpl">    
                     <factory name="net.sf.saxon.TransformerFactoryImpl">    
                         <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
                         <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
@@ -1219,6 +1223,7 @@
             <arg line="clean"/>
             <arg line="clean"/>
         </exec>-->
         </exec>-->
         <delete dir="${new-schema-with-ID-to-move-and-rename-to-xsd}"/>
         <delete dir="${new-schema-with-ID-to-move-and-rename-to-xsd}"/>
+        <delete file="${new-schema-with-ID-to-move-and-rename-to-xsd}" failonerror="false"/>
         <delete dir="${detect_resource_type.local}"/>
         <delete dir="${detect_resource_type.local}"/>
         <delete dir="${transformed.local}"/>
         <delete dir="${transformed.local}"/>
         <delete dir="${build_complexType.local}"/>
         <delete dir="${build_complexType.local}"/>
@@ -1243,6 +1248,7 @@
     
     
     <target name="delete.external_schema_table.path" description="To delete generated by ${build_object_install_se_ant_object.xml} task system_cache__appinfo:object_install_se_ant_object.generate_tables_from_external models">
     <target name="delete.external_schema_table.path" description="To delete generated by ${build_object_install_se_ant_object.xml} task system_cache__appinfo:object_install_se_ant_object.generate_tables_from_external models">
         <delete dir="${external_schema_table.path}" failonerror="false"/>
         <delete dir="${external_schema_table.path}" failonerror="false"/>
+        
     </target>
     </target>
     
     
     <target name="new-schema-with-ID-to-move-and-rename-to-xsd.if_not_complete.cond" depends="new-schema-with-ID-to-move-and-rename-to-xsd.if_not_complete.test,new-schema-with-ID-to-move-and-rename-to-xsd.if_not_complete.fail,new-schema-with-ID-to-move-and-rename-to-xsd.if_not_complete.ok" />
     <target name="new-schema-with-ID-to-move-and-rename-to-xsd.if_not_complete.cond" depends="new-schema-with-ID-to-move-and-rename-to-xsd.if_not_complete.test,new-schema-with-ID-to-move-and-rename-to-xsd.if_not_complete.fail,new-schema-with-ID-to-move-and-rename-to-xsd.if_not_complete.ok" />
@@ -1279,6 +1285,7 @@
                  <fileset dir="${new-schema-with-ID-to-move-and-rename-to-xsd}"/>
                  <fileset dir="${new-schema-with-ID-to-move-and-rename-to-xsd}"/>
              </copy>
              </copy>
              <delete dir="${new-schema-with-ID-to-move-and-rename-to-xsd}"/>
              <delete dir="${new-schema-with-ID-to-move-and-rename-to-xsd}"/>
+               <delete file="${new-schema-with-ID-to-move-and-rename-to-xsd}" failonerror="false"/>
            </sequential>
            </sequential>
         </parallel>
         </parallel>
         
         
@@ -1359,6 +1366,7 @@
                 
                 
             </sequential>
             </sequential>
             <sequential>
             <sequential>
+                <delete file="${new-schema-with-ID-to-move-and-rename-to-xsd}" failonerror="false"/>
                 <delete file="${build_simpleSchema_for_recurse_ant.single.complete}" failonerror="false"/>
                 <delete file="${build_simpleSchema_for_recurse_ant.single.complete}" failonerror="false"/>
                 <delete file="${build_element_complexType.xml.complete}" failonerror="false"/>
                 <delete file="${build_element_complexType.xml.complete}" failonerror="false"/>
                 <delete file="${build_tr_map.xml.complete}" failonerror="false"/>
                 <delete file="${build_tr_map.xml.complete}" failonerror="false"/>

+ 14 - 0
SE/schema/default_db_xml_cache.public/get_all_xsd.xsl

@@ -637,7 +637,21 @@
                                     <xsl:copy-of select="/"/>
                                     <xsl:copy-of select="/"/>
                                 </system_cache__appinfo:get_all_xsd>
                                 </system_cache__appinfo:get_all_xsd>
                             </xsl:when>
                             </xsl:when>
+                            
+                            <xsl:when test=" contains(document-uri(/), $procesy5_system_schema_collection_dir)">
+                                <xsl:comment>#701 NOT ignored  schema by contains(document-uri(/), $procesy5_system_schema_collection_dir) ($procesy5_system_schema_collection_dir=(<xsl:value-of select="$procesy5_system_schema_collection_dir"/>))</xsl:comment>
+                                <xsl:message>#701 NOT ignored  schema by contains(document-uri(/), $procesy5_system_schema_collection_dir) ($procesy5_system_schema_collection_dir=(<xsl:value-of select="$procesy5_system_schema_collection_dir"/>))</xsl:message>
+                                <system_cache__appinfo:get_all_xsd>
+                                    <xsl:attribute name="system_cache__appinfo:document-uri" select="substring-after(document-uri(/), $procesy5_system_schema_collection_dir)"/>
+                                    <xsl:attribute name="system_cache__appinfo:document-uri-full" select="document-uri(/)"/>
+                                    <xsl:attribute name="WPS_Functions" select="$WPS_Functions"/>
+                                    <xsl:copy-of select="/"/>
+                                </system_cache__appinfo:get_all_xsd>
+                            </xsl:when>
+                            
                             <xsl:otherwise>
                             <xsl:otherwise>
+                                <xsl:comment>#641 Otherwise - try substring after /public_html from <xsl:value-of select="document-uri(/)"/></xsl:comment>
+                                <xsl:message>#641 Otherwise - try substring after /public_html from <xsl:value-of select="document-uri(/)"/></xsl:message>
                                 <system_cache__appinfo:get_all_xsd>
                                 <system_cache__appinfo:get_all_xsd>
                                     <xsl:attribute name="system_cache__appinfo:document-uri" select="substring-after(document-uri(/), '/public_html/')"/>
                                     <xsl:attribute name="system_cache__appinfo:document-uri" select="substring-after(document-uri(/), '/public_html/')"/>
                                     <xsl:attribute name="system_cache__appinfo:document-uri-full" select="document-uri(/)"/>
                                     <xsl:attribute name="system_cache__appinfo:document-uri-full" select="document-uri(/)"/>

+ 10 - 1
SE/schema/default_db_xml_cache/system_cache__resources_tree_generate_xsl_required_occurs_raport/parse_schema_to_generate_id.xsl

@@ -93,7 +93,9 @@
                 
                 
                 <!-- wygenerowanie @id dla schematow aby nie zatrzymywac kolejnego przelotu co chwile -->
                 <!-- wygenerowanie @id dla schematow aby nie zatrzymywac kolejnego przelotu co chwile -->
                 <xsl:for-each select="$procesy5_system_schema/get_all_xsd_list/get_all_xsd[ substring-before(@system_cache__appinfo:document-uri,'/')!='default_db_xml_cache' ] " xpath-default-namespace="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"> <!-- wszystkie schema maja miec @id and  substring-before(@system_cache__appinfo:document-uri,'/')!='default_db_xml_cache.public'] -->
                 <xsl:for-each select="$procesy5_system_schema/get_all_xsd_list/get_all_xsd[ substring-before(@system_cache__appinfo:document-uri,'/')!='default_db_xml_cache' ] " xpath-default-namespace="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"> <!-- wszystkie schema maja miec @id and  substring-before(@system_cache__appinfo:document-uri,'/')!='default_db_xml_cache.public'] -->
-                    <xsl:message>#93 parsing @::document-uri = <xsl:value-of select="@system_cache__appinfo:document-uri"/></xsl:message>
+                    <xsl:message>#93 parsing @::document-uri = <xsl:value-of select="@system_cache__appinfo:document-uri"/>;
+                        system_cache__appinfo:document-uri-full = <xsl:value-of select="@system_cache__appinfo:document-uri-full"/>;
+                    </xsl:message>
                     <xsl:comment>#93 parsing @::document-uri = <xsl:value-of select="@system_cache__appinfo:document-uri"/></xsl:comment>
                     <xsl:comment>#93 parsing @::document-uri = <xsl:value-of select="@system_cache__appinfo:document-uri"/></xsl:comment>
                     <xsl:variable name="get_all_xsd_236" select="."/>
                     <xsl:variable name="get_all_xsd_236" select="."/>
                     <xsl:apply-templates mode="system_cache__resources_tree_generate_xsl_required_occurs_raport:parse_schema_to_generate_id">
                     <xsl:apply-templates mode="system_cache__resources_tree_generate_xsl_required_occurs_raport:parse_schema_to_generate_id">
@@ -250,6 +252,13 @@
                         <!--<xsl:when test="$get_all_xsd_236/@system_cache__appinfo:document-uri='http://www.w3.org/1999/XSL/Transform'">Schema for </xsl:when>-->
                         <!--<xsl:when test="$get_all_xsd_236/@system_cache__appinfo:document-uri='http://www.w3.org/1999/XSL/Transform'">Schema for </xsl:when>-->
                         <xsl:otherwise>
                         <xsl:otherwise>
                             <xsl:if test="$generate_schema='yes'">
                             <xsl:if test="$generate_schema='yes'">
+                                <!-- debug 2019-07 -->
+                                <xsl:message>#254
+                                    targetNamespace = <xsl:value-of select="$targetNamespace"/>;
+                                    result-document try <xsl:value-of select="$new-document-uri_with-id"/>;
+                                    $new-schema-tempfile-name = <xsl:value-of select="$new-schema-tempfile-name"/>;
+                                    
+                                </xsl:message>
                                 <xsl:result-document href="{$new-document-uri_with-id}">
                                 <xsl:result-document href="{$new-document-uri_with-id}">
                                     <xsl:apply-templates mode="system_cache__resources_tree_generate_xsl_required_occurs_raport:generate_element_id_for_schema" select="$schema_node"/>
                                     <xsl:apply-templates mode="system_cache__resources_tree_generate_xsl_required_occurs_raport:generate_element_id_for_schema" select="$schema_node"/>
                                 </xsl:result-document>
                                 </xsl:result-document>

+ 248 - 231
SE/schema/gml/2.1.2/feature.xsd

@@ -1,121 +1,138 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<schema targetNamespace="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified" version="2.1.2">
-  <annotation>
-    <appinfo>feature.xsd v2.1.2 2002-07</appinfo>
-    <documentation xml:lang="en">
+<xs:schema targetNamespace="http://www.opengis.net/gml" xmlns:gml="http://www.opengis.net/gml"
+  xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified" version="2.1.2"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:annotation>
+    <xs:appinfo>feature.xsd v2.1.2 2002-07</xs:appinfo>
+    <xs:documentation xml:lang="en">
       GML Feature schema. Copyright (c) 2002 OGC, All Rights Reserved.
       GML Feature schema. Copyright (c) 2002 OGC, All Rights Reserved.
-    </documentation>
-  </annotation>
+    </xs:documentation>
+  </xs:annotation>
   <!-- include constructs from the GML Geometry schema -->
   <!-- include constructs from the GML Geometry schema -->
-  <include schemaLocation="geometry.xsd"/>
+  <xs:include schemaLocation="geometry.xsd"/>
   <!-- bring in the XLink namespace -->
   <!-- bring in the XLink namespace -->
- <import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlinks.xsd"/>
-
-  
+  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlinks.xsd"/>
   <!-- ==============================================================
   <!-- ==============================================================
        global declarations
        global declarations
   =================================================================== -->
   =================================================================== -->
-  <element name="_Feature" type="gml:AbstractFeatureType" abstract="true"/>
-  <element name="_FeatureCollection" type="gml:AbstractFeatureCollectionType" abstract="true" substitutionGroup="gml:_Feature"/>
-  <element name="featureMember" type="gml:FeatureAssociationType"/>
+  <xs:element name="_Feature" type="gml:AbstractFeatureType" abstract="true"/>
+  <xs:element name="_FeatureCollection" type="gml:AbstractFeatureCollectionType" abstract="true"
+    substitutionGroup="gml:_Feature"/>
+  <xs:element name="featureMember" type="gml:FeatureAssociationType"/>
   <!-- some basic geometric properties of features -->
   <!-- some basic geometric properties of features -->
-  <element name="_geometryProperty" type="gml:GeometryAssociationType" abstract="true"/>
-  <element name="geometryProperty" type="gml:GeometryAssociationType"/>
-  <element name="boundedBy" type="gml:BoundingShapeType"/>
-  <element name="pointProperty" type="gml:PointPropertyType" substitutionGroup="gml:_geometryProperty"/>
-  <element name="polygonProperty" type="gml:PolygonPropertyType" substitutionGroup="gml:_geometryProperty"/>
-  <element name="lineStringProperty" type="gml:LineStringPropertyType" substitutionGroup="gml:_geometryProperty"/>
-  <element name="multiPointProperty" type="gml:MultiPointPropertyType" substitutionGroup="gml:_geometryProperty"/>
-  <element name="multiLineStringProperty" type="gml:MultiLineStringPropertyType" substitutionGroup="gml:_geometryProperty"/>
-  <element name="multiPolygonProperty" type="gml:MultiPolygonPropertyType" substitutionGroup="gml:_geometryProperty"/>
-  <element name="multiGeometryProperty" type="gml:MultiGeometryPropertyType" substitutionGroup="gml:_geometryProperty"/>
+  <xs:element name="_geometryProperty" type="gml:GeometryAssociationType" abstract="true"/>
+  <xs:element name="geometryProperty" type="gml:GeometryAssociationType"/>
+  <xs:element name="boundedBy" type="gml:BoundingShapeType"/>
+  <xs:element name="pointProperty" type="gml:PointPropertyType"
+    substitutionGroup="gml:_geometryProperty"/>
+  <xs:element name="polygonProperty" type="gml:PolygonPropertyType"
+    substitutionGroup="gml:_geometryProperty"/>
+  <xs:element name="lineStringProperty" type="gml:LineStringPropertyType"
+    substitutionGroup="gml:_geometryProperty"/>
+  <xs:element name="multiPointProperty" type="gml:MultiPointPropertyType"
+    substitutionGroup="gml:_geometryProperty"/>
+  <xs:element name="multiLineStringProperty" type="gml:MultiLineStringPropertyType"
+    substitutionGroup="gml:_geometryProperty"/>
+  <xs:element name="multiPolygonProperty" type="gml:MultiPolygonPropertyType"
+    substitutionGroup="gml:_geometryProperty"/>
+  <xs:element name="multiGeometryProperty" type="gml:MultiGeometryPropertyType"
+    substitutionGroup="gml:_geometryProperty"/>
   <!-- common aliases for geometry properties -->
   <!-- common aliases for geometry properties -->
-  <element name="location" type="gml:PointPropertyType" substitutionGroup="gml:pointProperty"/>
-  <element name="centerOf" type="gml:PointPropertyType" substitutionGroup="gml:pointProperty"/>
-  <element name="position" type="gml:PointPropertyType" substitutionGroup="gml:pointProperty"/>
-  <element name="extentOf" type="gml:PolygonPropertyType" substitutionGroup="gml:polygonProperty"/>
-  <element name="coverage" type="gml:PolygonPropertyType" substitutionGroup="gml:polygonProperty"/>
-  <element name="edgeOf" type="gml:LineStringPropertyType" substitutionGroup="gml:lineStringProperty"/>
-  <element name="centerLineOf" type="gml:LineStringPropertyType" substitutionGroup="gml:lineStringProperty"/>
-  <element name="multiLocation" type="gml:MultiPointPropertyType" substitutionGroup="gml:multiPointProperty"/>
-  <element name="multiCenterOf" type="gml:MultiPointPropertyType" substitutionGroup="gml:multiPointProperty"/>
-  <element name="multiPosition" type="gml:MultiPointPropertyType" substitutionGroup="gml:multiPointProperty"/>
-  <element name="multiCenterLineOf" type="gml:MultiLineStringPropertyType" substitutionGroup="gml:multiLineStringProperty"/>
-  <element name="multiEdgeOf" type="gml:MultiLineStringPropertyType" substitutionGroup="gml:multiLineStringProperty"/>
-  <element name="multiCoverage" type="gml:MultiPolygonPropertyType" substitutionGroup="gml:multiPolygonProperty"/>
-  <element name="multiExtentOf" type="gml:MultiPolygonPropertyType" substitutionGroup="gml:multiPolygonProperty"/>
+  <xs:element name="location" type="gml:PointPropertyType" substitutionGroup="gml:pointProperty"/>
+  <xs:element name="centerOf" type="gml:PointPropertyType" substitutionGroup="gml:pointProperty"/>
+  <xs:element name="position" type="gml:PointPropertyType" substitutionGroup="gml:pointProperty"/>
+  <xs:element name="extentOf" type="gml:PolygonPropertyType" substitutionGroup="gml:polygonProperty"/>
+  <xs:element name="coverage" type="gml:PolygonPropertyType" substitutionGroup="gml:polygonProperty"/>
+  <xs:element name="edgeOf" type="gml:LineStringPropertyType"
+    substitutionGroup="gml:lineStringProperty"/>
+  <xs:element name="centerLineOf" type="gml:LineStringPropertyType"
+    substitutionGroup="gml:lineStringProperty"/>
+  <xs:element name="multiLocation" type="gml:MultiPointPropertyType"
+    substitutionGroup="gml:multiPointProperty"/>
+  <xs:element name="multiCenterOf" type="gml:MultiPointPropertyType"
+    substitutionGroup="gml:multiPointProperty"/>
+  <xs:element name="multiPosition" type="gml:MultiPointPropertyType"
+    substitutionGroup="gml:multiPointProperty"/>
+  <xs:element name="multiCenterLineOf" type="gml:MultiLineStringPropertyType"
+    substitutionGroup="gml:multiLineStringProperty"/>
+  <xs:element name="multiEdgeOf" type="gml:MultiLineStringPropertyType"
+    substitutionGroup="gml:multiLineStringProperty"/>
+  <xs:element name="multiCoverage" type="gml:MultiPolygonPropertyType"
+    substitutionGroup="gml:multiPolygonProperty"/>
+  <xs:element name="multiExtentOf" type="gml:MultiPolygonPropertyType"
+    substitutionGroup="gml:multiPolygonProperty"/>
   <!-- common feature descriptors -->
   <!-- common feature descriptors -->
-  <element name="description" type="string"/>
-  <element name="name" type="string"/>
+  <xs:element name="description" type="xs:string"/>
+  <xs:element name="name" type="xs:string"/>
   <!-- ==============================================================
   <!-- ==============================================================
        abstract supertypes
        abstract supertypes
   =================================================================== -->
   =================================================================== -->
-  <complexType name="AbstractFeatureType" abstract="true">
-    <annotation>
-      <documentation>
+  <xs:complexType name="AbstractFeatureType" abstract="true">
+    <xs:annotation>
+      <xs:documentation>
         An abstract feature provides a set of common properties. A concrete 
         An abstract feature provides a set of common properties. A concrete 
         feature type must derive from this type and specify additional 
         feature type must derive from this type and specify additional 
         properties in an application schema. A feature may optionally 
         properties in an application schema. A feature may optionally 
         possess an identifying attribute ('fid').
         possess an identifying attribute ('fid').
-      </documentation>
-    </annotation>
-    <sequence>
-      <element ref="gml:description" minOccurs="0"/>
-      <element ref="gml:name" minOccurs="0"/>
-      <element ref="gml:boundedBy" minOccurs="0"/>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:sequence>
+      <xs:element ref="gml:description" minOccurs="0"/>
+      <xs:element ref="gml:name" minOccurs="0"/>
+      <xs:element ref="gml:boundedBy" minOccurs="0"/>
       <!-- additional properties must be specified in an application schema -->
       <!-- additional properties must be specified in an application schema -->
-    </sequence>
-    <attribute name="fid" type="ID" use="optional"/>
-  </complexType>
-  <complexType name="AbstractFeatureCollectionBaseType" abstract="true">
-    <annotation>
-      <documentation>
+    </xs:sequence>
+    <xs:attribute name="fid" type="xs:ID" use="optional"/>
+  </xs:complexType>
+  <xs:complexType name="AbstractFeatureCollectionBaseType" abstract="true">
+    <xs:annotation>
+      <xs:documentation>
         This abstract base type just makes the boundedBy element mandatory 
         This abstract base type just makes the boundedBy element mandatory 
         for a feature collection.
         for a feature collection.
-      </documentation>
-    </annotation>
-    <complexContent>
-      <restriction base="gml:AbstractFeatureType">
-        <sequence>
-          <element ref="gml:description" minOccurs="0"/>
-          <element ref="gml:name" minOccurs="0"/>
-          <element ref="gml:boundedBy"/>
-        </sequence>
-        <attribute name="fid" type="ID" use="optional"/>
-      </restriction>
-    </complexContent>
-  </complexType>
-  <complexType name="AbstractFeatureCollectionType" abstract="true">
-    <annotation>
-      <documentation>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="gml:AbstractFeatureType">
+        <xs:sequence>
+          <xs:element ref="gml:description" minOccurs="0"/>
+          <xs:element ref="gml:name" minOccurs="0"/>
+          <xs:element ref="gml:boundedBy"/>
+        </xs:sequence>
+        <xs:attribute name="fid" type="xs:ID" use="optional"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="AbstractFeatureCollectionType" abstract="true">
+    <xs:annotation>
+      <xs:documentation>
         A feature collection contains zero or more featureMember elements.
         A feature collection contains zero or more featureMember elements.
-      </documentation>
-    </annotation>
-    <complexContent>
-      <extension base="gml:AbstractFeatureCollectionBaseType">
-        <sequence>
-          <element ref="gml:featureMember" minOccurs="0" maxOccurs="unbounded"/>
-        </sequence>
-      </extension>
-    </complexContent>
-  </complexType>
-  <complexType name="GeometryPropertyType">
-		<annotation>
-			<documentation>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="gml:AbstractFeatureCollectionBaseType">
+        <xs:sequence>
+          <xs:element ref="gml:featureMember" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GeometryPropertyType">
+    <xs:annotation>
+      <xs:documentation>
         A simple geometry property encapsulates a geometry element.
         A simple geometry property encapsulates a geometry element.
         Alternatively, it can function as a pointer (simple-type link) 
         Alternatively, it can function as a pointer (simple-type link) 
         that refers to a remote geometry element.
         that refers to a remote geometry element.
-      </documentation>
-		</annotation>
-		<sequence minOccurs="0">
-			<element ref="gml:_Geometry"/>
-		</sequence>
-		<attributeGroup ref="xlink:simpleLink"/>
-             <attribute ref="gml:remoteSchema" use="optional"/>
-  </complexType>
-  <complexType name="FeatureAssociationType">
-    <annotation>
-      <documentation>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:sequence minOccurs="0">
+      <xs:element ref="gml:_Geometry"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="xlink:simpleLink"/>
+    <xs:attribute ref="gml:remoteSchema" use="optional"/>
+  </xs:complexType>
+  <xs:complexType name="FeatureAssociationType">
+    <xs:annotation>
+      <xs:documentation>
         An instance of this type (e.g. a featureMember) can either 
         An instance of this type (e.g. a featureMember) can either 
         enclose or point to a feature (or feature collection); this 
         enclose or point to a feature (or feature collection); this 
         type can be restricted in an application schema to allow only 
         type can be restricted in an application schema to allow only 
@@ -124,163 +141,163 @@
         instance, the value of the gml:remoteSchema attribute can be 
         instance, the value of the gml:remoteSchema attribute can be 
         used to locate a schema fragment that constrains the target 
         used to locate a schema fragment that constrains the target 
         instance.
         instance.
-      </documentation>
-    </annotation>
-    <sequence minOccurs="0">
-      <element ref="gml:_Feature"/>
-    </sequence>
-    <attributeGroup ref="xlink:simpleLink"/>
-    <attribute ref="gml:remoteSchema" use="optional"/>
-  </complexType>
-  <complexType name="BoundingShapeType">
-    <annotation>
-      <documentation>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:sequence minOccurs="0">
+      <xs:element ref="gml:_Feature"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="xlink:simpleLink"/>
+    <xs:attribute ref="gml:remoteSchema" use="optional"/>
+  </xs:complexType>
+  <xs:complexType name="BoundingShapeType">
+    <xs:annotation>
+      <xs:documentation>
         Bounding shapes--a Box or a null element are currently allowed.
         Bounding shapes--a Box or a null element are currently allowed.
-      </documentation>
-    </annotation>
-    <sequence>
-      <choice>
-        <element ref="gml:Box"/>
-        <element name="null" type="gml:NullType"/>
-      </choice>
-    </sequence>
-  </complexType>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:sequence>
+      <xs:choice>
+        <xs:element ref="gml:Box"/>
+        <xs:element name="null" type="gml:NullType"/>
+      </xs:choice>
+    </xs:sequence>
+  </xs:complexType>
   <!-- ==============================================================
   <!-- ==============================================================
        geometry properties
        geometry properties
   =================================================================== -->
   =================================================================== -->
-  <complexType name="PointPropertyType">
-    <annotation>
-      <documentation>
+  <xs:complexType name="PointPropertyType">
+    <xs:annotation>
+      <xs:documentation>
         Encapsulates a single point to represent position, location, or 
         Encapsulates a single point to represent position, location, or 
         centerOf properties.
         centerOf properties.
-      </documentation>
-    </annotation>
-    <complexContent>
-      <restriction base="gml:GeometryAssociationType">
-        <sequence minOccurs="0">
-          <element ref="gml:Point"/>
-        </sequence>
-        <attributeGroup ref="xlink:simpleLink"/>
-        <attribute ref="gml:remoteSchema" use="optional"/>
-      </restriction>
-    </complexContent>
-  </complexType>
-  <complexType name="PolygonPropertyType">
-    <annotation>
-      <documentation>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="gml:GeometryAssociationType">
+        <xs:sequence minOccurs="0">
+          <xs:element ref="gml:Point"/>
+        </xs:sequence>
+        <xs:attributeGroup ref="xlink:simpleLink"/>
+        <xs:attribute ref="gml:remoteSchema" use="optional"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="PolygonPropertyType">
+    <xs:annotation>
+      <xs:documentation>
         Encapsulates a single polygon to represent coverage or extentOf 
         Encapsulates a single polygon to represent coverage or extentOf 
         properties.
         properties.
-      </documentation>
-    </annotation>
-    <complexContent>
-      <restriction base="gml:GeometryAssociationType">
-        <sequence minOccurs="0">
-          <element ref="gml:Polygon"/>
-        </sequence>
-        <attributeGroup ref="xlink:simpleLink"/>
-        <attribute ref="gml:remoteSchema" use="optional"/>
-      </restriction>
-    </complexContent>
-  </complexType>
-  <complexType name="LineStringPropertyType">
-    <annotation>
-      <documentation>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="gml:GeometryAssociationType">
+        <xs:sequence minOccurs="0">
+          <xs:element ref="gml:Polygon"/>
+        </xs:sequence>
+        <xs:attributeGroup ref="xlink:simpleLink"/>
+        <xs:attribute ref="gml:remoteSchema" use="optional"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="LineStringPropertyType">
+    <xs:annotation>
+      <xs:documentation>
         Encapsulates a single LineString to represent centerLineOf or 
         Encapsulates a single LineString to represent centerLineOf or 
         edgeOf properties.
         edgeOf properties.
-      </documentation>
-    </annotation>
-    <complexContent>
-      <restriction base="gml:GeometryAssociationType">
-        <sequence minOccurs="0">
-          <element ref="gml:LineString"/>
-        </sequence>
-        <attributeGroup ref="xlink:simpleLink"/>
-        <attribute ref="gml:remoteSchema" use="optional"/>
-      </restriction>
-    </complexContent>
-  </complexType>
-  <complexType name="MultiPointPropertyType">
-    <annotation>
-      <documentation>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="gml:GeometryAssociationType">
+        <xs:sequence minOccurs="0">
+          <xs:element ref="gml:LineString"/>
+        </xs:sequence>
+        <xs:attributeGroup ref="xlink:simpleLink"/>
+        <xs:attribute ref="gml:remoteSchema" use="optional"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MultiPointPropertyType">
+    <xs:annotation>
+      <xs:documentation>
         Encapsulates a MultiPoint element to represent the following 
         Encapsulates a MultiPoint element to represent the following 
         discontiguous geometric properties: multiLocation, multiPosition, 
         discontiguous geometric properties: multiLocation, multiPosition, 
         multiCenterOf.
         multiCenterOf.
-      </documentation>
-    </annotation>
-    <complexContent>
-      <restriction base="gml:GeometryAssociationType">
-        <sequence minOccurs="0">
-          <element ref="gml:MultiPoint"/>
-        </sequence>
-        <attributeGroup ref="xlink:simpleLink"/>
-        <attribute ref="gml:remoteSchema" use="optional"/>
-      </restriction>
-    </complexContent>
-  </complexType>
-  <complexType name="MultiLineStringPropertyType">
-    <annotation>
-      <documentation>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="gml:GeometryAssociationType">
+        <xs:sequence minOccurs="0">
+          <xs:element ref="gml:MultiPoint"/>
+        </xs:sequence>
+        <xs:attributeGroup ref="xlink:simpleLink"/>
+        <xs:attribute ref="gml:remoteSchema" use="optional"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MultiLineStringPropertyType">
+    <xs:annotation>
+      <xs:documentation>
         Encapsulates a MultiLineString element to represent the following 
         Encapsulates a MultiLineString element to represent the following 
         discontiguous geometric properties: multiEdgeOf, multiCenterLineOf.
         discontiguous geometric properties: multiEdgeOf, multiCenterLineOf.
-      </documentation>
-    </annotation>
-    <complexContent>
-      <restriction base="gml:GeometryAssociationType">
-        <sequence minOccurs="0">
-          <element ref="gml:MultiLineString"/>
-        </sequence>
-        <attributeGroup ref="xlink:simpleLink"/>
-        <attribute ref="gml:remoteSchema" use="optional"/>
-      </restriction>
-    </complexContent>
-  </complexType>
-  <complexType name="MultiPolygonPropertyType">
-    <annotation>
-      <documentation>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="gml:GeometryAssociationType">
+        <xs:sequence minOccurs="0">
+          <xs:element ref="gml:MultiLineString"/>
+        </xs:sequence>
+        <xs:attributeGroup ref="xlink:simpleLink"/>
+        <xs:attribute ref="gml:remoteSchema" use="optional"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MultiPolygonPropertyType">
+    <xs:annotation>
+      <xs:documentation>
         Encapsulates a MultiPolygon to represent the following discontiguous 
         Encapsulates a MultiPolygon to represent the following discontiguous 
         geometric properties: multiCoverage, multiExtentOf.
         geometric properties: multiCoverage, multiExtentOf.
-      </documentation>
-    </annotation>
-    <complexContent>
-      <restriction base="gml:GeometryAssociationType">
-        <sequence minOccurs="0">
-          <element ref="gml:MultiPolygon"/>
-        </sequence>
-        <attributeGroup ref="xlink:simpleLink"/>
-        <attribute ref="gml:remoteSchema" use="optional"/>
-      </restriction>
-    </complexContent>
-  </complexType>
-  <complexType name="MultiGeometryPropertyType">
-    <annotation>
-      <documentation>Encapsulates a MultiGeometry element.</documentation>
-    </annotation>
-    <complexContent>
-      <restriction base="gml:GeometryAssociationType">
-        <sequence minOccurs="0">
-          <element ref="gml:MultiGeometry"/>
-        </sequence>
-        <attributeGroup ref="xlink:simpleLink"/>
-        <attribute ref="gml:remoteSchema" use="optional"/>
-      </restriction>
-    </complexContent>
-  </complexType>
-  <simpleType name="NullType">
-    <annotation>
-      <documentation>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="gml:GeometryAssociationType">
+        <xs:sequence minOccurs="0">
+          <xs:element ref="gml:MultiPolygon"/>
+        </xs:sequence>
+        <xs:attributeGroup ref="xlink:simpleLink"/>
+        <xs:attribute ref="gml:remoteSchema" use="optional"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MultiGeometryPropertyType">
+    <xs:annotation>
+      <xs:documentation>Encapsulates a MultiGeometry element.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="gml:GeometryAssociationType">
+        <xs:sequence minOccurs="0">
+          <xs:element ref="gml:MultiGeometry"/>
+        </xs:sequence>
+        <xs:attributeGroup ref="xlink:simpleLink"/>
+        <xs:attribute ref="gml:remoteSchema" use="optional"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="NullType">
+    <xs:annotation>
+      <xs:documentation>
         If a bounding shape is not provided for a feature collection, 
         If a bounding shape is not provided for a feature collection, 
         explain why. Allowable values are:
         explain why. Allowable values are:
         innapplicable - the features do not have geometry
         innapplicable - the features do not have geometry
         unknown - the boundingBox cannot be computed
         unknown - the boundingBox cannot be computed
         unavailable - there may be a boundingBox but it is not divulged
         unavailable - there may be a boundingBox but it is not divulged
         missing - there are no features
         missing - there are no features
-      </documentation>
-    </annotation>
-    <restriction base="string">
-      <enumeration value="inapplicable"/>
-      <enumeration value="unknown"/>
-      <enumeration value="unavailable"/>
-      <enumeration value="missing"/>
-    </restriction>
-  </simpleType>
-</schema>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="inapplicable"/>
+      <xs:enumeration value="unknown"/>
+      <xs:enumeration value="unavailable"/>
+      <xs:enumeration value="missing"/>
+    </xs:restriction>
+  </xs:simpleType>
+</xs:schema>

+ 86 - 85
SE/schema/gml/2.1.2/xlinks.xsd

@@ -1,24 +1,25 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<schema targetNamespace="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" version="2.1.2">
-  <annotation>
-    <appinfo>xlinks.xsd v2.1.2 2002-07</appinfo>
-    <documentation xml:lang="en">
+<xs:schema targetNamespace="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
+  version="2.1.2" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:annotation>
+    <xs:appinfo>xlinks.xsd v2.1.2 2002-07</xs:appinfo>
+    <xs:documentation xml:lang="en">
       This schema provides the XLink attributes for general use.
       This schema provides the XLink attributes for general use.
-    </documentation>
-  </annotation>
+    </xs:documentation>
+  </xs:annotation>
   <!-- ==============================================================
   <!-- ==============================================================
        global declarations
        global declarations
   =============================================================== -->
   =============================================================== -->
   <!-- locator attribute -->
   <!-- locator attribute -->
-  <attribute name="href" type="anyURI"/>
+  <xs:attribute name="href" type="xs:anyURI"/>
   <!-- semantic attributes -->
   <!-- semantic attributes -->
-  <attribute name="role" type="anyURI"/>
-  <attribute name="arcrole" type="anyURI"/>
-  <attribute name="title" type="string"/>
+  <xs:attribute name="role" type="xs:anyURI"/>
+  <xs:attribute name="arcrole" type="xs:anyURI"/>
+  <xs:attribute name="title" type="xs:string"/>
   <!-- behavior attributes -->
   <!-- behavior attributes -->
-  <attribute name="show">
-    <annotation>
-      <documentation>
+  <xs:attribute name="show">
+    <xs:annotation>
+      <xs:documentation>
         The 'show' attribute is used to communicate the desired presentation 
         The 'show' attribute is used to communicate the desired presentation 
         of the ending resource on traversal from the starting resource; it's 
         of the ending resource on traversal from the starting resource; it's 
         value should be treated as follows: 
         value should be treated as follows: 
@@ -31,21 +32,21 @@
         other - behavior is unconstrained; examine other markup in the 
         other - behavior is unconstrained; examine other markup in the 
                 link for hints 
                 link for hints 
         none - behavior is unconstrained 
         none - behavior is unconstrained 
-      </documentation>
-    </annotation>
-    <simpleType>
-      <restriction base="string">
-        <enumeration value="new"/>
-        <enumeration value="replace"/>
-        <enumeration value="embed"/>
-        <enumeration value="other"/>
-        <enumeration value="none"/>
-      </restriction>
-    </simpleType>
-  </attribute>
-  <attribute name="actuate">
-    <annotation>
-      <documentation>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:simpleType>
+      <xs:restriction base="xs:string">
+        <xs:enumeration value="new"/>
+        <xs:enumeration value="replace"/>
+        <xs:enumeration value="embed"/>
+        <xs:enumeration value="other"/>
+        <xs:enumeration value="none"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:attribute>
+  <xs:attribute name="actuate">
+    <xs:annotation>
+      <xs:documentation>
         The 'actuate' attribute is used to communicate the desired timing 
         The 'actuate' attribute is used to communicate the desired timing 
         of traversal from the starting resource to the ending resource; 
         of traversal from the starting resource to the ending resource; 
         it's value should be treated as follows:
         it's value should be treated as follows:
@@ -57,65 +58,65 @@
         other - behavior is unconstrained; examine other markup in link 
         other - behavior is unconstrained; examine other markup in link 
                 for hints 
                 for hints 
         none - behavior is unconstrained
         none - behavior is unconstrained
-      </documentation>
-    </annotation>
-    <simpleType>
-      <restriction base="string">
-        <enumeration value="onLoad"/>
-        <enumeration value="onRequest"/>
-        <enumeration value="other"/>
-        <enumeration value="none"/>
-      </restriction>
-    </simpleType>
-  </attribute>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:simpleType>
+      <xs:restriction base="xs:string">
+        <xs:enumeration value="onLoad"/>
+        <xs:enumeration value="onRequest"/>
+        <xs:enumeration value="other"/>
+        <xs:enumeration value="none"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:attribute>
   <!-- traversal attributes -->
   <!-- traversal attributes -->
-  <attribute name="label" type="string"/>
-  <attribute name="from" type="string"/>
-  <attribute name="to" type="string"/>
+  <xs:attribute name="label" type="xs:string"/>
+  <xs:attribute name="from" type="xs:string"/>
+  <xs:attribute name="to" type="xs:string"/>
   <!-- ==============================================================
   <!-- ==============================================================
        Attributes grouped by XLink type, as specified by the allowed usage patterns 
        Attributes grouped by XLink type, as specified by the allowed usage patterns 
        in sec. 4.1 of the W3C Recommendation (dated 2001-06-27)
        in sec. 4.1 of the W3C Recommendation (dated 2001-06-27)
   =================================================================== -->
   =================================================================== -->
-  <attributeGroup name="simpleLink">
-    <attribute name="type" type="string" use="optional" fixed="simple" form="qualified"/>
-    <attribute ref="xlink:href" use="optional"/>
-    <attribute ref="xlink:role" use="optional"/>
-    <attribute ref="xlink:arcrole" use="optional"/>
-    <attribute ref="xlink:title" use="optional"/>
-    <attribute ref="xlink:show" use="optional"/>
-    <attribute ref="xlink:actuate" use="optional"/>
-  </attributeGroup>
-  <attributeGroup name="extendedLink">
-    <attribute name="type" type="string" use="required" fixed="extended" form="qualified"/>
-    <attribute ref="xlink:role" use="optional"/>
-    <attribute ref="xlink:title" use="optional"/>
-  </attributeGroup>
-  <attributeGroup name="locatorLink">
-    <attribute name="type" type="string" use="required" fixed="locator" form="qualified"/>
-    <attribute ref="xlink:href" use="required"/>
-    <attribute ref="xlink:role" use="optional"/>
-    <attribute ref="xlink:title" use="optional"/>
-    <attribute ref="xlink:label" use="optional"/>
-  </attributeGroup>
-  <attributeGroup name="arcLink">
-    <attribute name="type" type="string" use="required" fixed="arc" form="qualified"/>
-    <attribute ref="xlink:arcrole" use="optional"/>
-    <attribute ref="xlink:title" use="optional"/>
-    <attribute ref="xlink:show" use="optional"/>
-    <attribute ref="xlink:actuate" use="optional"/>
-    <attribute ref="xlink:from" use="optional"/>
-    <attribute ref="xlink:to" use="optional"/>
-  </attributeGroup>
-  <attributeGroup name="resourceLink">
-    <attribute name="type" type="string" use="required" fixed="resource" form="qualified"/>
-    <attribute ref="xlink:role" use="optional"/>
-    <attribute ref="xlink:title" use="optional"/>
-    <attribute ref="xlink:label" use="optional"/>
-  </attributeGroup>
-  <attributeGroup name="titleLink">
-    <attribute name="type" type="string" use="required" fixed="title" form="qualified"/>
-  </attributeGroup>
-  <attributeGroup name="emptyLink">
-    <attribute name="type" type="string" use="required" fixed="empty" form="qualified"/>
-  </attributeGroup>
-</schema>
+  <xs:attributeGroup name="simpleLink">
+    <xs:attribute name="type" type="xs:string" use="optional" fixed="simple" form="qualified"/>
+    <xs:attribute ref="xlink:href" use="optional"/>
+    <xs:attribute ref="xlink:role" use="optional"/>
+    <xs:attribute ref="xlink:arcrole" use="optional"/>
+    <xs:attribute ref="xlink:title" use="optional"/>
+    <xs:attribute ref="xlink:show" use="optional"/>
+    <xs:attribute ref="xlink:actuate" use="optional"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="extendedLink">
+    <xs:attribute name="type" type="xs:string" use="required" fixed="extended" form="qualified"/>
+    <xs:attribute ref="xlink:role" use="optional"/>
+    <xs:attribute ref="xlink:title" use="optional"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="locatorLink">
+    <xs:attribute name="type" type="xs:string" use="required" fixed="locator" form="qualified"/>
+    <xs:attribute ref="xlink:href" use="required"/>
+    <xs:attribute ref="xlink:role" use="optional"/>
+    <xs:attribute ref="xlink:title" use="optional"/>
+    <xs:attribute ref="xlink:label" use="optional"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="arcLink">
+    <xs:attribute name="type" type="xs:string" use="required" fixed="arc" form="qualified"/>
+    <xs:attribute ref="xlink:arcrole" use="optional"/>
+    <xs:attribute ref="xlink:title" use="optional"/>
+    <xs:attribute ref="xlink:show" use="optional"/>
+    <xs:attribute ref="xlink:actuate" use="optional"/>
+    <xs:attribute ref="xlink:from" use="optional"/>
+    <xs:attribute ref="xlink:to" use="optional"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="resourceLink">
+    <xs:attribute name="type" type="xs:string" use="required" fixed="resource" form="qualified"/>
+    <xs:attribute ref="xlink:role" use="optional"/>
+    <xs:attribute ref="xlink:title" use="optional"/>
+    <xs:attribute ref="xlink:label" use="optional"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="titleLink">
+    <xs:attribute name="type" type="xs:string" use="required" fixed="title" form="qualified"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="emptyLink">
+    <xs:attribute name="type" type="xs:string" use="required" fixed="empty" form="qualified"/>
+  </xs:attributeGroup>
+</xs:schema>

+ 31 - 34
SE/schema/p5/types.xsd

@@ -1,35 +1,32 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  targetNamespace="https://biuro.biall-net.pl/wfs">
-
-  <xsd:simpleType name="string">
-    <xsd:restriction base="xsd:string">
-      <xsd:maxLength value="255"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="longString">
-    <xsd:restriction base="xsd:string">
-      <xsd:maxLength value="1000"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="p5:enum">
-    <xsd:restriction base="xsd:string" />
-  </xsd:simpleType>
-
-  <xsd:simpleType name="p5:www_link">
-    <xsd:restriction base="xsd:string" />
-  </xsd:simpleType>
-
-  <xsd:simpleType name="p5:alias">
-    <xsd:restriction base="xsd:string" />
-  </xsd:simpleType>
-
-  <xsd:simpleType name="price">
-    <xsd:restriction base="xsd:decimal">
-      <xsd:totalDigits value="12"/>
-      <xsd:fractionDigits value="2"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-</xsd:schema>
+<xs:schema targetNamespace="https://biuro.biall-net.pl/wfs"
+  xmlns:p5wfs="https://biuro.biall-net.pl/wfs" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:annotation>
+    <xs:documentation>@201907 tymczasowy prefix do walidacji</xs:documentation>
+  </xs:annotation>
+  <xs:simpleType name="string">
+    <xs:restriction base="xs:string">
+      <xs:maxLength value="255"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="longString">
+    <xs:restriction base="xs:string">
+      <xs:maxLength value="1000"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="p5:enum">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="p5:www_link">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="p5:alias">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="price">
+    <xs:restriction base="xs:decimal">
+      <xs:totalDigits value="12"/>
+      <xs:fractionDigits value="2"/>
+    </xs:restriction>
+  </xs:simpleType>
+</xs:schema>