You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ad...@apache.org on 2015/01/05 22:51:14 UTC

svn commit: r1649676 [1/2] - in /ofbiz/site/dtds: ofbiz-properties.xsd widget-common.xsd widget-form.xsd widget-menu.xsd widget-screen.xsd widget-tree.xsd

Author: adrianc
Date: Mon Jan  5 21:51:13 2015
New Revision: 1649676

URL: http://svn.apache.org/r1649676
Log:
Update web site with recent schema changes.

Added:
    ofbiz/site/dtds/widget-common.xsd
Modified:
    ofbiz/site/dtds/ofbiz-properties.xsd
    ofbiz/site/dtds/widget-form.xsd
    ofbiz/site/dtds/widget-menu.xsd
    ofbiz/site/dtds/widget-screen.xsd
    ofbiz/site/dtds/widget-tree.xsd

Modified: ofbiz/site/dtds/ofbiz-properties.xsd
URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/ofbiz-properties.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
==============================================================================
--- ofbiz/site/dtds/ofbiz-properties.xsd (original)
+++ ofbiz/site/dtds/ofbiz-properties.xsd Mon Jan  5 21:51:13 2015
@@ -23,7 +23,8 @@ under the License.
     <xs:complexType name="valueType">
         <xs:simpleContent>
             <xs:extension base="xs:string">
-                <xs:attribute ref="xml:lang" use="required"/>
+                <xs:attribute ref="xml:lang" use="required" />
+                <xs:attribute ref="xml:space" />
             </xs:extension>
         </xs:simpleContent>
     </xs:complexType>

Added: ofbiz/site/dtds/widget-common.xsd
URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-common.xsd?rev=1649676&view=auto
==============================================================================
--- ofbiz/site/dtds/widget-common.xsd (added)
+++ ofbiz/site/dtds/widget-common.xsd Mon Jan  5 21:51:13 2015
@@ -0,0 +1,519 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+
+    <xs:complexType name="ConditionRootType">
+        <xs:choice>
+            <xs:element ref="and" />
+            <xs:element ref="or" />
+            <xs:element ref="xor" />
+            <xs:element ref="not" />
+            <xs:element ref="if-service-permission" />
+            <xs:element ref="if-has-permission" />
+            <xs:element ref="if-entity-permission" />
+            <xs:element ref="if-validate-method" />
+            <xs:element ref="if-compare" />
+            <xs:element ref="if-compare-field" />
+            <xs:element ref="if-regexp" />
+            <xs:element ref="if-empty" />
+        </xs:choice>
+    </xs:complexType>
+    <xs:element name="AllConditionals" abstract="true" />
+    <xs:element name="and" substitutionGroup="AllConditionals">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="AllConditionals" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="xor" substitutionGroup="AllConditionals">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="AllConditionals" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="or" substitutionGroup="AllConditionals">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="AllConditionals" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="not" substitutionGroup="AllConditionals">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="AllConditionals" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="if-service-permission" substitutionGroup="AllConditionals">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="service-name" use="required" />
+            <xs:attribute type="xs:string" name="resource-description" use="optional" />
+            <xs:attribute type="xs:string" name="context-map" use="optional" />
+            <xs:attribute name="main-action" use="optional">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="CREATE" />
+                        <xs:enumeration value="UPDATE" />
+                        <xs:enumeration value="DELETE" />
+                        <xs:enumeration value="VIEW" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="if-has-permission" substitutionGroup="AllConditionals">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="permission" use="required" />
+            <xs:attribute type="xs:string" name="action" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="if-entity-permission" substitutionGroup="AllConditionals">
+        <xs:complexType>
+            <xs:choice minOccurs="0">
+                <xs:element minOccurs="0" maxOccurs="1" ref="permission-condition-getter" />
+                <xs:element minOccurs="0" maxOccurs="1" ref="related-role-getter" />
+                <xs:element minOccurs="0" maxOccurs="1" ref="auxiliary-value-getter" />
+            </xs:choice>
+            <xs:attribute type="xs:string" name="entity-name" use="required" />
+            <xs:attribute type="xs:string" name="entity-id" use="required">
+                <xs:annotation>
+                    <xs:documentation>Can have multiple pipe separated values, but don't use spaces.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="target-operation" use="required">
+                <xs:annotation>
+                    <xs:documentation>Can have multiple pipe separated values, but don't use spaces.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="display-fail-cond" default="false">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="permission-condition-getter">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="entity-name" />
+            <xs:attribute type="xs:string" name="operation-field-name" />
+            <xs:attribute type="xs:string" name="role-field-name" />
+            <xs:attribute type="xs:string" name="auxiliary-field-name" />
+            <xs:attribute type="xs:string" name="status-field-name" />
+            <xs:attribute type="xs:string" name="privilege-field-name" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="related-role-getter">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="entity-name" />
+            <xs:attribute type="xs:string" name="role-entity-name" />
+            <xs:attribute type="xs:string" name="role-type-field-name" />
+            <xs:attribute type="xs:string" name="party-field-name" />
+            <xs:attribute type="xs:string" name="owner-entity-field-name" />
+            <xs:attribute type="xs:string" name="entity-id-name" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="auxiliary-value-getter">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="entity-name" />
+            <xs:attribute type="xs:string" name="auxiliary-field-name" />
+            <xs:attribute type="xs:string" name="entity-id-name" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="if-validate-method" substitutionGroup="AllConditionals">
+        <xs:annotation>
+            <xs:documentation>Calls a static Java method that takes a String and returns a boolean.</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="field" use="required" />
+            <xs:attribute type="xs:string" name="method" use="required" />
+            <xs:attribute type="xs:string" name="class" default="org.ofbiz.base.util.UtilValidate" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="if-compare" substitutionGroup="AllConditionals">
+        <xs:complexType>
+            <xs:attribute name="field" type="xs:string" use="required" />
+            <xs:attribute name="operator" use="required">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="less" />
+                        <xs:enumeration value="greater" />
+                        <xs:enumeration value="less-equals" />
+                        <xs:enumeration value="greater-equals" />
+                        <xs:enumeration value="equals" />
+                        <xs:enumeration value="not-equals" />
+                        <xs:enumeration value="contains" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute name="value" type="xs:string" use="required" />
+            <xs:attribute name="type" default="String">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="PlainString" />
+                        <xs:enumeration value="String" />
+                        <xs:enumeration value="BigDecimal" />
+                        <xs:enumeration value="Double" />
+                        <xs:enumeration value="Float" />
+                        <xs:enumeration value="Long" />
+                        <xs:enumeration value="Integer" />
+                        <xs:enumeration value="Date" />
+                        <xs:enumeration value="Time" />
+                        <xs:enumeration value="Timestamp" />
+                        <xs:enumeration value="Boolean" />
+                        <xs:enumeration value="Object" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="format" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="if-compare-field" substitutionGroup="AllConditionals">
+        <xs:complexType>
+            <xs:attribute name="field" type="xs:string" use="required" />
+            <xs:attribute name="operator" use="required">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="less" />
+                        <xs:enumeration value="greater" />
+                        <xs:enumeration value="less-equals" />
+                        <xs:enumeration value="greater-equals" />
+                        <xs:enumeration value="equals" />
+                        <xs:enumeration value="not-equals" />
+                        <xs:enumeration value="contains" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute name="to-field" type="xs:string" />
+            <xs:attribute name="type" default="String">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="PlainString" />
+                        <xs:enumeration value="String" />
+                        <xs:enumeration value="BigDecimal" />
+                        <xs:enumeration value="Double" />
+                        <xs:enumeration value="Float" />
+                        <xs:enumeration value="Long" />
+                        <xs:enumeration value="Integer" />
+                        <xs:enumeration value="Date" />
+                        <xs:enumeration value="Time" />
+                        <xs:enumeration value="Timestamp" />
+                        <xs:enumeration value="Boolean" />
+                        <xs:enumeration value="Object" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="format" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="field" use="required" />
+            <xs:attribute type="xs:string" name="expr" use="required" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="if-empty" substitutionGroup="AllConditionals">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="field" use="required" />
+        </xs:complexType>
+    </xs:element>
+
+    <xs:element name="AllActions" abstract="true" />
+    <xs:element name="set" substitutionGroup="AllActions">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="field" use="required" />
+            <xs:attribute type="xs:string" name="from-field" />
+            <xs:attribute type="xs:string" name="value" />
+            <xs:attribute type="xs:string" name="default-value" />
+            <xs:attribute name="global" default="false">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute name="type">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="PlainString" />
+                        <xs:enumeration value="String" />
+                        <xs:enumeration value="BigDecimal" />
+                        <xs:enumeration value="Double" />
+                        <xs:enumeration value="Float" />
+                        <xs:enumeration value="List" />
+                        <xs:enumeration value="Long" />
+                        <xs:enumeration value="Integer" />
+                        <xs:enumeration value="Date" />
+                        <xs:enumeration value="Time" />
+                        <xs:enumeration value="Timestamp" />
+                        <xs:enumeration value="Boolean" />
+                        <xs:enumeration value="Object" />
+                        <xs:enumeration value="NewList" />
+                        <xs:enumeration value="NewMap" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute name="to-scope" default="screen">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="screen" />
+                        <xs:enumeration value="user" />
+                        <xs:enumeration value="application" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute name="from-scope" default="screen">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="screen" />
+                        <xs:enumeration value="user" />
+                        <xs:enumeration value="application" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="property-map" substitutionGroup="AllActions">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="resource" use="required" />
+            <xs:attribute type="xs:string" name="map-name" use="required" />
+            <xs:attribute name="global" default="false">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="property-to-field" substitutionGroup="AllActions">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="resource" use="required" />
+            <xs:attribute type="xs:string" name="property" use="required" />
+            <xs:attribute type="xs:string" name="field" use="required" />
+            <xs:attribute type="xs:string" name="default" />
+            <xs:attribute name="no-locale" default="false">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="arg-list-name" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="script" substitutionGroup="AllActions">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="location" use="required" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="entity-one" substitutionGroup="AllActions">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="field-map" />
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" />
+            </xs:sequence>
+            <xs:attribute name="entity-name" type="xs:string" use="required" />
+            <xs:attribute name="value-field" type="xs:string" use="required" />
+            <xs:attribute name="use-cache" default="false">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute name="auto-field-map" default="true">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="get-related-one" substitutionGroup="AllActions">
+        <xs:complexType>
+            <xs:attribute name="value-field" type="xs:string" use="required" />
+            <xs:attribute name="relation-name" type="xs:string" use="required" />
+            <xs:attribute name="use-cache" type="xs:string" default="false" />
+            <xs:attribute name="to-value-field" type="xs:string" use="required" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="get-related" substitutionGroup="AllActions">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="value-field" use="required" />
+            <xs:attribute type="xs:string" name="relation-name" use="required" />
+            <xs:attribute type="xs:string" name="map" />
+            <xs:attribute type="xs:string" name="order-by-list" />
+            <xs:attribute type="xs:string" name="use-cache" default="false" />
+            <xs:attribute type="xs:string" name="list" use="required" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="condition-list">
+        <xs:complexType>
+            <xs:choice maxOccurs="unbounded">
+                <xs:element ref="condition-expr" />
+                <xs:element ref="condition-list" />
+                <xs:element ref="condition-object" />
+            </xs:choice>
+            <xs:attribute name="combine" default="and">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="and" />
+                        <xs:enumeration value="or" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="having-condition-list">
+        <xs:complexType>
+            <xs:choice maxOccurs="unbounded">
+                <xs:element ref="condition-expr" />
+                <xs:element ref="condition-list" />
+                <xs:element ref="condition-object" />
+            </xs:choice>
+            <xs:attribute name="combine" default="and">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="and" />
+                        <xs:enumeration value="or" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="condition-expr">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="field-name" use="required" />
+            <xs:attribute name="operator" default="equals">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="less" />
+                        <xs:enumeration value="greater" />
+                        <xs:enumeration value="less-equals" />
+                        <xs:enumeration value="greater-equals" />
+                        <xs:enumeration value="equals" />
+                        <xs:enumeration value="not-equals" />
+                        <xs:enumeration value="in" />
+                        <xs:enumeration value="not-in" />
+                        <xs:enumeration value="between" />
+                        <xs:enumeration value="like" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="from-field" />
+            <xs:attribute type="xs:string" name="value" />
+            <xs:attribute name="ignore-if-null" default="false">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute name="ignore-if-empty" default="false">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute name="ignore-case" default="false">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute name="ignore" default="false">
+                <xs:annotation>
+                    <xs:documentation>
+                        Ignore the condition if flag is true.
+                        Defaults to false.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="condition-object">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="field" use="required" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="select-field">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="field-name" use="required" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="order-by">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="field-name" use="required" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="limit-range">
+        <xs:complexType>
+            <xs:attribute name="start" type="xs:string" use="required">
+                <xs:annotation>
+                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="size" type="xs:string" use="required">
+                <xs:annotation>
+                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="limit-view">
+        <xs:complexType>
+            <xs:attribute name="view-index" type="xs:string" use="required">
+                <xs:annotation>
+                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="view-size" type="xs:string" use="required">
+                <xs:annotation>
+                    <xs:documentation>Should resolve into a positive integer.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="use-iterator" />
+    <xs:element name="field-map">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="field-name" use="required" />
+            <xs:attribute type="xs:string" name="from-field" />
+            <xs:attribute type="xs:string" name="value" />
+        </xs:complexType>
+    </xs:element>
+</xs:schema>

Modified: ofbiz/site/dtds/widget-form.xsd
URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-form.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
==============================================================================
--- ofbiz/site/dtds/widget-form.xsd (original)
+++ ofbiz/site/dtds/widget-form.xsd Mon Jan  5 21:51:13 2015
@@ -18,6 +18,7 @@ specific language governing permissions
 under the License.
 -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+    <xs:include schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
 
   <!-- ================== FORMS ==================== -->
     <xs:element name="forms">
@@ -1798,7 +1799,6 @@ under the License.
     </xs:element>
 
   <!-- ================== ACTIONS ==================== -->
-    <xs:element name="AllActions" abstract="true"/>
     <xs:element name="actions">
         <xs:complexType>
             <xs:sequence>
@@ -1813,42 +1813,6 @@ under the License.
             </xs:sequence>
         </xs:complexType>
     </xs:element>
-    <xs:element name="property-map" substitutionGroup="AllActions">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="resource" use="required" />
-            <xs:attribute type="xs:string" name="map-name" use="required" />
-            <xs:attribute name="global" default="false">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="true" />
-                        <xs:enumeration value="false" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="property-to-field" substitutionGroup="AllActions">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="resource" use="required" />
-            <xs:attribute type="xs:string" name="property" use="required" />
-            <xs:attribute type="xs:string" name="field" use="required" />
-            <xs:attribute type="xs:string" name="default" />
-            <xs:attribute name="no-locale" default="false">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="true" />
-                        <xs:enumeration value="false" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-            <xs:attribute type="xs:string" name="arg-list-name" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="script" substitutionGroup="AllActions">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="location" use="required" />
-        </xs:complexType>
-    </xs:element>
     <xs:element name="service" substitutionGroup="AllActions">
         <xs:complexType>
             <xs:sequence>
@@ -1873,44 +1837,7 @@ under the License.
             </xs:attribute>
         </xs:complexType>
     </xs:element>
-    <xs:element name="set" substitutionGroup="AllActions">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="field" use="required" />
-            <xs:attribute type="xs:string" name="from-field" />
-            <xs:attribute type="xs:string" name="value" />
-            <xs:attribute type="xs:string" name="default-value" />
-            <xs:attribute name="global" default="false">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="true" />
-                        <xs:enumeration value="false" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-            <xs:attribute name="type" default="String">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="PlainString" />
-                        <xs:enumeration value="String" />
-                        <xs:enumeration value="BigDecimal" />
-                        <xs:enumeration value="Double" />
-                        <xs:enumeration value="Float" />
-                        <xs:enumeration value="List" />
-                        <xs:enumeration value="Long" />
-                        <xs:enumeration value="Integer" />
-                        <xs:enumeration value="Date" />
-                        <xs:enumeration value="Time" />
-                        <xs:enumeration value="Timestamp" />
-                        <xs:enumeration value="Boolean" />
-                        <xs:enumeration value="Object" />
-                        <xs:enumeration value="NewList" />
-                        <xs:enumeration value="NewMap" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-
+    <xs:element name="call-parent-actions" substitutionGroup="AllActions" />
     <xs:element name="entity-and" substitutionGroup="AllActions">
         <xs:complexType>
             <xs:sequence>
@@ -1923,8 +1850,7 @@ under the License.
                     <xs:element ref="use-iterator" />
                 </xs:choice>
             </xs:sequence>
-            <xs:attribute name="entity-name" type="xs:string" use="required" />
-            <xs:attribute name="list" type="xs:string" use="optional" />
+            <xs:attribute type="xs:string" name="entity-name" use="required" />
             <xs:attribute name="use-cache" default="false">
                 <xs:simpleType>
                     <xs:restriction base="xs:token">
@@ -1942,6 +1868,7 @@ under the License.
                     </xs:restriction>
                 </xs:simpleType>
             </xs:attribute>
+            <xs:attribute type="xs:string" name="list" />
             <xs:attribute name="result-set-type" default="scroll">
                 <xs:simpleType>
                     <xs:restriction base="xs:token">
@@ -1969,8 +1896,7 @@ under the License.
                     <xs:element ref="use-iterator" />
                 </xs:choice>
             </xs:sequence>
-            <xs:attribute name="entity-name" type="xs:string" use="required" />
-            <xs:attribute name="list" type="xs:string" use="optional" />
+            <xs:attribute type="xs:string" name="entity-name" use="required" />
             <xs:attribute name="use-cache" default="false">
                 <xs:simpleType>
                     <xs:restriction base="xs:token">
@@ -1996,7 +1922,8 @@ under the License.
                     </xs:restriction>
                 </xs:simpleType>
             </xs:attribute>
-            <xs:attribute name="delegator-name" />
+            <xs:attribute type="xs:string" name="delegator-name" />
+            <xs:attribute type="xs:string" name="list" />
             <xs:attribute name="result-set-type" default="scroll">
                 <xs:simpleType>
                     <xs:restriction base="xs:token">
@@ -2007,172 +1934,4 @@ under the License.
             </xs:attribute>
         </xs:complexType>
     </xs:element>
-    <xs:element name="entity-one" substitutionGroup="AllActions">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element minOccurs="0" maxOccurs="unbounded" ref="field-map" />
-                <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" />
-            </xs:sequence>
-            <xs:attribute type="xs:string" name="entity-name" use="required" />
-            <xs:attribute type="xs:string" name="value-field" />
-            <xs:attribute name="use-cache" default="false">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="true" />
-                        <xs:enumeration value="false" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-            <xs:attribute name="auto-field-map" default="true">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="true" />
-                        <xs:enumeration value="false" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-
-    <xs:element name="condition-expr">
-        <xs:complexType>
-            <xs:attribute name="field-name" type="xs:string" use="required" />
-            <xs:attribute name="operator" default="equals">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="less" />
-                        <xs:enumeration value="greater" />
-                        <xs:enumeration value="less-equals" />
-                        <xs:enumeration value="greater-equals" />
-                        <xs:enumeration value="equals" />
-                        <xs:enumeration value="not-equals" />
-                        <xs:enumeration value="in" />
-                        <xs:enumeration value="between" />
-                        <xs:enumeration value="like" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-            <xs:attribute name="from-field" type="xs:string" />
-            <xs:attribute name="value" type="xs:string" />
-            <xs:attribute name="ignore-if-null" default="false">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="true" />
-                        <xs:enumeration value="false" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-            <xs:attribute name="ignore-if-empty" default="false">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="true" />
-                        <xs:enumeration value="false" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-            <xs:attribute name="ignore-case" default="false">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="true" />
-                        <xs:enumeration value="false" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-            <xs:attribute name="ignore" default="false">
-                <xs:annotation>
-                    <xs:documentation>
-                        Ignore the condition if flag is true.
-                        Defaults to false.
-                </xs:documentation>
-                </xs:annotation>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="condition-list">
-        <xs:complexType>
-            <xs:choice maxOccurs="unbounded">
-                <xs:element ref="condition-expr" />
-                <xs:element ref="condition-list" />
-                <xs:element ref="condition-object" />
-            </xs:choice>
-            <xs:attribute name="combine" default="and">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="and" />
-                        <xs:enumeration value="or" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="condition-object">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="field" use="required" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="field-map">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="field-name" use="required" />
-            <xs:attribute type="xs:string" name="from-field" />
-            <xs:attribute type="xs:string" name="value" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="having-condition-list">
-        <xs:complexType>
-            <xs:choice maxOccurs="unbounded">
-                <xs:element ref="condition-expr" />
-                <xs:element ref="condition-list" />
-                <xs:element ref="condition-object" />
-            </xs:choice>
-            <xs:attribute name="combine" default="and">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="and" />
-                        <xs:enumeration value="or" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="limit-range">
-        <xs:complexType>
-            <xs:attribute name="start" type="xs:string" use="required">
-                <xs:annotation>
-                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
-                </xs:annotation>
-            </xs:attribute>
-            <xs:attribute name="size" type="xs:string" use="required">
-                <xs:annotation>
-                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
-                </xs:annotation>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="limit-view">
-        <xs:complexType>
-            <xs:attribute name="view-index" type="xs:string" use="required">
-                <xs:annotation>
-                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
-                </xs:annotation>
-            </xs:attribute>
-            <xs:attribute name="view-size" type="xs:string" use="required">
-                <xs:annotation>
-                    <xs:documentation>Should resolve into a positive integer.</xs:documentation>
-                </xs:annotation>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="use-iterator" />
-    <xs:element name="order-by">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="field-name" use="required" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="select-field">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="field-name" use="required" />
-        </xs:complexType>
-    </xs:element>
-
-    <xs:element name="call-parent-actions" substitutionGroup="AllActions" />
 </xs:schema>

Modified: ofbiz/site/dtds/widget-menu.xsd
URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-menu.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
==============================================================================
--- ofbiz/site/dtds/widget-menu.xsd (original)
+++ ofbiz/site/dtds/widget-menu.xsd Mon Jan  5 21:51:13 2015
@@ -18,6 +18,7 @@ specific language governing permissions
 under the License.
 -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+    <xs:include schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
     <xs:element name="menus">
         <xs:complexType>
             <xs:sequence>
@@ -96,7 +97,32 @@ under the License.
     <xs:element name="menu-item">
         <xs:complexType>
             <xs:sequence>
-                <xs:element minOccurs="0" ref="condition" />
+                <xs:element name="condition" minOccurs="0">
+                    <xs:complexType>
+                        <xs:complexContent>
+                            <xs:extension base="ConditionRootType">
+                                <xs:attribute type="xs:string" name="pass-style">
+                                    <xs:annotation>
+                                        <xs:documentation>
+                                            If a pass-style provided and the condition passes, the widget-style of
+                                            the parent menu-item is set with the pass-style. If no pass-style is given,
+                                            the widget-style is not changed.
+                                        </xs:documentation>
+                                    </xs:annotation>
+                                </xs:attribute>
+                                <xs:attribute type="xs:string" name="disabled-style">
+                                    <xs:annotation>
+                                        <xs:documentation>
+                                            If a disabled-style provided and the condition fails, the disabled-style of
+                                            the parent menu-item is set with the disabled-style and processing is allowed to continue.
+                                            If no disabled-style is given, the widget-style is not changed and the menu-item is not rendered.
+                                        </xs:documentation>
+                                    </xs:annotation>
+                                </xs:attribute>
+                            </xs:extension>
+                        </xs:complexContent>
+                    </xs:complexType>
+                </xs:element>
                 <xs:element minOccurs="0" ref="actions" />
                 <xs:element minOccurs="0" ref="link" />
                 <xs:element minOccurs="0" maxOccurs="unbounded" ref="menu-item" />
@@ -294,8 +320,6 @@ under the License.
         </xs:complexType>
     </xs:element>
 
-    <!-- ================ ACTIONS ================ -->
-    <xs:element name="AllActions" abstract="true"/>
     <xs:element name="actions">
         <xs:complexType>
             <xs:sequence>
@@ -303,27 +327,20 @@ under the License.
             </xs:sequence>
         </xs:complexType>
     </xs:element>
-    <xs:element name="property-map" substitutionGroup="AllActions">
+    <xs:element name="entity-and" substitutionGroup="AllActions">
         <xs:complexType>
-            <xs:attribute type="xs:string" name="resource" use="required" />
-            <xs:attribute type="xs:string" name="map-name" use="required" />
-            <xs:attribute name="global" default="false">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="true" />
-                        <xs:enumeration value="false" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="property-to-field" substitutionGroup="AllActions">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="resource" use="required" />
-            <xs:attribute type="xs:string" name="property" use="required" />
-            <xs:attribute type="xs:string" name="field" use="required" />
-            <xs:attribute type="xs:string" name="default" />
-            <xs:attribute name="no-locale" default="false">
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="field-map" />
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" />
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="order-by" />
+                <xs:choice minOccurs="0">
+                    <xs:element ref="limit-range" />
+                    <xs:element ref="limit-view" />
+                    <xs:element ref="use-iterator" />
+                </xs:choice>
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="entity-name" use="required" />
+            <xs:attribute name="use-cache" default="false">
                 <xs:simpleType>
                     <xs:restriction base="xs:token">
                         <xs:enumeration value="true" />
@@ -331,166 +348,45 @@ under the License.
                     </xs:restriction>
                 </xs:simpleType>
             </xs:attribute>
-            <xs:attribute type="xs:string" name="arg-list-name" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="script" substitutionGroup="AllActions">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="location" use="required" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="set" substitutionGroup="AllActions">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="field" use="required" />
-            <xs:attribute type="xs:string" name="from-field" />
-            <xs:attribute type="xs:string" name="value" />
-            <xs:attribute type="xs:string" name="default-value" />
-            <xs:attribute name="global" default="false">
+            <xs:attribute name="filter-by-date" default="false">
                 <xs:simpleType>
                     <xs:restriction base="xs:token">
                         <xs:enumeration value="true" />
                         <xs:enumeration value="false" />
+                        <xs:enumeration value="by-name" />
                     </xs:restriction>
                 </xs:simpleType>
             </xs:attribute>
-            <xs:attribute name="type" default="String">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="PlainString" />
-                        <xs:enumeration value="String" />
-                        <xs:enumeration value="BigDecimal" />
-                        <xs:enumeration value="Double" />
-                        <xs:enumeration value="Float" />
-                        <xs:enumeration value="List" />
-                        <xs:enumeration value="Long" />
-                        <xs:enumeration value="Integer" />
-                        <xs:enumeration value="Date" />
-                        <xs:enumeration value="Time" />
-                        <xs:enumeration value="Timestamp" />
-                        <xs:enumeration value="Boolean" />
-                        <xs:enumeration value="Object" />
-                        <xs:enumeration value="NewList" />
-                        <xs:enumeration value="NewMap" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-            <xs:attribute name="to-scope" default="screen">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="screen" />
-                        <xs:enumeration value="user" />
-                        <xs:enumeration value="application" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-            <xs:attribute name="from-scope" default="screen">
+            <xs:attribute type="xs:string" name="list" use="required" />
+            <xs:attribute name="result-set-type" default="scroll">
                 <xs:simpleType>
                     <xs:restriction base="xs:token">
-                        <xs:enumeration value="screen" />
-                        <xs:enumeration value="user" />
-                        <xs:enumeration value="application" />
+                        <xs:enumeration value="forward" />
+                        <xs:enumeration value="scroll" />
                     </xs:restriction>
                 </xs:simpleType>
             </xs:attribute>
         </xs:complexType>
     </xs:element>
-
-    <!-- ================ CONDITIONS ================ -->
-    <xs:element name="AllConditionals" abstract="true"/>
-    <xs:element name="condition">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element minOccurs="1" maxOccurs="1" ref="AllConditionals" />
-            </xs:sequence>
-            <xs:attribute type="xs:string" name="pass-style">
-                <xs:annotation>
-                    <xs:documentation>
-                        If a pass-style provided and the condition passes, the widget-style of
-                        the parent menu-item is set with the pass-style. If no pass-style is given,
-                        the widget-style is not changed.
-                </xs:documentation>
-                </xs:annotation>
-            </xs:attribute>
-            <xs:attribute type="xs:string" name="disabled-style">
-                <xs:annotation>
-                    <xs:documentation>
-                        If a disabled-style provided and the condition fails, the disabled-style of
-                        the parent menu-item is set with the disabled-style and processing is allowed to continue.
-                        If no disabled-style is given, the widget-style is not changed and the menu-item is not rendered.
-                </xs:documentation>
-                </xs:annotation>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="and" substitutionGroup="AllConditionals">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element maxOccurs="unbounded" ref="AllConditionals"/>
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xor" substitutionGroup="AllConditionals">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element maxOccurs="unbounded" ref="AllConditionals"/>
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="or" substitutionGroup="AllConditionals">
+    <xs:element name="entity-condition" substitutionGroup="AllActions">
         <xs:complexType>
             <xs:sequence>
-                <xs:element maxOccurs="unbounded" ref="AllConditionals"/>
+                <xs:choice minOccurs="0">
+                    <xs:element ref="condition-expr" />
+                    <xs:element ref="condition-list" />
+                    <xs:element ref="condition-object" />
+                </xs:choice>
+                <xs:element minOccurs="0" ref="having-condition-list" />
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" />
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="order-by" />
+                <xs:choice minOccurs="0">
+                    <xs:element ref="limit-range" />
+                    <xs:element ref="limit-view" />
+                    <xs:element ref="use-iterator" />
+                </xs:choice>
             </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="not" substitutionGroup="AllConditionals">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element ref="AllConditionals"/>
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="if-service-permission" substitutionGroup="AllConditionals">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="service-name" use="required" />
-            <xs:attribute type="xs:string" name="resource-description" use="optional" />
-            <xs:attribute name="main-action" use="optional">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="CREATE" />
-                        <xs:enumeration value="UPDATE" />
-                        <xs:enumeration value="DELETE" />
-                        <xs:enumeration value="VIEW" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="if-has-permission" substitutionGroup="AllConditionals">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="permission" use="required" />
-            <xs:attribute type="xs:string" name="action" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="if-entity-permission" substitutionGroup="AllConditionals">
-        <xs:complexType>
-            <xs:choice minOccurs="0">
-                <xs:element minOccurs="0" maxOccurs="1" ref="permission-condition-getter" />
-                <xs:element minOccurs="0" maxOccurs="1" ref="related-role-getter" />
-                <xs:element minOccurs="0" maxOccurs="1" ref="auxiliary-value-getter" />
-            </xs:choice>
             <xs:attribute type="xs:string" name="entity-name" use="required" />
-            <xs:attribute type="xs:string" name="entity-id" use="required">
-                <xs:annotation>
-                    <xs:documentation>Can have multiple pipe separated values, but don't use spaces.</xs:documentation>
-                </xs:annotation>
-            </xs:attribute>
-            <xs:attribute type="xs:string" name="target-operation" use="required">
-                <xs:annotation>
-                    <xs:documentation>Can have multiple pipe separated values, but don't use spaces.</xs:documentation>
-                </xs:annotation>
-            </xs:attribute>
-            <xs:attribute name="display-fail-cond" default="false">
+            <xs:attribute name="use-cache" default="false">
                 <xs:simpleType>
                     <xs:restriction base="xs:token">
                         <xs:enumeration value="true" />
@@ -498,130 +394,33 @@ under the License.
                     </xs:restriction>
                 </xs:simpleType>
             </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="permission-condition-getter">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="entity-name" />
-            <xs:attribute type="xs:string" name="operation-field-name" />
-            <xs:attribute type="xs:string" name="role-field-name" />
-            <xs:attribute type="xs:string" name="auxiliary-field-name" />
-            <xs:attribute type="xs:string" name="status-field-name" />
-            <xs:attribute type="xs:string" name="privilege-field-name" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="related-role-getter">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="entity-name" />
-            <xs:attribute type="xs:string" name="role-entity-name" />
-            <xs:attribute type="xs:string" name="role-type-field-name" />
-            <xs:attribute type="xs:string" name="party-field-name" />
-            <xs:attribute type="xs:string" name="owner-entity-field-name" />
-            <xs:attribute type="xs:string" name="entity-id-name" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="auxiliary-value-getter">
-        <xs:complexType>
-            <xs:attribute type="xs:string" name="entity-name" />
-            <xs:attribute type="xs:string" name="auxiliary-field-name" />
-            <xs:attribute type="xs:string" name="entity-id-name" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="if-validate-method" substitutionGroup="AllConditionals">
-        <xs:annotation>
-            <xs:documentation>Calls a static Java method that takes a String and returns a boolean.</xs:documentation>
-        </xs:annotation>
-        <xs:complexType>
-            <xs:attribute name="field" use="required" />
-            <xs:attribute name="method" use="required" />
-            <xs:attribute name="class" default="org.ofbiz.base.util.UtilValidate" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="if-compare" substitutionGroup="AllConditionals">
-        <xs:complexType>
-            <xs:attribute name="field" use="required" />
-            <xs:attribute name="operator" use="required">
-                <xs:simpleType>
-                    <xs:restriction base="xs:token">
-                        <xs:enumeration value="less" />
-                        <xs:enumeration value="greater" />
-                        <xs:enumeration value="less-equals" />
-                        <xs:enumeration value="greater-equals" />
-                        <xs:enumeration value="equals" />
-                        <xs:enumeration value="not-equals" />
-                        <xs:enumeration value="contains" />
-                    </xs:restriction>
-                </xs:simpleType>
-            </xs:attribute>
-            <xs:attribute name="value" use="required" />
-            <xs:attribute name="type" default="String">
+            <xs:attribute name="filter-by-date" default="false">
                 <xs:simpleType>
                     <xs:restriction base="xs:token">
-                        <xs:enumeration value="PlainString" />
-                        <xs:enumeration value="String" />
-                        <xs:enumeration value="BigDecimal" />
-                        <xs:enumeration value="Double" />
-                        <xs:enumeration value="Float" />
-                        <xs:enumeration value="Long" />
-                        <xs:enumeration value="Integer" />
-                        <xs:enumeration value="Date" />
-                        <xs:enumeration value="Time" />
-                        <xs:enumeration value="Timestamp" />
-                        <xs:enumeration value="Boolean" />
-                        <xs:enumeration value="Object" />
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
+                        <xs:enumeration value="by-name" />
                     </xs:restriction>
                 </xs:simpleType>
             </xs:attribute>
-            <xs:attribute name="format" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="if-compare-field" substitutionGroup="AllConditionals">
-        <xs:complexType>
-            <xs:attribute name="field" use="required" />
-            <xs:attribute name="operator" use="required">
+            <xs:attribute name="distinct" default="false">
                 <xs:simpleType>
                     <xs:restriction base="xs:token">
-                        <xs:enumeration value="less" />
-                        <xs:enumeration value="greater" />
-                        <xs:enumeration value="less-equals" />
-                        <xs:enumeration value="greater-equals" />
-                        <xs:enumeration value="equals" />
-                        <xs:enumeration value="not-equals" />
-                        <xs:enumeration value="contains" />
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
                     </xs:restriction>
                 </xs:simpleType>
             </xs:attribute>
-            <xs:attribute name="to-field" />
-            <xs:attribute name="type" default="String">
+            <xs:attribute type="xs:string" name="delegator-name" />
+            <xs:attribute type="xs:string" name="list" use="required" />
+            <xs:attribute name="result-set-type" default="scroll">
                 <xs:simpleType>
                     <xs:restriction base="xs:token">
-                        <xs:enumeration value="PlainString" />
-                        <xs:enumeration value="String" />
-                        <xs:enumeration value="BigDecimal" />
-                        <xs:enumeration value="Double" />
-                        <xs:enumeration value="Float" />
-                        <xs:enumeration value="Long" />
-                        <xs:enumeration value="Integer" />
-                        <xs:enumeration value="Date" />
-                        <xs:enumeration value="Time" />
-                        <xs:enumeration value="Timestamp" />
-                        <xs:enumeration value="Boolean" />
-                        <xs:enumeration value="Object" />
+                        <xs:enumeration value="forward" />
+                        <xs:enumeration value="scroll" />
                     </xs:restriction>
                 </xs:simpleType>
             </xs:attribute>
-            <xs:attribute name="format" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
-        <xs:complexType>
-            <xs:attribute name="field" use="required" />
-            <xs:attribute name="expr" use="required" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="if-empty" substitutionGroup="AllConditionals">
-        <xs:complexType>
-            <xs:attribute name="field" use="required" />
         </xs:complexType>
     </xs:element>
 </xs:schema>



Re: svn commit: r1649676 [1/2] - in /ofbiz/site/dtds: ofbiz-properties.xsd widget-common.xsd widget-form.xsd widget-menu.xsd widget-screen.xsd widget-tree.xsd

Posted by Jacques Le Roux <ja...@les7arts.com>.
Thanks for the pointer, I had a doubt and it's now clear. I will double-check though...

Jacques

Le 10/01/2015 19:21, Adrian Crum a écrit :
> Keep in mind this commit is based on your work:
>
> https://issues.apache.org/jira/browse/OFBIZ-4723
>
> Adrian Crum
> Sandglass Software
> www.sandglass-software.com
>
> On 1/10/2015 10:11 AM, Jacques Le Roux wrote:
>>
>> Le 10/01/2015 18:13, Adrian Crum a écrit :
>>> The underscores need to be replaced with dashes.
>>>
>>> pt_BR -> pt-BR
>>>
>>> I made the change to deliberately cause those validation errors so
>>> they will get fixed.
>>
>> In a message between I wrote
>>
>> <<Of course we could switch from underscores to dashes but I can't
>> clearly remember what this entails >>
>>
>> Nothing to fear? Else it's really a simple change of 26 390 occurences...
>>
>> Jacques
>>
>>>
>>> Adrian Crum
>>> Sandglass Software
>>> www.sandglass-software.com
>>>
>>> On 1/10/2015 1:01 AM, Jacques Le Roux wrote:
>>>> Hi Adrian,
>>>>
>>>> It's minor, but since recent changes (maybe not yours here) on
>>>> ofbiz-properties.xsd I get this kind of messages when editing:
>>>>
>>>> Error: [Xerces] cvc-datatype-valid.1.2.3: 'pt_BR' is not a valid
>>>> value of union type '#AnonType_lang'.
>>>> @see: http://www.w3.org/TR/xmlschema11-2/
>>>> #cvc-datatype-valid
>>>> Error: [Xerces] cvc-attribute.3: The value 'pt_BR' of attribute
>>>> 'xml:lang' on element 'value' is not valid with respect to
>>>> its type, '#AnonType_lang'.
>>>> @see: http://www.w3.org/TR/xmlschema11-1/#cvc-attribute
>>>>
>>>> I had a quick look at
>>>> http://www.w3.org/TR/xmlschema11-2/#cvc-datatype-valid but I can't
>>>> really warp my head around this jargon :/
>>>>
>>>> It's more clear here:
>>>> http://www.opentag.com/xfaq_lang.htm#lang_xmllangvalues
>>>>
>>>> So I see no solutions, do you have an idea?
>>>>
>>>> Thanks
>>>>
>>>> Jacques
>>>>
>>>> Le 05/01/2015 22:51, adrianc@apache.org a écrit :
>>>>> Author: adrianc
>>>>> Date: Mon Jan  5 21:51:13 2015
>>>>> New Revision: 1649676
>>>>>
>>>>> URL: http://svn.apache.org/r1649676
>>>>> Log:
>>>>> Update web site with recent schema changes.
>>>>>
>>>>> Added:
>>>>>      ofbiz/site/dtds/widget-common.xsd
>>>>> Modified:
>>>>>      ofbiz/site/dtds/ofbiz-properties.xsd
>>>>>      ofbiz/site/dtds/widget-form.xsd
>>>>>      ofbiz/site/dtds/widget-menu.xsd
>>>>>      ofbiz/site/dtds/widget-screen.xsd
>>>>>      ofbiz/site/dtds/widget-tree.xsd
>>>>>
>>>>> Modified: ofbiz/site/dtds/ofbiz-properties.xsd
>>>>> URL:
>>>>> http://svn.apache.org/viewvc/ofbiz/site/dtds/ofbiz-properties.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>>
>>>>>
>>>>> --- ofbiz/site/dtds/ofbiz-properties.xsd (original)
>>>>> +++ ofbiz/site/dtds/ofbiz-properties.xsd Mon Jan  5 21:51:13 2015
>>>>> @@ -23,7 +23,8 @@ under the License.
>>>>>       <xs:complexType name="valueType">
>>>>>           <xs:simpleContent>
>>>>>               <xs:extension base="xs:string">
>>>>> -                <xs:attribute ref="xml:lang" use="required"/>
>>>>> +                <xs:attribute ref="xml:lang" use="required" />
>>>>> +                <xs:attribute ref="xml:space" />
>>>>>               </xs:extension>
>>>>>           </xs:simpleContent>
>>>>>       </xs:complexType>
>>>>>
>>>>> Added: ofbiz/site/dtds/widget-common.xsd
>>>>> URL:
>>>>> http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-common.xsd?rev=1649676&view=auto
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>>
>>>>>
>>>>> --- ofbiz/site/dtds/widget-common.xsd (added)
>>>>> +++ ofbiz/site/dtds/widget-common.xsd Mon Jan  5 21:51:13 2015
>>>>> @@ -0,0 +1,519 @@
>>>>> +<?xml version="1.0" encoding="UTF-8"?>
>>>>> +<!--
>>>>> +Licensed to the Apache Software Foundation (ASF) under one
>>>>> +or more contributor license agreements.  See the NOTICE file
>>>>> +distributed with this work for additional information
>>>>> +regarding copyright ownership.  The ASF licenses this file
>>>>> +to you under the Apache License, Version 2.0 (the
>>>>> +"License"); you may not use this file except in compliance
>>>>> +with the License.  You may obtain a copy of the License at
>>>>> +
>>>>> +http://www.apache.org/licenses/LICENSE-2.0
>>>>> +
>>>>> +Unless required by applicable law or agreed to in writing,
>>>>> +software distributed under the License is distributed on an
>>>>> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>>>>> +KIND, either express or implied.  See the License for the
>>>>> +specific language governing permissions and limitations
>>>>> +under the License.
>>>>> +-->
>>>>> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>>>> elementFormDefault="qualified">
>>>>> +
>>>>> +    <xs:complexType name="ConditionRootType">
>>>>> +        <xs:choice>
>>>>> +            <xs:element ref="and" />
>>>>> +            <xs:element ref="or" />
>>>>> +            <xs:element ref="xor" />
>>>>> +            <xs:element ref="not" />
>>>>> +            <xs:element ref="if-service-permission" />
>>>>> +            <xs:element ref="if-has-permission" />
>>>>> +            <xs:element ref="if-entity-permission" />
>>>>> +            <xs:element ref="if-validate-method" />
>>>>> +            <xs:element ref="if-compare" />
>>>>> +            <xs:element ref="if-compare-field" />
>>>>> +            <xs:element ref="if-regexp" />
>>>>> +            <xs:element ref="if-empty" />
>>>>> +        </xs:choice>
>>>>> +    </xs:complexType>
>>>>> +    <xs:element name="AllConditionals" abstract="true" />
>>>>> +    <xs:element name="and" substitutionGroup="AllConditionals">
>>>>> +        <xs:complexType>
>>>>> +            <xs:sequence>
>>>>> +                <xs:element maxOccurs="unbounded"
>>>>> ref="AllConditionals" />
>>>>> +            </xs:sequence>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="xor" substitutionGroup="AllConditionals">
>>>>> +        <xs:complexType>
>>>>> +            <xs:sequence>
>>>>> +                <xs:element maxOccurs="unbounded"
>>>>> ref="AllConditionals" />
>>>>> +            </xs:sequence>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="or" substitutionGroup="AllConditionals">
>>>>> +        <xs:complexType>
>>>>> +            <xs:sequence>
>>>>> +                <xs:element maxOccurs="unbounded"
>>>>> ref="AllConditionals" />
>>>>> +            </xs:sequence>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="not" substitutionGroup="AllConditionals">
>>>>> +        <xs:complexType>
>>>>> +            <xs:sequence>
>>>>> +                <xs:element ref="AllConditionals" />
>>>>> +            </xs:sequence>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="if-service-permission"
>>>>> substitutionGroup="AllConditionals">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="service-name"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string"
>>>>> name="resource-description" use="optional" />
>>>>> +            <xs:attribute type="xs:string" name="context-map"
>>>>> use="optional" />
>>>>> +            <xs:attribute name="main-action" use="optional">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="CREATE" />
>>>>> +                        <xs:enumeration value="UPDATE" />
>>>>> +                        <xs:enumeration value="DELETE" />
>>>>> +                        <xs:enumeration value="VIEW" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="if-has-permission"
>>>>> substitutionGroup="AllConditionals">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="permission"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string" name="action" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="if-entity-permission"
>>>>> substitutionGroup="AllConditionals">
>>>>> +        <xs:complexType>
>>>>> +            <xs:choice minOccurs="0">
>>>>> +                <xs:element minOccurs="0" maxOccurs="1"
>>>>> ref="permission-condition-getter" />
>>>>> +                <xs:element minOccurs="0" maxOccurs="1"
>>>>> ref="related-role-getter" />
>>>>> +                <xs:element minOccurs="0" maxOccurs="1"
>>>>> ref="auxiliary-value-getter" />
>>>>> +            </xs:choice>
>>>>> +            <xs:attribute type="xs:string" name="entity-name"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string" name="entity-id"
>>>>> use="required">
>>>>> +                <xs:annotation>
>>>>> +                    <xs:documentation>Can have multiple pipe
>>>>> separated values, but don't use spaces.</xs:documentation>
>>>>> +                </xs:annotation>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute type="xs:string" name="target-operation"
>>>>> use="required">
>>>>> +                <xs:annotation>
>>>>> +                    <xs:documentation>Can have multiple pipe
>>>>> separated values, but don't use spaces.</xs:documentation>
>>>>> +                </xs:annotation>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute name="display-fail-cond" default="false">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="true" />
>>>>> +                        <xs:enumeration value="false" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="permission-condition-getter">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="entity-name" />
>>>>> +            <xs:attribute type="xs:string"
>>>>> name="operation-field-name" />
>>>>> +            <xs:attribute type="xs:string" name="role-field-name" />
>>>>> +            <xs:attribute type="xs:string"
>>>>> name="auxiliary-field-name" />
>>>>> +            <xs:attribute type="xs:string" name="status-field-name" />
>>>>> +            <xs:attribute type="xs:string"
>>>>> name="privilege-field-name" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="related-role-getter">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="entity-name" />
>>>>> +            <xs:attribute type="xs:string" name="role-entity-name" />
>>>>> +            <xs:attribute type="xs:string"
>>>>> name="role-type-field-name" />
>>>>> +            <xs:attribute type="xs:string" name="party-field-name" />
>>>>> +            <xs:attribute type="xs:string"
>>>>> name="owner-entity-field-name" />
>>>>> +            <xs:attribute type="xs:string" name="entity-id-name" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="auxiliary-value-getter">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="entity-name" />
>>>>> +            <xs:attribute type="xs:string"
>>>>> name="auxiliary-field-name" />
>>>>> +            <xs:attribute type="xs:string" name="entity-id-name" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="if-validate-method"
>>>>> substitutionGroup="AllConditionals">
>>>>> +        <xs:annotation>
>>>>> +            <xs:documentation>Calls a static Java method that takes a
>>>>> String and returns a boolean.</xs:documentation>
>>>>> +        </xs:annotation>
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="field"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string" name="method"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string" name="class"
>>>>> default="org.ofbiz.base.util.UtilValidate" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="if-compare" substitutionGroup="AllConditionals">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute name="field" type="xs:string"
>>>>> use="required" />
>>>>> +            <xs:attribute name="operator" use="required">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="less" />
>>>>> +                        <xs:enumeration value="greater" />
>>>>> +                        <xs:enumeration value="less-equals" />
>>>>> +                        <xs:enumeration value="greater-equals" />
>>>>> +                        <xs:enumeration value="equals" />
>>>>> +                        <xs:enumeration value="not-equals" />
>>>>> +                        <xs:enumeration value="contains" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute name="value" type="xs:string"
>>>>> use="required" />
>>>>> +            <xs:attribute name="type" default="String">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="PlainString" />
>>>>> +                        <xs:enumeration value="String" />
>>>>> +                        <xs:enumeration value="BigDecimal" />
>>>>> +                        <xs:enumeration value="Double" />
>>>>> +                        <xs:enumeration value="Float" />
>>>>> +                        <xs:enumeration value="Long" />
>>>>> +                        <xs:enumeration value="Integer" />
>>>>> +                        <xs:enumeration value="Date" />
>>>>> +                        <xs:enumeration value="Time" />
>>>>> +                        <xs:enumeration value="Timestamp" />
>>>>> +                        <xs:enumeration value="Boolean" />
>>>>> +                        <xs:enumeration value="Object" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute type="xs:string" name="format" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="if-compare-field"
>>>>> substitutionGroup="AllConditionals">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute name="field" type="xs:string"
>>>>> use="required" />
>>>>> +            <xs:attribute name="operator" use="required">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="less" />
>>>>> +                        <xs:enumeration value="greater" />
>>>>> +                        <xs:enumeration value="less-equals" />
>>>>> +                        <xs:enumeration value="greater-equals" />
>>>>> +                        <xs:enumeration value="equals" />
>>>>> +                        <xs:enumeration value="not-equals" />
>>>>> +                        <xs:enumeration value="contains" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute name="to-field" type="xs:string" />
>>>>> +            <xs:attribute name="type" default="String">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="PlainString" />
>>>>> +                        <xs:enumeration value="String" />
>>>>> +                        <xs:enumeration value="BigDecimal" />
>>>>> +                        <xs:enumeration value="Double" />
>>>>> +                        <xs:enumeration value="Float" />
>>>>> +                        <xs:enumeration value="Long" />
>>>>> +                        <xs:enumeration value="Integer" />
>>>>> +                        <xs:enumeration value="Date" />
>>>>> +                        <xs:enumeration value="Time" />
>>>>> +                        <xs:enumeration value="Timestamp" />
>>>>> +                        <xs:enumeration value="Boolean" />
>>>>> +                        <xs:enumeration value="Object" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute type="xs:string" name="format" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="field"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string" name="expr"
>>>>> use="required" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="if-empty" substitutionGroup="AllConditionals">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="field"
>>>>> use="required" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +
>>>>> +    <xs:element name="AllActions" abstract="true" />
>>>>> +    <xs:element name="set" substitutionGroup="AllActions">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="field"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string" name="from-field" />
>>>>> +            <xs:attribute type="xs:string" name="value" />
>>>>> +            <xs:attribute type="xs:string" name="default-value" />
>>>>> +            <xs:attribute name="global" default="false">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="true" />
>>>>> +                        <xs:enumeration value="false" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute name="type">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="PlainString" />
>>>>> +                        <xs:enumeration value="String" />
>>>>> +                        <xs:enumeration value="BigDecimal" />
>>>>> +                        <xs:enumeration value="Double" />
>>>>> +                        <xs:enumeration value="Float" />
>>>>> +                        <xs:enumeration value="List" />
>>>>> +                        <xs:enumeration value="Long" />
>>>>> +                        <xs:enumeration value="Integer" />
>>>>> +                        <xs:enumeration value="Date" />
>>>>> +                        <xs:enumeration value="Time" />
>>>>> +                        <xs:enumeration value="Timestamp" />
>>>>> +                        <xs:enumeration value="Boolean" />
>>>>> +                        <xs:enumeration value="Object" />
>>>>> +                        <xs:enumeration value="NewList" />
>>>>> +                        <xs:enumeration value="NewMap" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute name="to-scope" default="screen">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="screen" />
>>>>> +                        <xs:enumeration value="user" />
>>>>> +                        <xs:enumeration value="application" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute name="from-scope" default="screen">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="screen" />
>>>>> +                        <xs:enumeration value="user" />
>>>>> +                        <xs:enumeration value="application" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="property-map" substitutionGroup="AllActions">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="resource"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string" name="map-name"
>>>>> use="required" />
>>>>> +            <xs:attribute name="global" default="false">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="true" />
>>>>> +                        <xs:enumeration value="false" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="property-to-field"
>>>>> substitutionGroup="AllActions">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="resource"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string" name="property"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string" name="field"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string" name="default" />
>>>>> +            <xs:attribute name="no-locale" default="false">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="true" />
>>>>> +                        <xs:enumeration value="false" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute type="xs:string" name="arg-list-name" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="script" substitutionGroup="AllActions">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="location"
>>>>> use="required" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="entity-one" substitutionGroup="AllActions">
>>>>> +        <xs:complexType>
>>>>> +            <xs:sequence>
>>>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>>> ref="field-map" />
>>>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>>> ref="select-field" />
>>>>> +            </xs:sequence>
>>>>> +            <xs:attribute name="entity-name" type="xs:string"
>>>>> use="required" />
>>>>> +            <xs:attribute name="value-field" type="xs:string"
>>>>> use="required" />
>>>>> +            <xs:attribute name="use-cache" default="false">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="true" />
>>>>> +                        <xs:enumeration value="false" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute name="auto-field-map" default="true">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="true" />
>>>>> +                        <xs:enumeration value="false" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="get-related-one" substitutionGroup="AllActions">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute name="value-field" type="xs:string"
>>>>> use="required" />
>>>>> +            <xs:attribute name="relation-name" type="xs:string"
>>>>> use="required" />
>>>>> +            <xs:attribute name="use-cache" type="xs:string"
>>>>> default="false" />
>>>>> +            <xs:attribute name="to-value-field" type="xs:string"
>>>>> use="required" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="get-related" substitutionGroup="AllActions">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="value-field"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string" name="relation-name"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string" name="map" />
>>>>> +            <xs:attribute type="xs:string" name="order-by-list" />
>>>>> +            <xs:attribute type="xs:string" name="use-cache"
>>>>> default="false" />
>>>>> +            <xs:attribute type="xs:string" name="list"
>>>>> use="required" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="condition-list">
>>>>> +        <xs:complexType>
>>>>> +            <xs:choice maxOccurs="unbounded">
>>>>> +                <xs:element ref="condition-expr" />
>>>>> +                <xs:element ref="condition-list" />
>>>>> +                <xs:element ref="condition-object" />
>>>>> +            </xs:choice>
>>>>> +            <xs:attribute name="combine" default="and">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="and" />
>>>>> +                        <xs:enumeration value="or" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="having-condition-list">
>>>>> +        <xs:complexType>
>>>>> +            <xs:choice maxOccurs="unbounded">
>>>>> +                <xs:element ref="condition-expr" />
>>>>> +                <xs:element ref="condition-list" />
>>>>> +                <xs:element ref="condition-object" />
>>>>> +            </xs:choice>
>>>>> +            <xs:attribute name="combine" default="and">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="and" />
>>>>> +                        <xs:enumeration value="or" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="condition-expr">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="field-name"
>>>>> use="required" />
>>>>> +            <xs:attribute name="operator" default="equals">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="less" />
>>>>> +                        <xs:enumeration value="greater" />
>>>>> +                        <xs:enumeration value="less-equals" />
>>>>> +                        <xs:enumeration value="greater-equals" />
>>>>> +                        <xs:enumeration value="equals" />
>>>>> +                        <xs:enumeration value="not-equals" />
>>>>> +                        <xs:enumeration value="in" />
>>>>> +                        <xs:enumeration value="not-in" />
>>>>> +                        <xs:enumeration value="between" />
>>>>> +                        <xs:enumeration value="like" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute type="xs:string" name="from-field" />
>>>>> +            <xs:attribute type="xs:string" name="value" />
>>>>> +            <xs:attribute name="ignore-if-null" default="false">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="true" />
>>>>> +                        <xs:enumeration value="false" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute name="ignore-if-empty" default="false">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="true" />
>>>>> +                        <xs:enumeration value="false" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute name="ignore-case" default="false">
>>>>> +                <xs:simpleType>
>>>>> +                    <xs:restriction base="xs:token">
>>>>> +                        <xs:enumeration value="true" />
>>>>> +                        <xs:enumeration value="false" />
>>>>> +                    </xs:restriction>
>>>>> +                </xs:simpleType>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute name="ignore" default="false">
>>>>> +                <xs:annotation>
>>>>> +                    <xs:documentation>
>>>>> +                        Ignore the condition if flag is true.
>>>>> +                        Defaults to false.
>>>>> +                    </xs:documentation>
>>>>> +                </xs:annotation>
>>>>> +            </xs:attribute>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="condition-object">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="field"
>>>>> use="required" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="select-field">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="field-name"
>>>>> use="required" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="order-by">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="field-name"
>>>>> use="required" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="limit-range">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute name="start" type="xs:string"
>>>>> use="required">
>>>>> +                <xs:annotation>
>>>>> +                    <xs:documentation>Should resolve into a
>>>>> non-negative integer.</xs:documentation>
>>>>> +                </xs:annotation>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute name="size" type="xs:string" use="required">
>>>>> +                <xs:annotation>
>>>>> +                    <xs:documentation>Should resolve into a
>>>>> non-negative integer.</xs:documentation>
>>>>> +                </xs:annotation>
>>>>> +            </xs:attribute>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="limit-view">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute name="view-index" type="xs:string"
>>>>> use="required">
>>>>> +                <xs:annotation>
>>>>> +                    <xs:documentation>Should resolve into a
>>>>> non-negative integer.</xs:documentation>
>>>>> +                </xs:annotation>
>>>>> +            </xs:attribute>
>>>>> +            <xs:attribute name="view-size" type="xs:string"
>>>>> use="required">
>>>>> +                <xs:annotation>
>>>>> +                    <xs:documentation>Should resolve into a positive
>>>>> integer.</xs:documentation>
>>>>> +                </xs:annotation>
>>>>> +            </xs:attribute>
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +    <xs:element name="use-iterator" />
>>>>> +    <xs:element name="field-map">
>>>>> +        <xs:complexType>
>>>>> +            <xs:attribute type="xs:string" name="field-name"
>>>>> use="required" />
>>>>> +            <xs:attribute type="xs:string" name="from-field" />
>>>>> +            <xs:attribute type="xs:string" name="value" />
>>>>> +        </xs:complexType>
>>>>> +    </xs:element>
>>>>> +</xs:schema>
>>>>>
>>>>> Modified: ofbiz/site/dtds/widget-form.xsd
>>>>> URL:
>>>>> http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-form.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>>
>>>>>
>>>>> --- ofbiz/site/dtds/widget-form.xsd (original)
>>>>> +++ ofbiz/site/dtds/widget-form.xsd Mon Jan  5 21:51:13 2015
>>>>> @@ -18,6 +18,7 @@ specific language governing permissions
>>>>>   under the License.
>>>>>   -->
>>>>>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>>>> elementFormDefault="qualified">
>>>>> +    <xs:include
>>>>> schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
>>>>>     <!-- ================== FORMS ==================== -->
>>>>>       <xs:element name="forms">
>>>>> @@ -1798,7 +1799,6 @@ under the License.
>>>>>       </xs:element>
>>>>>     <!-- ================== ACTIONS ==================== -->
>>>>> -    <xs:element name="AllActions" abstract="true"/>
>>>>>       <xs:element name="actions">
>>>>>           <xs:complexType>
>>>>>               <xs:sequence>
>>>>> @@ -1813,42 +1813,6 @@ under the License.
>>>>>               </xs:sequence>
>>>>>           </xs:complexType>
>>>>>       </xs:element>
>>>>> -    <xs:element name="property-map" substitutionGroup="AllActions">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="resource"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="map-name"
>>>>> use="required" />
>>>>> -            <xs:attribute name="global" default="false">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="true" />
>>>>> -                        <xs:enumeration value="false" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="property-to-field"
>>>>> substitutionGroup="AllActions">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="resource"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="property"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="field"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="default" />
>>>>> -            <xs:attribute name="no-locale" default="false">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="true" />
>>>>> -                        <xs:enumeration value="false" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute type="xs:string" name="arg-list-name" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="script" substitutionGroup="AllActions">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="location"
>>>>> use="required" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>>       <xs:element name="service" substitutionGroup="AllActions">
>>>>>           <xs:complexType>
>>>>>               <xs:sequence>
>>>>> @@ -1873,44 +1837,7 @@ under the License.
>>>>>               </xs:attribute>
>>>>>           </xs:complexType>
>>>>>       </xs:element>
>>>>> -    <xs:element name="set" substitutionGroup="AllActions">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="field"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="from-field" />
>>>>> -            <xs:attribute type="xs:string" name="value" />
>>>>> -            <xs:attribute type="xs:string" name="default-value" />
>>>>> -            <xs:attribute name="global" default="false">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="true" />
>>>>> -                        <xs:enumeration value="false" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute name="type" default="String">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="PlainString" />
>>>>> -                        <xs:enumeration value="String" />
>>>>> -                        <xs:enumeration value="BigDecimal" />
>>>>> -                        <xs:enumeration value="Double" />
>>>>> -                        <xs:enumeration value="Float" />
>>>>> -                        <xs:enumeration value="List" />
>>>>> -                        <xs:enumeration value="Long" />
>>>>> -                        <xs:enumeration value="Integer" />
>>>>> -                        <xs:enumeration value="Date" />
>>>>> -                        <xs:enumeration value="Time" />
>>>>> -                        <xs:enumeration value="Timestamp" />
>>>>> -                        <xs:enumeration value="Boolean" />
>>>>> -                        <xs:enumeration value="Object" />
>>>>> -                        <xs:enumeration value="NewList" />
>>>>> -                        <xs:enumeration value="NewMap" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -
>>>>> +    <xs:element name="call-parent-actions"
>>>>> substitutionGroup="AllActions" />
>>>>>       <xs:element name="entity-and" substitutionGroup="AllActions">
>>>>>           <xs:complexType>
>>>>>               <xs:sequence>
>>>>> @@ -1923,8 +1850,7 @@ under the License.
>>>>>                       <xs:element ref="use-iterator" />
>>>>>                   </xs:choice>
>>>>>               </xs:sequence>
>>>>> -            <xs:attribute name="entity-name" type="xs:string"
>>>>> use="required" />
>>>>> -            <xs:attribute name="list" type="xs:string"
>>>>> use="optional" />
>>>>> +            <xs:attribute type="xs:string" name="entity-name"
>>>>> use="required" />
>>>>>               <xs:attribute name="use-cache" default="false">
>>>>>                   <xs:simpleType>
>>>>>                       <xs:restriction base="xs:token">
>>>>> @@ -1942,6 +1868,7 @@ under the License.
>>>>>                       </xs:restriction>
>>>>>                   </xs:simpleType>
>>>>>               </xs:attribute>
>>>>> +            <xs:attribute type="xs:string" name="list" />
>>>>>               <xs:attribute name="result-set-type" default="scroll">
>>>>>                   <xs:simpleType>
>>>>>                       <xs:restriction base="xs:token">
>>>>> @@ -1969,8 +1896,7 @@ under the License.
>>>>>                       <xs:element ref="use-iterator" />
>>>>>                   </xs:choice>
>>>>>               </xs:sequence>
>>>>> -            <xs:attribute name="entity-name" type="xs:string"
>>>>> use="required" />
>>>>> -            <xs:attribute name="list" type="xs:string"
>>>>> use="optional" />
>>>>> +            <xs:attribute type="xs:string" name="entity-name"
>>>>> use="required" />
>>>>>               <xs:attribute name="use-cache" default="false">
>>>>>                   <xs:simpleType>
>>>>>                       <xs:restriction base="xs:token">
>>>>> @@ -1996,7 +1922,8 @@ under the License.
>>>>>                       </xs:restriction>
>>>>>                   </xs:simpleType>
>>>>>               </xs:attribute>
>>>>> -            <xs:attribute name="delegator-name" />
>>>>> +            <xs:attribute type="xs:string" name="delegator-name" />
>>>>> +            <xs:attribute type="xs:string" name="list" />
>>>>>               <xs:attribute name="result-set-type" default="scroll">
>>>>>                   <xs:simpleType>
>>>>>                       <xs:restriction base="xs:token">
>>>>> @@ -2007,172 +1934,4 @@ under the License.
>>>>>               </xs:attribute>
>>>>>           </xs:complexType>
>>>>>       </xs:element>
>>>>> -    <xs:element name="entity-one" substitutionGroup="AllActions">
>>>>> -        <xs:complexType>
>>>>> -            <xs:sequence>
>>>>> -                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>>> ref="field-map" />
>>>>> -                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>>> ref="select-field" />
>>>>> -            </xs:sequence>
>>>>> -            <xs:attribute type="xs:string" name="entity-name"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="value-field" />
>>>>> -            <xs:attribute name="use-cache" default="false">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="true" />
>>>>> -                        <xs:enumeration value="false" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute name="auto-field-map" default="true">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="true" />
>>>>> -                        <xs:enumeration value="false" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -
>>>>> -    <xs:element name="condition-expr">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute name="field-name" type="xs:string"
>>>>> use="required" />
>>>>> -            <xs:attribute name="operator" default="equals">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="less" />
>>>>> -                        <xs:enumeration value="greater" />
>>>>> -                        <xs:enumeration value="less-equals" />
>>>>> -                        <xs:enumeration value="greater-equals" />
>>>>> -                        <xs:enumeration value="equals" />
>>>>> -                        <xs:enumeration value="not-equals" />
>>>>> -                        <xs:enumeration value="in" />
>>>>> -                        <xs:enumeration value="between" />
>>>>> -                        <xs:enumeration value="like" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute name="from-field" type="xs:string" />
>>>>> -            <xs:attribute name="value" type="xs:string" />
>>>>> -            <xs:attribute name="ignore-if-null" default="false">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="true" />
>>>>> -                        <xs:enumeration value="false" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute name="ignore-if-empty" default="false">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="true" />
>>>>> -                        <xs:enumeration value="false" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute name="ignore-case" default="false">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="true" />
>>>>> -                        <xs:enumeration value="false" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute name="ignore" default="false">
>>>>> -                <xs:annotation>
>>>>> -                    <xs:documentation>
>>>>> -                        Ignore the condition if flag is true.
>>>>> -                        Defaults to false.
>>>>> -                </xs:documentation>
>>>>> -                </xs:annotation>
>>>>> -            </xs:attribute>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="condition-list">
>>>>> -        <xs:complexType>
>>>>> -            <xs:choice maxOccurs="unbounded">
>>>>> -                <xs:element ref="condition-expr" />
>>>>> -                <xs:element ref="condition-list" />
>>>>> -                <xs:element ref="condition-object" />
>>>>> -            </xs:choice>
>>>>> -            <xs:attribute name="combine" default="and">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="and" />
>>>>> -                        <xs:enumeration value="or" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="condition-object">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="field"
>>>>> use="required" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="field-map">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="field-name"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="from-field" />
>>>>> -            <xs:attribute type="xs:string" name="value" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="having-condition-list">
>>>>> -        <xs:complexType>
>>>>> -            <xs:choice maxOccurs="unbounded">
>>>>> -                <xs:element ref="condition-expr" />
>>>>> -                <xs:element ref="condition-list" />
>>>>> -                <xs:element ref="condition-object" />
>>>>> -            </xs:choice>
>>>>> -            <xs:attribute name="combine" default="and">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="and" />
>>>>> -                        <xs:enumeration value="or" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="limit-range">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute name="start" type="xs:string"
>>>>> use="required">
>>>>> -                <xs:annotation>
>>>>> -                    <xs:documentation>Should resolve into a
>>>>> non-negative integer.</xs:documentation>
>>>>> -                </xs:annotation>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute name="size" type="xs:string" use="required">
>>>>> -                <xs:annotation>
>>>>> -                    <xs:documentation>Should resolve into a
>>>>> non-negative integer.</xs:documentation>
>>>>> -                </xs:annotation>
>>>>> -            </xs:attribute>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="limit-view">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute name="view-index" type="xs:string"
>>>>> use="required">
>>>>> -                <xs:annotation>
>>>>> -                    <xs:documentation>Should resolve into a
>>>>> non-negative integer.</xs:documentation>
>>>>> -                </xs:annotation>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute name="view-size" type="xs:string"
>>>>> use="required">
>>>>> -                <xs:annotation>
>>>>> -                    <xs:documentation>Should resolve into a positive
>>>>> integer.</xs:documentation>
>>>>> -                </xs:annotation>
>>>>> -            </xs:attribute>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="use-iterator" />
>>>>> -    <xs:element name="order-by">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="field-name"
>>>>> use="required" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="select-field">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="field-name"
>>>>> use="required" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -
>>>>> -    <xs:element name="call-parent-actions"
>>>>> substitutionGroup="AllActions" />
>>>>>   </xs:schema>
>>>>>
>>>>> Modified: ofbiz/site/dtds/widget-menu.xsd
>>>>> URL:
>>>>> http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-menu.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>>
>>>>>
>>>>> --- ofbiz/site/dtds/widget-menu.xsd (original)
>>>>> +++ ofbiz/site/dtds/widget-menu.xsd Mon Jan  5 21:51:13 2015
>>>>> @@ -18,6 +18,7 @@ specific language governing permissions
>>>>>   under the License.
>>>>>   -->
>>>>>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>>>> elementFormDefault="qualified">
>>>>> +    <xs:include
>>>>> schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
>>>>>       <xs:element name="menus">
>>>>>           <xs:complexType>
>>>>>               <xs:sequence>
>>>>> @@ -96,7 +97,32 @@ under the License.
>>>>>       <xs:element name="menu-item">
>>>>>           <xs:complexType>
>>>>>               <xs:sequence>
>>>>> -                <xs:element minOccurs="0" ref="condition" />
>>>>> +                <xs:element name="condition" minOccurs="0">
>>>>> +                    <xs:complexType>
>>>>> +                        <xs:complexContent>
>>>>> +                            <xs:extension base="ConditionRootType">
>>>>> +                                <xs:attribute type="xs:string"
>>>>> name="pass-style">
>>>>> +                                    <xs:annotation>
>>>>> + <xs:documentation>
>>>>> +                                            If a pass-style provided
>>>>> and the condition passes, the widget-style of
>>>>> +                                            the parent menu-item is
>>>>> set with the pass-style. If no pass-style is given,
>>>>> +                                            the widget-style is not
>>>>> changed.
>>>>> + </xs:documentation>
>>>>> + </xs:annotation>
>>>>> +                                </xs:attribute>
>>>>> +                                <xs:attribute type="xs:string"
>>>>> name="disabled-style">
>>>>> +                                    <xs:annotation>
>>>>> + <xs:documentation>
>>>>> +                                            If a disabled-style
>>>>> provided and the condition fails, the disabled-style of
>>>>> +                                            the parent menu-item is
>>>>> set with the disabled-style and processing is allowed to continue.
>>>>> +                                            If no disabled-style is
>>>>> given, the widget-style is not changed and the menu-item is not
>>>>> rendered.
>>>>> + </xs:documentation>
>>>>> + </xs:annotation>
>>>>> +                                </xs:attribute>
>>>>> +                            </xs:extension>
>>>>> +                        </xs:complexContent>
>>>>> +                    </xs:complexType>
>>>>> +                </xs:element>
>>>>>                   <xs:element minOccurs="0" ref="actions" />
>>>>>                   <xs:element minOccurs="0" ref="link" />
>>>>>                   <xs:element minOccurs="0" maxOccurs="unbounded"
>>>>> ref="menu-item" />
>>>>> @@ -294,8 +320,6 @@ under the License.
>>>>>           </xs:complexType>
>>>>>       </xs:element>
>>>>> -    <!-- ================ ACTIONS ================ -->
>>>>> -    <xs:element name="AllActions" abstract="true"/>
>>>>>       <xs:element name="actions">
>>>>>           <xs:complexType>
>>>>>               <xs:sequence>
>>>>> @@ -303,27 +327,20 @@ under the License.
>>>>>               </xs:sequence>
>>>>>           </xs:complexType>
>>>>>       </xs:element>
>>>>> -    <xs:element name="property-map" substitutionGroup="AllActions">
>>>>> +    <xs:element name="entity-and" substitutionGroup="AllActions">
>>>>>           <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="resource"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="map-name"
>>>>> use="required" />
>>>>> -            <xs:attribute name="global" default="false">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="true" />
>>>>> -                        <xs:enumeration value="false" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="property-to-field"
>>>>> substitutionGroup="AllActions">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="resource"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="property"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="field"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="default" />
>>>>> -            <xs:attribute name="no-locale" default="false">
>>>>> +            <xs:sequence>
>>>>> +                <xs:element maxOccurs="unbounded" ref="field-map" />
>>>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>>> ref="select-field" />
>>>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>>> ref="order-by" />
>>>>> +                <xs:choice minOccurs="0">
>>>>> +                    <xs:element ref="limit-range" />
>>>>> +                    <xs:element ref="limit-view" />
>>>>> +                    <xs:element ref="use-iterator" />
>>>>> +                </xs:choice>
>>>>> +            </xs:sequence>
>>>>> +            <xs:attribute type="xs:string" name="entity-name"
>>>>> use="required" />
>>>>> +            <xs:attribute name="use-cache" default="false">
>>>>>                   <xs:simpleType>
>>>>>                       <xs:restriction base="xs:token">
>>>>>                           <xs:enumeration value="true" />
>>>>> @@ -331,166 +348,45 @@ under the License.
>>>>>                       </xs:restriction>
>>>>>                   </xs:simpleType>
>>>>>               </xs:attribute>
>>>>> -            <xs:attribute type="xs:string" name="arg-list-name" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="script" substitutionGroup="AllActions">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="location"
>>>>> use="required" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="set" substitutionGroup="AllActions">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="field"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="from-field" />
>>>>> -            <xs:attribute type="xs:string" name="value" />
>>>>> -            <xs:attribute type="xs:string" name="default-value" />
>>>>> -            <xs:attribute name="global" default="false">
>>>>> +            <xs:attribute name="filter-by-date" default="false">
>>>>>                   <xs:simpleType>
>>>>>                       <xs:restriction base="xs:token">
>>>>>                           <xs:enumeration value="true" />
>>>>>                           <xs:enumeration value="false" />
>>>>> +                        <xs:enumeration value="by-name" />
>>>>>                       </xs:restriction>
>>>>>                   </xs:simpleType>
>>>>>               </xs:attribute>
>>>>> -            <xs:attribute name="type" default="String">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="PlainString" />
>>>>> -                        <xs:enumeration value="String" />
>>>>> -                        <xs:enumeration value="BigDecimal" />
>>>>> -                        <xs:enumeration value="Double" />
>>>>> -                        <xs:enumeration value="Float" />
>>>>> -                        <xs:enumeration value="List" />
>>>>> -                        <xs:enumeration value="Long" />
>>>>> -                        <xs:enumeration value="Integer" />
>>>>> -                        <xs:enumeration value="Date" />
>>>>> -                        <xs:enumeration value="Time" />
>>>>> -                        <xs:enumeration value="Timestamp" />
>>>>> -                        <xs:enumeration value="Boolean" />
>>>>> -                        <xs:enumeration value="Object" />
>>>>> -                        <xs:enumeration value="NewList" />
>>>>> -                        <xs:enumeration value="NewMap" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute name="to-scope" default="screen">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="screen" />
>>>>> -                        <xs:enumeration value="user" />
>>>>> -                        <xs:enumeration value="application" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute name="from-scope" default="screen">
>>>>> +            <xs:attribute type="xs:string" name="list"
>>>>> use="required" />
>>>>> +            <xs:attribute name="result-set-type" default="scroll">
>>>>>                   <xs:simpleType>
>>>>>                       <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="screen" />
>>>>> -                        <xs:enumeration value="user" />
>>>>> -                        <xs:enumeration value="application" />
>>>>> +                        <xs:enumeration value="forward" />
>>>>> +                        <xs:enumeration value="scroll" />
>>>>>                       </xs:restriction>
>>>>>                   </xs:simpleType>
>>>>>               </xs:attribute>
>>>>>           </xs:complexType>
>>>>>       </xs:element>
>>>>> -
>>>>> -    <!-- ================ CONDITIONS ================ -->
>>>>> -    <xs:element name="AllConditionals" abstract="true"/>
>>>>> -    <xs:element name="condition">
>>>>> -        <xs:complexType>
>>>>> -            <xs:sequence>
>>>>> -                <xs:element minOccurs="1" maxOccurs="1"
>>>>> ref="AllConditionals" />
>>>>> -            </xs:sequence>
>>>>> -            <xs:attribute type="xs:string" name="pass-style">
>>>>> -                <xs:annotation>
>>>>> -                    <xs:documentation>
>>>>> -                        If a pass-style provided and the condition
>>>>> passes, the widget-style of
>>>>> -                        the parent menu-item is set with the
>>>>> pass-style. If no pass-style is given,
>>>>> -                        the widget-style is not changed.
>>>>> -                </xs:documentation>
>>>>> -                </xs:annotation>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute type="xs:string" name="disabled-style">
>>>>> -                <xs:annotation>
>>>>> -                    <xs:documentation>
>>>>> -                        If a disabled-style provided and the
>>>>> condition fails, the disabled-style of
>>>>> -                        the parent menu-item is set with the
>>>>> disabled-style and processing is allowed to continue.
>>>>> -                        If no disabled-style is given, the
>>>>> widget-style is not changed and the menu-item is not rendered.
>>>>> -                </xs:documentation>
>>>>> -                </xs:annotation>
>>>>> -            </xs:attribute>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="and" substitutionGroup="AllConditionals">
>>>>> -        <xs:complexType>
>>>>> -            <xs:sequence>
>>>>> -                <xs:element maxOccurs="unbounded"
>>>>> ref="AllConditionals"/>
>>>>> -            </xs:sequence>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="xor" substitutionGroup="AllConditionals">
>>>>> -        <xs:complexType>
>>>>> -            <xs:sequence>
>>>>> -                <xs:element maxOccurs="unbounded"
>>>>> ref="AllConditionals"/>
>>>>> -            </xs:sequence>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="or" substitutionGroup="AllConditionals">
>>>>> +    <xs:element name="entity-condition"
>>>>> substitutionGroup="AllActions">
>>>>>           <xs:complexType>
>>>>>               <xs:sequence>
>>>>> -                <xs:element maxOccurs="unbounded"
>>>>> ref="AllConditionals"/>
>>>>> +                <xs:choice minOccurs="0">
>>>>> +                    <xs:element ref="condition-expr" />
>>>>> +                    <xs:element ref="condition-list" />
>>>>> +                    <xs:element ref="condition-object" />
>>>>> +                </xs:choice>
>>>>> +                <xs:element minOccurs="0"
>>>>> ref="having-condition-list" />
>>>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>>> ref="select-field" />
>>>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>>> ref="order-by" />
>>>>> +                <xs:choice minOccurs="0">
>>>>> +                    <xs:element ref="limit-range" />
>>>>> +                    <xs:element ref="limit-view" />
>>>>> +                    <xs:element ref="use-iterator" />
>>>>> +                </xs:choice>
>>>>>               </xs:sequence>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="not" substitutionGroup="AllConditionals">
>>>>> -        <xs:complexType>
>>>>> -            <xs:sequence>
>>>>> -                <xs:element ref="AllConditionals"/>
>>>>> -            </xs:sequence>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="if-service-permission"
>>>>> substitutionGroup="AllConditionals">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="service-name"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string"
>>>>> name="resource-description" use="optional" />
>>>>> -            <xs:attribute name="main-action" use="optional">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="CREATE" />
>>>>> -                        <xs:enumeration value="UPDATE" />
>>>>> -                        <xs:enumeration value="DELETE" />
>>>>> -                        <xs:enumeration value="VIEW" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="if-has-permission"
>>>>> substitutionGroup="AllConditionals">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="permission"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="action" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="if-entity-permission"
>>>>> substitutionGroup="AllConditionals">
>>>>> -        <xs:complexType>
>>>>> -            <xs:choice minOccurs="0">
>>>>> -                <xs:element minOccurs="0" maxOccurs="1"
>>>>> ref="permission-condition-getter" />
>>>>> -                <xs:element minOccurs="0" maxOccurs="1"
>>>>> ref="related-role-getter" />
>>>>> -                <xs:element minOccurs="0" maxOccurs="1"
>>>>> ref="auxiliary-value-getter" />
>>>>> -            </xs:choice>
>>>>>               <xs:attribute type="xs:string" name="entity-name"
>>>>> use="required" />
>>>>> -            <xs:attribute type="xs:string" name="entity-id"
>>>>> use="required">
>>>>> -                <xs:annotation>
>>>>> -                    <xs:documentation>Can have multiple pipe
>>>>> separated values, but don't use spaces.</xs:documentation>
>>>>> -                </xs:annotation>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute type="xs:string" name="target-operation"
>>>>> use="required">
>>>>> -                <xs:annotation>
>>>>> -                    <xs:documentation>Can have multiple pipe
>>>>> separated values, but don't use spaces.</xs:documentation>
>>>>> -                </xs:annotation>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute name="display-fail-cond" default="false">
>>>>> +            <xs:attribute name="use-cache" default="false">
>>>>>                   <xs:simpleType>
>>>>>                       <xs:restriction base="xs:token">
>>>>>                           <xs:enumeration value="true" />
>>>>> @@ -498,130 +394,33 @@ under the License.
>>>>>                       </xs:restriction>
>>>>>                   </xs:simpleType>
>>>>>               </xs:attribute>
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="permission-condition-getter">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="entity-name" />
>>>>> -            <xs:attribute type="xs:string"
>>>>> name="operation-field-name" />
>>>>> -            <xs:attribute type="xs:string" name="role-field-name" />
>>>>> -            <xs:attribute type="xs:string"
>>>>> name="auxiliary-field-name" />
>>>>> -            <xs:attribute type="xs:string" name="status-field-name" />
>>>>> -            <xs:attribute type="xs:string"
>>>>> name="privilege-field-name" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="related-role-getter">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="entity-name" />
>>>>> -            <xs:attribute type="xs:string" name="role-entity-name" />
>>>>> -            <xs:attribute type="xs:string"
>>>>> name="role-type-field-name" />
>>>>> -            <xs:attribute type="xs:string" name="party-field-name" />
>>>>> -            <xs:attribute type="xs:string"
>>>>> name="owner-entity-field-name" />
>>>>> -            <xs:attribute type="xs:string" name="entity-id-name" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="auxiliary-value-getter">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute type="xs:string" name="entity-name" />
>>>>> -            <xs:attribute type="xs:string"
>>>>> name="auxiliary-field-name" />
>>>>> -            <xs:attribute type="xs:string" name="entity-id-name" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="if-validate-method"
>>>>> substitutionGroup="AllConditionals">
>>>>> -        <xs:annotation>
>>>>> -            <xs:documentation>Calls a static Java method that takes a
>>>>> String and returns a boolean.</xs:documentation>
>>>>> -        </xs:annotation>
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute name="field" use="required" />
>>>>> -            <xs:attribute name="method" use="required" />
>>>>> -            <xs:attribute name="class"
>>>>> default="org.ofbiz.base.util.UtilValidate" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="if-compare" substitutionGroup="AllConditionals">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute name="field" use="required" />
>>>>> -            <xs:attribute name="operator" use="required">
>>>>> -                <xs:simpleType>
>>>>> -                    <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="less" />
>>>>> -                        <xs:enumeration value="greater" />
>>>>> -                        <xs:enumeration value="less-equals" />
>>>>> -                        <xs:enumeration value="greater-equals" />
>>>>> -                        <xs:enumeration value="equals" />
>>>>> -                        <xs:enumeration value="not-equals" />
>>>>> -                        <xs:enumeration value="contains" />
>>>>> -                    </xs:restriction>
>>>>> -                </xs:simpleType>
>>>>> -            </xs:attribute>
>>>>> -            <xs:attribute name="value" use="required" />
>>>>> -            <xs:attribute name="type" default="String">
>>>>> +            <xs:attribute name="filter-by-date" default="false">
>>>>>                   <xs:simpleType>
>>>>>                       <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="PlainString" />
>>>>> -                        <xs:enumeration value="String" />
>>>>> -                        <xs:enumeration value="BigDecimal" />
>>>>> -                        <xs:enumeration value="Double" />
>>>>> -                        <xs:enumeration value="Float" />
>>>>> -                        <xs:enumeration value="Long" />
>>>>> -                        <xs:enumeration value="Integer" />
>>>>> -                        <xs:enumeration value="Date" />
>>>>> -                        <xs:enumeration value="Time" />
>>>>> -                        <xs:enumeration value="Timestamp" />
>>>>> -                        <xs:enumeration value="Boolean" />
>>>>> -                        <xs:enumeration value="Object" />
>>>>> +                        <xs:enumeration value="true" />
>>>>> +                        <xs:enumeration value="false" />
>>>>> +                        <xs:enumeration value="by-name" />
>>>>>                       </xs:restriction>
>>>>>                   </xs:simpleType>
>>>>>               </xs:attribute>
>>>>> -            <xs:attribute name="format" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="if-compare-field"
>>>>> substitutionGroup="AllConditionals">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute name="field" use="required" />
>>>>> -            <xs:attribute name="operator" use="required">
>>>>> +            <xs:attribute name="distinct" default="false">
>>>>>                   <xs:simpleType>
>>>>>                       <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="less" />
>>>>> -                        <xs:enumeration value="greater" />
>>>>> -                        <xs:enumeration value="less-equals" />
>>>>> -                        <xs:enumeration value="greater-equals" />
>>>>> -                        <xs:enumeration value="equals" />
>>>>> -                        <xs:enumeration value="not-equals" />
>>>>> -                        <xs:enumeration value="contains" />
>>>>> +                        <xs:enumeration value="true" />
>>>>> +                        <xs:enumeration value="false" />
>>>>>                       </xs:restriction>
>>>>>                   </xs:simpleType>
>>>>>               </xs:attribute>
>>>>> -            <xs:attribute name="to-field" />
>>>>> -            <xs:attribute name="type" default="String">
>>>>> +            <xs:attribute type="xs:string" name="delegator-name" />
>>>>> +            <xs:attribute type="xs:string" name="list"
>>>>> use="required" />
>>>>> +            <xs:attribute name="result-set-type" default="scroll">
>>>>>                   <xs:simpleType>
>>>>>                       <xs:restriction base="xs:token">
>>>>> -                        <xs:enumeration value="PlainString" />
>>>>> -                        <xs:enumeration value="String" />
>>>>> -                        <xs:enumeration value="BigDecimal" />
>>>>> -                        <xs:enumeration value="Double" />
>>>>> -                        <xs:enumeration value="Float" />
>>>>> -                        <xs:enumeration value="Long" />
>>>>> -                        <xs:enumeration value="Integer" />
>>>>> -                        <xs:enumeration value="Date" />
>>>>> -                        <xs:enumeration value="Time" />
>>>>> -                        <xs:enumeration value="Timestamp" />
>>>>> -                        <xs:enumeration value="Boolean" />
>>>>> -                        <xs:enumeration value="Object" />
>>>>> +                        <xs:enumeration value="forward" />
>>>>> +                        <xs:enumeration value="scroll" />
>>>>>                       </xs:restriction>
>>>>>                   </xs:simpleType>
>>>>>               </xs:attribute>
>>>>> -            <xs:attribute name="format" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute name="field" use="required" />
>>>>> -            <xs:attribute name="expr" use="required" />
>>>>> -        </xs:complexType>
>>>>> -    </xs:element>
>>>>> -    <xs:element name="if-empty" substitutionGroup="AllConditionals">
>>>>> -        <xs:complexType>
>>>>> -            <xs:attribute name="field" use="required" />
>>>>>           </xs:complexType>
>>>>>       </xs:element>
>>>>>   </xs:schema>
>>>>>
>>>>>
>>>>>
>>>
>

Re: svn commit: r1649676 [1/2] - in /ofbiz/site/dtds: ofbiz-properties.xsd widget-common.xsd widget-form.xsd widget-menu.xsd widget-screen.xsd widget-tree.xsd

Posted by Adrian Crum <ad...@sandglass-software.com>.
Keep in mind this commit is based on your work:

https://issues.apache.org/jira/browse/OFBIZ-4723

Adrian Crum
Sandglass Software
www.sandglass-software.com

On 1/10/2015 10:11 AM, Jacques Le Roux wrote:
>
> Le 10/01/2015 18:13, Adrian Crum a écrit :
>> The underscores need to be replaced with dashes.
>>
>> pt_BR -> pt-BR
>>
>> I made the change to deliberately cause those validation errors so
>> they will get fixed.
>
> In a message between I wrote
>
> <<Of course we could switch from underscores to dashes but I can't
> clearly remember what this entails >>
>
> Nothing to fear? Else it's really a simple change of 26 390 occurences...
>
> Jacques
>
>>
>> Adrian Crum
>> Sandglass Software
>> www.sandglass-software.com
>>
>> On 1/10/2015 1:01 AM, Jacques Le Roux wrote:
>>> Hi Adrian,
>>>
>>> It's minor, but since recent changes (maybe not yours here) on
>>> ofbiz-properties.xsd I get this kind of messages when editing:
>>>
>>> Error: [Xerces] cvc-datatype-valid.1.2.3: 'pt_BR' is not a valid
>>> value of union type '#AnonType_lang'.
>>> @see: http://www.w3.org/TR/xmlschema11-2/
>>> #cvc-datatype-valid
>>> Error: [Xerces] cvc-attribute.3: The value 'pt_BR' of attribute
>>> 'xml:lang' on element 'value' is not valid with respect to
>>> its type, '#AnonType_lang'.
>>> @see: http://www.w3.org/TR/xmlschema11-1/#cvc-attribute
>>>
>>> I had a quick look at
>>> http://www.w3.org/TR/xmlschema11-2/#cvc-datatype-valid but I can't
>>> really warp my head around this jargon :/
>>>
>>> It's more clear here:
>>> http://www.opentag.com/xfaq_lang.htm#lang_xmllangvalues
>>>
>>> So I see no solutions, do you have an idea?
>>>
>>> Thanks
>>>
>>> Jacques
>>>
>>> Le 05/01/2015 22:51, adrianc@apache.org a écrit :
>>>> Author: adrianc
>>>> Date: Mon Jan  5 21:51:13 2015
>>>> New Revision: 1649676
>>>>
>>>> URL: http://svn.apache.org/r1649676
>>>> Log:
>>>> Update web site with recent schema changes.
>>>>
>>>> Added:
>>>>      ofbiz/site/dtds/widget-common.xsd
>>>> Modified:
>>>>      ofbiz/site/dtds/ofbiz-properties.xsd
>>>>      ofbiz/site/dtds/widget-form.xsd
>>>>      ofbiz/site/dtds/widget-menu.xsd
>>>>      ofbiz/site/dtds/widget-screen.xsd
>>>>      ofbiz/site/dtds/widget-tree.xsd
>>>>
>>>> Modified: ofbiz/site/dtds/ofbiz-properties.xsd
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/site/dtds/ofbiz-properties.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>>>>
>>>>
>>>> ==============================================================================
>>>>
>>>>
>>>> --- ofbiz/site/dtds/ofbiz-properties.xsd (original)
>>>> +++ ofbiz/site/dtds/ofbiz-properties.xsd Mon Jan  5 21:51:13 2015
>>>> @@ -23,7 +23,8 @@ under the License.
>>>>       <xs:complexType name="valueType">
>>>>           <xs:simpleContent>
>>>>               <xs:extension base="xs:string">
>>>> -                <xs:attribute ref="xml:lang" use="required"/>
>>>> +                <xs:attribute ref="xml:lang" use="required" />
>>>> +                <xs:attribute ref="xml:space" />
>>>>               </xs:extension>
>>>>           </xs:simpleContent>
>>>>       </xs:complexType>
>>>>
>>>> Added: ofbiz/site/dtds/widget-common.xsd
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-common.xsd?rev=1649676&view=auto
>>>>
>>>>
>>>> ==============================================================================
>>>>
>>>>
>>>> --- ofbiz/site/dtds/widget-common.xsd (added)
>>>> +++ ofbiz/site/dtds/widget-common.xsd Mon Jan  5 21:51:13 2015
>>>> @@ -0,0 +1,519 @@
>>>> +<?xml version="1.0" encoding="UTF-8"?>
>>>> +<!--
>>>> +Licensed to the Apache Software Foundation (ASF) under one
>>>> +or more contributor license agreements.  See the NOTICE file
>>>> +distributed with this work for additional information
>>>> +regarding copyright ownership.  The ASF licenses this file
>>>> +to you under the Apache License, Version 2.0 (the
>>>> +"License"); you may not use this file except in compliance
>>>> +with the License.  You may obtain a copy of the License at
>>>> +
>>>> +http://www.apache.org/licenses/LICENSE-2.0
>>>> +
>>>> +Unless required by applicable law or agreed to in writing,
>>>> +software distributed under the License is distributed on an
>>>> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>>>> +KIND, either express or implied.  See the License for the
>>>> +specific language governing permissions and limitations
>>>> +under the License.
>>>> +-->
>>>> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>>> elementFormDefault="qualified">
>>>> +
>>>> +    <xs:complexType name="ConditionRootType">
>>>> +        <xs:choice>
>>>> +            <xs:element ref="and" />
>>>> +            <xs:element ref="or" />
>>>> +            <xs:element ref="xor" />
>>>> +            <xs:element ref="not" />
>>>> +            <xs:element ref="if-service-permission" />
>>>> +            <xs:element ref="if-has-permission" />
>>>> +            <xs:element ref="if-entity-permission" />
>>>> +            <xs:element ref="if-validate-method" />
>>>> +            <xs:element ref="if-compare" />
>>>> +            <xs:element ref="if-compare-field" />
>>>> +            <xs:element ref="if-regexp" />
>>>> +            <xs:element ref="if-empty" />
>>>> +        </xs:choice>
>>>> +    </xs:complexType>
>>>> +    <xs:element name="AllConditionals" abstract="true" />
>>>> +    <xs:element name="and" substitutionGroup="AllConditionals">
>>>> +        <xs:complexType>
>>>> +            <xs:sequence>
>>>> +                <xs:element maxOccurs="unbounded"
>>>> ref="AllConditionals" />
>>>> +            </xs:sequence>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="xor" substitutionGroup="AllConditionals">
>>>> +        <xs:complexType>
>>>> +            <xs:sequence>
>>>> +                <xs:element maxOccurs="unbounded"
>>>> ref="AllConditionals" />
>>>> +            </xs:sequence>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="or" substitutionGroup="AllConditionals">
>>>> +        <xs:complexType>
>>>> +            <xs:sequence>
>>>> +                <xs:element maxOccurs="unbounded"
>>>> ref="AllConditionals" />
>>>> +            </xs:sequence>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="not" substitutionGroup="AllConditionals">
>>>> +        <xs:complexType>
>>>> +            <xs:sequence>
>>>> +                <xs:element ref="AllConditionals" />
>>>> +            </xs:sequence>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="if-service-permission"
>>>> substitutionGroup="AllConditionals">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="service-name"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string"
>>>> name="resource-description" use="optional" />
>>>> +            <xs:attribute type="xs:string" name="context-map"
>>>> use="optional" />
>>>> +            <xs:attribute name="main-action" use="optional">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="CREATE" />
>>>> +                        <xs:enumeration value="UPDATE" />
>>>> +                        <xs:enumeration value="DELETE" />
>>>> +                        <xs:enumeration value="VIEW" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="if-has-permission"
>>>> substitutionGroup="AllConditionals">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="permission"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string" name="action" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="if-entity-permission"
>>>> substitutionGroup="AllConditionals">
>>>> +        <xs:complexType>
>>>> +            <xs:choice minOccurs="0">
>>>> +                <xs:element minOccurs="0" maxOccurs="1"
>>>> ref="permission-condition-getter" />
>>>> +                <xs:element minOccurs="0" maxOccurs="1"
>>>> ref="related-role-getter" />
>>>> +                <xs:element minOccurs="0" maxOccurs="1"
>>>> ref="auxiliary-value-getter" />
>>>> +            </xs:choice>
>>>> +            <xs:attribute type="xs:string" name="entity-name"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string" name="entity-id"
>>>> use="required">
>>>> +                <xs:annotation>
>>>> +                    <xs:documentation>Can have multiple pipe
>>>> separated values, but don't use spaces.</xs:documentation>
>>>> +                </xs:annotation>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute type="xs:string" name="target-operation"
>>>> use="required">
>>>> +                <xs:annotation>
>>>> +                    <xs:documentation>Can have multiple pipe
>>>> separated values, but don't use spaces.</xs:documentation>
>>>> +                </xs:annotation>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute name="display-fail-cond" default="false">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="true" />
>>>> +                        <xs:enumeration value="false" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="permission-condition-getter">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="entity-name" />
>>>> +            <xs:attribute type="xs:string"
>>>> name="operation-field-name" />
>>>> +            <xs:attribute type="xs:string" name="role-field-name" />
>>>> +            <xs:attribute type="xs:string"
>>>> name="auxiliary-field-name" />
>>>> +            <xs:attribute type="xs:string" name="status-field-name" />
>>>> +            <xs:attribute type="xs:string"
>>>> name="privilege-field-name" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="related-role-getter">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="entity-name" />
>>>> +            <xs:attribute type="xs:string" name="role-entity-name" />
>>>> +            <xs:attribute type="xs:string"
>>>> name="role-type-field-name" />
>>>> +            <xs:attribute type="xs:string" name="party-field-name" />
>>>> +            <xs:attribute type="xs:string"
>>>> name="owner-entity-field-name" />
>>>> +            <xs:attribute type="xs:string" name="entity-id-name" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="auxiliary-value-getter">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="entity-name" />
>>>> +            <xs:attribute type="xs:string"
>>>> name="auxiliary-field-name" />
>>>> +            <xs:attribute type="xs:string" name="entity-id-name" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="if-validate-method"
>>>> substitutionGroup="AllConditionals">
>>>> +        <xs:annotation>
>>>> +            <xs:documentation>Calls a static Java method that takes a
>>>> String and returns a boolean.</xs:documentation>
>>>> +        </xs:annotation>
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="field"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string" name="method"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string" name="class"
>>>> default="org.ofbiz.base.util.UtilValidate" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="if-compare" substitutionGroup="AllConditionals">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute name="field" type="xs:string"
>>>> use="required" />
>>>> +            <xs:attribute name="operator" use="required">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="less" />
>>>> +                        <xs:enumeration value="greater" />
>>>> +                        <xs:enumeration value="less-equals" />
>>>> +                        <xs:enumeration value="greater-equals" />
>>>> +                        <xs:enumeration value="equals" />
>>>> +                        <xs:enumeration value="not-equals" />
>>>> +                        <xs:enumeration value="contains" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute name="value" type="xs:string"
>>>> use="required" />
>>>> +            <xs:attribute name="type" default="String">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="PlainString" />
>>>> +                        <xs:enumeration value="String" />
>>>> +                        <xs:enumeration value="BigDecimal" />
>>>> +                        <xs:enumeration value="Double" />
>>>> +                        <xs:enumeration value="Float" />
>>>> +                        <xs:enumeration value="Long" />
>>>> +                        <xs:enumeration value="Integer" />
>>>> +                        <xs:enumeration value="Date" />
>>>> +                        <xs:enumeration value="Time" />
>>>> +                        <xs:enumeration value="Timestamp" />
>>>> +                        <xs:enumeration value="Boolean" />
>>>> +                        <xs:enumeration value="Object" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute type="xs:string" name="format" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="if-compare-field"
>>>> substitutionGroup="AllConditionals">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute name="field" type="xs:string"
>>>> use="required" />
>>>> +            <xs:attribute name="operator" use="required">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="less" />
>>>> +                        <xs:enumeration value="greater" />
>>>> +                        <xs:enumeration value="less-equals" />
>>>> +                        <xs:enumeration value="greater-equals" />
>>>> +                        <xs:enumeration value="equals" />
>>>> +                        <xs:enumeration value="not-equals" />
>>>> +                        <xs:enumeration value="contains" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute name="to-field" type="xs:string" />
>>>> +            <xs:attribute name="type" default="String">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="PlainString" />
>>>> +                        <xs:enumeration value="String" />
>>>> +                        <xs:enumeration value="BigDecimal" />
>>>> +                        <xs:enumeration value="Double" />
>>>> +                        <xs:enumeration value="Float" />
>>>> +                        <xs:enumeration value="Long" />
>>>> +                        <xs:enumeration value="Integer" />
>>>> +                        <xs:enumeration value="Date" />
>>>> +                        <xs:enumeration value="Time" />
>>>> +                        <xs:enumeration value="Timestamp" />
>>>> +                        <xs:enumeration value="Boolean" />
>>>> +                        <xs:enumeration value="Object" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute type="xs:string" name="format" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="field"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string" name="expr"
>>>> use="required" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="if-empty" substitutionGroup="AllConditionals">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="field"
>>>> use="required" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +
>>>> +    <xs:element name="AllActions" abstract="true" />
>>>> +    <xs:element name="set" substitutionGroup="AllActions">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="field"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string" name="from-field" />
>>>> +            <xs:attribute type="xs:string" name="value" />
>>>> +            <xs:attribute type="xs:string" name="default-value" />
>>>> +            <xs:attribute name="global" default="false">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="true" />
>>>> +                        <xs:enumeration value="false" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute name="type">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="PlainString" />
>>>> +                        <xs:enumeration value="String" />
>>>> +                        <xs:enumeration value="BigDecimal" />
>>>> +                        <xs:enumeration value="Double" />
>>>> +                        <xs:enumeration value="Float" />
>>>> +                        <xs:enumeration value="List" />
>>>> +                        <xs:enumeration value="Long" />
>>>> +                        <xs:enumeration value="Integer" />
>>>> +                        <xs:enumeration value="Date" />
>>>> +                        <xs:enumeration value="Time" />
>>>> +                        <xs:enumeration value="Timestamp" />
>>>> +                        <xs:enumeration value="Boolean" />
>>>> +                        <xs:enumeration value="Object" />
>>>> +                        <xs:enumeration value="NewList" />
>>>> +                        <xs:enumeration value="NewMap" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute name="to-scope" default="screen">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="screen" />
>>>> +                        <xs:enumeration value="user" />
>>>> +                        <xs:enumeration value="application" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute name="from-scope" default="screen">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="screen" />
>>>> +                        <xs:enumeration value="user" />
>>>> +                        <xs:enumeration value="application" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="property-map" substitutionGroup="AllActions">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="resource"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string" name="map-name"
>>>> use="required" />
>>>> +            <xs:attribute name="global" default="false">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="true" />
>>>> +                        <xs:enumeration value="false" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="property-to-field"
>>>> substitutionGroup="AllActions">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="resource"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string" name="property"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string" name="field"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string" name="default" />
>>>> +            <xs:attribute name="no-locale" default="false">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="true" />
>>>> +                        <xs:enumeration value="false" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute type="xs:string" name="arg-list-name" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="script" substitutionGroup="AllActions">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="location"
>>>> use="required" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="entity-one" substitutionGroup="AllActions">
>>>> +        <xs:complexType>
>>>> +            <xs:sequence>
>>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>> ref="field-map" />
>>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>> ref="select-field" />
>>>> +            </xs:sequence>
>>>> +            <xs:attribute name="entity-name" type="xs:string"
>>>> use="required" />
>>>> +            <xs:attribute name="value-field" type="xs:string"
>>>> use="required" />
>>>> +            <xs:attribute name="use-cache" default="false">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="true" />
>>>> +                        <xs:enumeration value="false" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute name="auto-field-map" default="true">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="true" />
>>>> +                        <xs:enumeration value="false" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="get-related-one" substitutionGroup="AllActions">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute name="value-field" type="xs:string"
>>>> use="required" />
>>>> +            <xs:attribute name="relation-name" type="xs:string"
>>>> use="required" />
>>>> +            <xs:attribute name="use-cache" type="xs:string"
>>>> default="false" />
>>>> +            <xs:attribute name="to-value-field" type="xs:string"
>>>> use="required" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="get-related" substitutionGroup="AllActions">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="value-field"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string" name="relation-name"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string" name="map" />
>>>> +            <xs:attribute type="xs:string" name="order-by-list" />
>>>> +            <xs:attribute type="xs:string" name="use-cache"
>>>> default="false" />
>>>> +            <xs:attribute type="xs:string" name="list"
>>>> use="required" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="condition-list">
>>>> +        <xs:complexType>
>>>> +            <xs:choice maxOccurs="unbounded">
>>>> +                <xs:element ref="condition-expr" />
>>>> +                <xs:element ref="condition-list" />
>>>> +                <xs:element ref="condition-object" />
>>>> +            </xs:choice>
>>>> +            <xs:attribute name="combine" default="and">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="and" />
>>>> +                        <xs:enumeration value="or" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="having-condition-list">
>>>> +        <xs:complexType>
>>>> +            <xs:choice maxOccurs="unbounded">
>>>> +                <xs:element ref="condition-expr" />
>>>> +                <xs:element ref="condition-list" />
>>>> +                <xs:element ref="condition-object" />
>>>> +            </xs:choice>
>>>> +            <xs:attribute name="combine" default="and">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="and" />
>>>> +                        <xs:enumeration value="or" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="condition-expr">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="field-name"
>>>> use="required" />
>>>> +            <xs:attribute name="operator" default="equals">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="less" />
>>>> +                        <xs:enumeration value="greater" />
>>>> +                        <xs:enumeration value="less-equals" />
>>>> +                        <xs:enumeration value="greater-equals" />
>>>> +                        <xs:enumeration value="equals" />
>>>> +                        <xs:enumeration value="not-equals" />
>>>> +                        <xs:enumeration value="in" />
>>>> +                        <xs:enumeration value="not-in" />
>>>> +                        <xs:enumeration value="between" />
>>>> +                        <xs:enumeration value="like" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute type="xs:string" name="from-field" />
>>>> +            <xs:attribute type="xs:string" name="value" />
>>>> +            <xs:attribute name="ignore-if-null" default="false">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="true" />
>>>> +                        <xs:enumeration value="false" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute name="ignore-if-empty" default="false">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="true" />
>>>> +                        <xs:enumeration value="false" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute name="ignore-case" default="false">
>>>> +                <xs:simpleType>
>>>> +                    <xs:restriction base="xs:token">
>>>> +                        <xs:enumeration value="true" />
>>>> +                        <xs:enumeration value="false" />
>>>> +                    </xs:restriction>
>>>> +                </xs:simpleType>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute name="ignore" default="false">
>>>> +                <xs:annotation>
>>>> +                    <xs:documentation>
>>>> +                        Ignore the condition if flag is true.
>>>> +                        Defaults to false.
>>>> +                    </xs:documentation>
>>>> +                </xs:annotation>
>>>> +            </xs:attribute>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="condition-object">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="field"
>>>> use="required" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="select-field">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="field-name"
>>>> use="required" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="order-by">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="field-name"
>>>> use="required" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="limit-range">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute name="start" type="xs:string"
>>>> use="required">
>>>> +                <xs:annotation>
>>>> +                    <xs:documentation>Should resolve into a
>>>> non-negative integer.</xs:documentation>
>>>> +                </xs:annotation>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute name="size" type="xs:string" use="required">
>>>> +                <xs:annotation>
>>>> +                    <xs:documentation>Should resolve into a
>>>> non-negative integer.</xs:documentation>
>>>> +                </xs:annotation>
>>>> +            </xs:attribute>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="limit-view">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute name="view-index" type="xs:string"
>>>> use="required">
>>>> +                <xs:annotation>
>>>> +                    <xs:documentation>Should resolve into a
>>>> non-negative integer.</xs:documentation>
>>>> +                </xs:annotation>
>>>> +            </xs:attribute>
>>>> +            <xs:attribute name="view-size" type="xs:string"
>>>> use="required">
>>>> +                <xs:annotation>
>>>> +                    <xs:documentation>Should resolve into a positive
>>>> integer.</xs:documentation>
>>>> +                </xs:annotation>
>>>> +            </xs:attribute>
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +    <xs:element name="use-iterator" />
>>>> +    <xs:element name="field-map">
>>>> +        <xs:complexType>
>>>> +            <xs:attribute type="xs:string" name="field-name"
>>>> use="required" />
>>>> +            <xs:attribute type="xs:string" name="from-field" />
>>>> +            <xs:attribute type="xs:string" name="value" />
>>>> +        </xs:complexType>
>>>> +    </xs:element>
>>>> +</xs:schema>
>>>>
>>>> Modified: ofbiz/site/dtds/widget-form.xsd
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-form.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>>>>
>>>>
>>>> ==============================================================================
>>>>
>>>>
>>>> --- ofbiz/site/dtds/widget-form.xsd (original)
>>>> +++ ofbiz/site/dtds/widget-form.xsd Mon Jan  5 21:51:13 2015
>>>> @@ -18,6 +18,7 @@ specific language governing permissions
>>>>   under the License.
>>>>   -->
>>>>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>>> elementFormDefault="qualified">
>>>> +    <xs:include
>>>> schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
>>>>     <!-- ================== FORMS ==================== -->
>>>>       <xs:element name="forms">
>>>> @@ -1798,7 +1799,6 @@ under the License.
>>>>       </xs:element>
>>>>     <!-- ================== ACTIONS ==================== -->
>>>> -    <xs:element name="AllActions" abstract="true"/>
>>>>       <xs:element name="actions">
>>>>           <xs:complexType>
>>>>               <xs:sequence>
>>>> @@ -1813,42 +1813,6 @@ under the License.
>>>>               </xs:sequence>
>>>>           </xs:complexType>
>>>>       </xs:element>
>>>> -    <xs:element name="property-map" substitutionGroup="AllActions">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="resource"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="map-name"
>>>> use="required" />
>>>> -            <xs:attribute name="global" default="false">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="true" />
>>>> -                        <xs:enumeration value="false" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="property-to-field"
>>>> substitutionGroup="AllActions">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="resource"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="property"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="field"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="default" />
>>>> -            <xs:attribute name="no-locale" default="false">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="true" />
>>>> -                        <xs:enumeration value="false" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute type="xs:string" name="arg-list-name" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="script" substitutionGroup="AllActions">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="location"
>>>> use="required" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>>       <xs:element name="service" substitutionGroup="AllActions">
>>>>           <xs:complexType>
>>>>               <xs:sequence>
>>>> @@ -1873,44 +1837,7 @@ under the License.
>>>>               </xs:attribute>
>>>>           </xs:complexType>
>>>>       </xs:element>
>>>> -    <xs:element name="set" substitutionGroup="AllActions">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="field"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="from-field" />
>>>> -            <xs:attribute type="xs:string" name="value" />
>>>> -            <xs:attribute type="xs:string" name="default-value" />
>>>> -            <xs:attribute name="global" default="false">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="true" />
>>>> -                        <xs:enumeration value="false" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute name="type" default="String">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="PlainString" />
>>>> -                        <xs:enumeration value="String" />
>>>> -                        <xs:enumeration value="BigDecimal" />
>>>> -                        <xs:enumeration value="Double" />
>>>> -                        <xs:enumeration value="Float" />
>>>> -                        <xs:enumeration value="List" />
>>>> -                        <xs:enumeration value="Long" />
>>>> -                        <xs:enumeration value="Integer" />
>>>> -                        <xs:enumeration value="Date" />
>>>> -                        <xs:enumeration value="Time" />
>>>> -                        <xs:enumeration value="Timestamp" />
>>>> -                        <xs:enumeration value="Boolean" />
>>>> -                        <xs:enumeration value="Object" />
>>>> -                        <xs:enumeration value="NewList" />
>>>> -                        <xs:enumeration value="NewMap" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -
>>>> +    <xs:element name="call-parent-actions"
>>>> substitutionGroup="AllActions" />
>>>>       <xs:element name="entity-and" substitutionGroup="AllActions">
>>>>           <xs:complexType>
>>>>               <xs:sequence>
>>>> @@ -1923,8 +1850,7 @@ under the License.
>>>>                       <xs:element ref="use-iterator" />
>>>>                   </xs:choice>
>>>>               </xs:sequence>
>>>> -            <xs:attribute name="entity-name" type="xs:string"
>>>> use="required" />
>>>> -            <xs:attribute name="list" type="xs:string"
>>>> use="optional" />
>>>> +            <xs:attribute type="xs:string" name="entity-name"
>>>> use="required" />
>>>>               <xs:attribute name="use-cache" default="false">
>>>>                   <xs:simpleType>
>>>>                       <xs:restriction base="xs:token">
>>>> @@ -1942,6 +1868,7 @@ under the License.
>>>>                       </xs:restriction>
>>>>                   </xs:simpleType>
>>>>               </xs:attribute>
>>>> +            <xs:attribute type="xs:string" name="list" />
>>>>               <xs:attribute name="result-set-type" default="scroll">
>>>>                   <xs:simpleType>
>>>>                       <xs:restriction base="xs:token">
>>>> @@ -1969,8 +1896,7 @@ under the License.
>>>>                       <xs:element ref="use-iterator" />
>>>>                   </xs:choice>
>>>>               </xs:sequence>
>>>> -            <xs:attribute name="entity-name" type="xs:string"
>>>> use="required" />
>>>> -            <xs:attribute name="list" type="xs:string"
>>>> use="optional" />
>>>> +            <xs:attribute type="xs:string" name="entity-name"
>>>> use="required" />
>>>>               <xs:attribute name="use-cache" default="false">
>>>>                   <xs:simpleType>
>>>>                       <xs:restriction base="xs:token">
>>>> @@ -1996,7 +1922,8 @@ under the License.
>>>>                       </xs:restriction>
>>>>                   </xs:simpleType>
>>>>               </xs:attribute>
>>>> -            <xs:attribute name="delegator-name" />
>>>> +            <xs:attribute type="xs:string" name="delegator-name" />
>>>> +            <xs:attribute type="xs:string" name="list" />
>>>>               <xs:attribute name="result-set-type" default="scroll">
>>>>                   <xs:simpleType>
>>>>                       <xs:restriction base="xs:token">
>>>> @@ -2007,172 +1934,4 @@ under the License.
>>>>               </xs:attribute>
>>>>           </xs:complexType>
>>>>       </xs:element>
>>>> -    <xs:element name="entity-one" substitutionGroup="AllActions">
>>>> -        <xs:complexType>
>>>> -            <xs:sequence>
>>>> -                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>> ref="field-map" />
>>>> -                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>> ref="select-field" />
>>>> -            </xs:sequence>
>>>> -            <xs:attribute type="xs:string" name="entity-name"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="value-field" />
>>>> -            <xs:attribute name="use-cache" default="false">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="true" />
>>>> -                        <xs:enumeration value="false" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute name="auto-field-map" default="true">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="true" />
>>>> -                        <xs:enumeration value="false" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -
>>>> -    <xs:element name="condition-expr">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute name="field-name" type="xs:string"
>>>> use="required" />
>>>> -            <xs:attribute name="operator" default="equals">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="less" />
>>>> -                        <xs:enumeration value="greater" />
>>>> -                        <xs:enumeration value="less-equals" />
>>>> -                        <xs:enumeration value="greater-equals" />
>>>> -                        <xs:enumeration value="equals" />
>>>> -                        <xs:enumeration value="not-equals" />
>>>> -                        <xs:enumeration value="in" />
>>>> -                        <xs:enumeration value="between" />
>>>> -                        <xs:enumeration value="like" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute name="from-field" type="xs:string" />
>>>> -            <xs:attribute name="value" type="xs:string" />
>>>> -            <xs:attribute name="ignore-if-null" default="false">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="true" />
>>>> -                        <xs:enumeration value="false" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute name="ignore-if-empty" default="false">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="true" />
>>>> -                        <xs:enumeration value="false" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute name="ignore-case" default="false">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="true" />
>>>> -                        <xs:enumeration value="false" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute name="ignore" default="false">
>>>> -                <xs:annotation>
>>>> -                    <xs:documentation>
>>>> -                        Ignore the condition if flag is true.
>>>> -                        Defaults to false.
>>>> -                </xs:documentation>
>>>> -                </xs:annotation>
>>>> -            </xs:attribute>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="condition-list">
>>>> -        <xs:complexType>
>>>> -            <xs:choice maxOccurs="unbounded">
>>>> -                <xs:element ref="condition-expr" />
>>>> -                <xs:element ref="condition-list" />
>>>> -                <xs:element ref="condition-object" />
>>>> -            </xs:choice>
>>>> -            <xs:attribute name="combine" default="and">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="and" />
>>>> -                        <xs:enumeration value="or" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="condition-object">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="field"
>>>> use="required" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="field-map">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="field-name"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="from-field" />
>>>> -            <xs:attribute type="xs:string" name="value" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="having-condition-list">
>>>> -        <xs:complexType>
>>>> -            <xs:choice maxOccurs="unbounded">
>>>> -                <xs:element ref="condition-expr" />
>>>> -                <xs:element ref="condition-list" />
>>>> -                <xs:element ref="condition-object" />
>>>> -            </xs:choice>
>>>> -            <xs:attribute name="combine" default="and">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="and" />
>>>> -                        <xs:enumeration value="or" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="limit-range">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute name="start" type="xs:string"
>>>> use="required">
>>>> -                <xs:annotation>
>>>> -                    <xs:documentation>Should resolve into a
>>>> non-negative integer.</xs:documentation>
>>>> -                </xs:annotation>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute name="size" type="xs:string" use="required">
>>>> -                <xs:annotation>
>>>> -                    <xs:documentation>Should resolve into a
>>>> non-negative integer.</xs:documentation>
>>>> -                </xs:annotation>
>>>> -            </xs:attribute>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="limit-view">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute name="view-index" type="xs:string"
>>>> use="required">
>>>> -                <xs:annotation>
>>>> -                    <xs:documentation>Should resolve into a
>>>> non-negative integer.</xs:documentation>
>>>> -                </xs:annotation>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute name="view-size" type="xs:string"
>>>> use="required">
>>>> -                <xs:annotation>
>>>> -                    <xs:documentation>Should resolve into a positive
>>>> integer.</xs:documentation>
>>>> -                </xs:annotation>
>>>> -            </xs:attribute>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="use-iterator" />
>>>> -    <xs:element name="order-by">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="field-name"
>>>> use="required" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="select-field">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="field-name"
>>>> use="required" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -
>>>> -    <xs:element name="call-parent-actions"
>>>> substitutionGroup="AllActions" />
>>>>   </xs:schema>
>>>>
>>>> Modified: ofbiz/site/dtds/widget-menu.xsd
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-menu.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>>>>
>>>>
>>>> ==============================================================================
>>>>
>>>>
>>>> --- ofbiz/site/dtds/widget-menu.xsd (original)
>>>> +++ ofbiz/site/dtds/widget-menu.xsd Mon Jan  5 21:51:13 2015
>>>> @@ -18,6 +18,7 @@ specific language governing permissions
>>>>   under the License.
>>>>   -->
>>>>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>>> elementFormDefault="qualified">
>>>> +    <xs:include
>>>> schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
>>>>       <xs:element name="menus">
>>>>           <xs:complexType>
>>>>               <xs:sequence>
>>>> @@ -96,7 +97,32 @@ under the License.
>>>>       <xs:element name="menu-item">
>>>>           <xs:complexType>
>>>>               <xs:sequence>
>>>> -                <xs:element minOccurs="0" ref="condition" />
>>>> +                <xs:element name="condition" minOccurs="0">
>>>> +                    <xs:complexType>
>>>> +                        <xs:complexContent>
>>>> +                            <xs:extension base="ConditionRootType">
>>>> +                                <xs:attribute type="xs:string"
>>>> name="pass-style">
>>>> +                                    <xs:annotation>
>>>> + <xs:documentation>
>>>> +                                            If a pass-style provided
>>>> and the condition passes, the widget-style of
>>>> +                                            the parent menu-item is
>>>> set with the pass-style. If no pass-style is given,
>>>> +                                            the widget-style is not
>>>> changed.
>>>> + </xs:documentation>
>>>> +                                    </xs:annotation>
>>>> +                                </xs:attribute>
>>>> +                                <xs:attribute type="xs:string"
>>>> name="disabled-style">
>>>> +                                    <xs:annotation>
>>>> + <xs:documentation>
>>>> +                                            If a disabled-style
>>>> provided and the condition fails, the disabled-style of
>>>> +                                            the parent menu-item is
>>>> set with the disabled-style and processing is allowed to continue.
>>>> +                                            If no disabled-style is
>>>> given, the widget-style is not changed and the menu-item is not
>>>> rendered.
>>>> + </xs:documentation>
>>>> +                                    </xs:annotation>
>>>> +                                </xs:attribute>
>>>> +                            </xs:extension>
>>>> +                        </xs:complexContent>
>>>> +                    </xs:complexType>
>>>> +                </xs:element>
>>>>                   <xs:element minOccurs="0" ref="actions" />
>>>>                   <xs:element minOccurs="0" ref="link" />
>>>>                   <xs:element minOccurs="0" maxOccurs="unbounded"
>>>> ref="menu-item" />
>>>> @@ -294,8 +320,6 @@ under the License.
>>>>           </xs:complexType>
>>>>       </xs:element>
>>>> -    <!-- ================ ACTIONS ================ -->
>>>> -    <xs:element name="AllActions" abstract="true"/>
>>>>       <xs:element name="actions">
>>>>           <xs:complexType>
>>>>               <xs:sequence>
>>>> @@ -303,27 +327,20 @@ under the License.
>>>>               </xs:sequence>
>>>>           </xs:complexType>
>>>>       </xs:element>
>>>> -    <xs:element name="property-map" substitutionGroup="AllActions">
>>>> +    <xs:element name="entity-and" substitutionGroup="AllActions">
>>>>           <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="resource"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="map-name"
>>>> use="required" />
>>>> -            <xs:attribute name="global" default="false">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="true" />
>>>> -                        <xs:enumeration value="false" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="property-to-field"
>>>> substitutionGroup="AllActions">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="resource"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="property"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="field"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="default" />
>>>> -            <xs:attribute name="no-locale" default="false">
>>>> +            <xs:sequence>
>>>> +                <xs:element maxOccurs="unbounded" ref="field-map" />
>>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>> ref="select-field" />
>>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>> ref="order-by" />
>>>> +                <xs:choice minOccurs="0">
>>>> +                    <xs:element ref="limit-range" />
>>>> +                    <xs:element ref="limit-view" />
>>>> +                    <xs:element ref="use-iterator" />
>>>> +                </xs:choice>
>>>> +            </xs:sequence>
>>>> +            <xs:attribute type="xs:string" name="entity-name"
>>>> use="required" />
>>>> +            <xs:attribute name="use-cache" default="false">
>>>>                   <xs:simpleType>
>>>>                       <xs:restriction base="xs:token">
>>>>                           <xs:enumeration value="true" />
>>>> @@ -331,166 +348,45 @@ under the License.
>>>>                       </xs:restriction>
>>>>                   </xs:simpleType>
>>>>               </xs:attribute>
>>>> -            <xs:attribute type="xs:string" name="arg-list-name" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="script" substitutionGroup="AllActions">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="location"
>>>> use="required" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="set" substitutionGroup="AllActions">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="field"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="from-field" />
>>>> -            <xs:attribute type="xs:string" name="value" />
>>>> -            <xs:attribute type="xs:string" name="default-value" />
>>>> -            <xs:attribute name="global" default="false">
>>>> +            <xs:attribute name="filter-by-date" default="false">
>>>>                   <xs:simpleType>
>>>>                       <xs:restriction base="xs:token">
>>>>                           <xs:enumeration value="true" />
>>>>                           <xs:enumeration value="false" />
>>>> +                        <xs:enumeration value="by-name" />
>>>>                       </xs:restriction>
>>>>                   </xs:simpleType>
>>>>               </xs:attribute>
>>>> -            <xs:attribute name="type" default="String">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="PlainString" />
>>>> -                        <xs:enumeration value="String" />
>>>> -                        <xs:enumeration value="BigDecimal" />
>>>> -                        <xs:enumeration value="Double" />
>>>> -                        <xs:enumeration value="Float" />
>>>> -                        <xs:enumeration value="List" />
>>>> -                        <xs:enumeration value="Long" />
>>>> -                        <xs:enumeration value="Integer" />
>>>> -                        <xs:enumeration value="Date" />
>>>> -                        <xs:enumeration value="Time" />
>>>> -                        <xs:enumeration value="Timestamp" />
>>>> -                        <xs:enumeration value="Boolean" />
>>>> -                        <xs:enumeration value="Object" />
>>>> -                        <xs:enumeration value="NewList" />
>>>> -                        <xs:enumeration value="NewMap" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute name="to-scope" default="screen">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="screen" />
>>>> -                        <xs:enumeration value="user" />
>>>> -                        <xs:enumeration value="application" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute name="from-scope" default="screen">
>>>> +            <xs:attribute type="xs:string" name="list"
>>>> use="required" />
>>>> +            <xs:attribute name="result-set-type" default="scroll">
>>>>                   <xs:simpleType>
>>>>                       <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="screen" />
>>>> -                        <xs:enumeration value="user" />
>>>> -                        <xs:enumeration value="application" />
>>>> +                        <xs:enumeration value="forward" />
>>>> +                        <xs:enumeration value="scroll" />
>>>>                       </xs:restriction>
>>>>                   </xs:simpleType>
>>>>               </xs:attribute>
>>>>           </xs:complexType>
>>>>       </xs:element>
>>>> -
>>>> -    <!-- ================ CONDITIONS ================ -->
>>>> -    <xs:element name="AllConditionals" abstract="true"/>
>>>> -    <xs:element name="condition">
>>>> -        <xs:complexType>
>>>> -            <xs:sequence>
>>>> -                <xs:element minOccurs="1" maxOccurs="1"
>>>> ref="AllConditionals" />
>>>> -            </xs:sequence>
>>>> -            <xs:attribute type="xs:string" name="pass-style">
>>>> -                <xs:annotation>
>>>> -                    <xs:documentation>
>>>> -                        If a pass-style provided and the condition
>>>> passes, the widget-style of
>>>> -                        the parent menu-item is set with the
>>>> pass-style. If no pass-style is given,
>>>> -                        the widget-style is not changed.
>>>> -                </xs:documentation>
>>>> -                </xs:annotation>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute type="xs:string" name="disabled-style">
>>>> -                <xs:annotation>
>>>> -                    <xs:documentation>
>>>> -                        If a disabled-style provided and the
>>>> condition fails, the disabled-style of
>>>> -                        the parent menu-item is set with the
>>>> disabled-style and processing is allowed to continue.
>>>> -                        If no disabled-style is given, the
>>>> widget-style is not changed and the menu-item is not rendered.
>>>> -                </xs:documentation>
>>>> -                </xs:annotation>
>>>> -            </xs:attribute>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="and" substitutionGroup="AllConditionals">
>>>> -        <xs:complexType>
>>>> -            <xs:sequence>
>>>> -                <xs:element maxOccurs="unbounded"
>>>> ref="AllConditionals"/>
>>>> -            </xs:sequence>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="xor" substitutionGroup="AllConditionals">
>>>> -        <xs:complexType>
>>>> -            <xs:sequence>
>>>> -                <xs:element maxOccurs="unbounded"
>>>> ref="AllConditionals"/>
>>>> -            </xs:sequence>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="or" substitutionGroup="AllConditionals">
>>>> +    <xs:element name="entity-condition"
>>>> substitutionGroup="AllActions">
>>>>           <xs:complexType>
>>>>               <xs:sequence>
>>>> -                <xs:element maxOccurs="unbounded"
>>>> ref="AllConditionals"/>
>>>> +                <xs:choice minOccurs="0">
>>>> +                    <xs:element ref="condition-expr" />
>>>> +                    <xs:element ref="condition-list" />
>>>> +                    <xs:element ref="condition-object" />
>>>> +                </xs:choice>
>>>> +                <xs:element minOccurs="0"
>>>> ref="having-condition-list" />
>>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>> ref="select-field" />
>>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>>> ref="order-by" />
>>>> +                <xs:choice minOccurs="0">
>>>> +                    <xs:element ref="limit-range" />
>>>> +                    <xs:element ref="limit-view" />
>>>> +                    <xs:element ref="use-iterator" />
>>>> +                </xs:choice>
>>>>               </xs:sequence>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="not" substitutionGroup="AllConditionals">
>>>> -        <xs:complexType>
>>>> -            <xs:sequence>
>>>> -                <xs:element ref="AllConditionals"/>
>>>> -            </xs:sequence>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="if-service-permission"
>>>> substitutionGroup="AllConditionals">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="service-name"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string"
>>>> name="resource-description" use="optional" />
>>>> -            <xs:attribute name="main-action" use="optional">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="CREATE" />
>>>> -                        <xs:enumeration value="UPDATE" />
>>>> -                        <xs:enumeration value="DELETE" />
>>>> -                        <xs:enumeration value="VIEW" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="if-has-permission"
>>>> substitutionGroup="AllConditionals">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="permission"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="action" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="if-entity-permission"
>>>> substitutionGroup="AllConditionals">
>>>> -        <xs:complexType>
>>>> -            <xs:choice minOccurs="0">
>>>> -                <xs:element minOccurs="0" maxOccurs="1"
>>>> ref="permission-condition-getter" />
>>>> -                <xs:element minOccurs="0" maxOccurs="1"
>>>> ref="related-role-getter" />
>>>> -                <xs:element minOccurs="0" maxOccurs="1"
>>>> ref="auxiliary-value-getter" />
>>>> -            </xs:choice>
>>>>               <xs:attribute type="xs:string" name="entity-name"
>>>> use="required" />
>>>> -            <xs:attribute type="xs:string" name="entity-id"
>>>> use="required">
>>>> -                <xs:annotation>
>>>> -                    <xs:documentation>Can have multiple pipe
>>>> separated values, but don't use spaces.</xs:documentation>
>>>> -                </xs:annotation>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute type="xs:string" name="target-operation"
>>>> use="required">
>>>> -                <xs:annotation>
>>>> -                    <xs:documentation>Can have multiple pipe
>>>> separated values, but don't use spaces.</xs:documentation>
>>>> -                </xs:annotation>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute name="display-fail-cond" default="false">
>>>> +            <xs:attribute name="use-cache" default="false">
>>>>                   <xs:simpleType>
>>>>                       <xs:restriction base="xs:token">
>>>>                           <xs:enumeration value="true" />
>>>> @@ -498,130 +394,33 @@ under the License.
>>>>                       </xs:restriction>
>>>>                   </xs:simpleType>
>>>>               </xs:attribute>
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="permission-condition-getter">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="entity-name" />
>>>> -            <xs:attribute type="xs:string"
>>>> name="operation-field-name" />
>>>> -            <xs:attribute type="xs:string" name="role-field-name" />
>>>> -            <xs:attribute type="xs:string"
>>>> name="auxiliary-field-name" />
>>>> -            <xs:attribute type="xs:string" name="status-field-name" />
>>>> -            <xs:attribute type="xs:string"
>>>> name="privilege-field-name" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="related-role-getter">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="entity-name" />
>>>> -            <xs:attribute type="xs:string" name="role-entity-name" />
>>>> -            <xs:attribute type="xs:string"
>>>> name="role-type-field-name" />
>>>> -            <xs:attribute type="xs:string" name="party-field-name" />
>>>> -            <xs:attribute type="xs:string"
>>>> name="owner-entity-field-name" />
>>>> -            <xs:attribute type="xs:string" name="entity-id-name" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="auxiliary-value-getter">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute type="xs:string" name="entity-name" />
>>>> -            <xs:attribute type="xs:string"
>>>> name="auxiliary-field-name" />
>>>> -            <xs:attribute type="xs:string" name="entity-id-name" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="if-validate-method"
>>>> substitutionGroup="AllConditionals">
>>>> -        <xs:annotation>
>>>> -            <xs:documentation>Calls a static Java method that takes a
>>>> String and returns a boolean.</xs:documentation>
>>>> -        </xs:annotation>
>>>> -        <xs:complexType>
>>>> -            <xs:attribute name="field" use="required" />
>>>> -            <xs:attribute name="method" use="required" />
>>>> -            <xs:attribute name="class"
>>>> default="org.ofbiz.base.util.UtilValidate" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="if-compare" substitutionGroup="AllConditionals">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute name="field" use="required" />
>>>> -            <xs:attribute name="operator" use="required">
>>>> -                <xs:simpleType>
>>>> -                    <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="less" />
>>>> -                        <xs:enumeration value="greater" />
>>>> -                        <xs:enumeration value="less-equals" />
>>>> -                        <xs:enumeration value="greater-equals" />
>>>> -                        <xs:enumeration value="equals" />
>>>> -                        <xs:enumeration value="not-equals" />
>>>> -                        <xs:enumeration value="contains" />
>>>> -                    </xs:restriction>
>>>> -                </xs:simpleType>
>>>> -            </xs:attribute>
>>>> -            <xs:attribute name="value" use="required" />
>>>> -            <xs:attribute name="type" default="String">
>>>> +            <xs:attribute name="filter-by-date" default="false">
>>>>                   <xs:simpleType>
>>>>                       <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="PlainString" />
>>>> -                        <xs:enumeration value="String" />
>>>> -                        <xs:enumeration value="BigDecimal" />
>>>> -                        <xs:enumeration value="Double" />
>>>> -                        <xs:enumeration value="Float" />
>>>> -                        <xs:enumeration value="Long" />
>>>> -                        <xs:enumeration value="Integer" />
>>>> -                        <xs:enumeration value="Date" />
>>>> -                        <xs:enumeration value="Time" />
>>>> -                        <xs:enumeration value="Timestamp" />
>>>> -                        <xs:enumeration value="Boolean" />
>>>> -                        <xs:enumeration value="Object" />
>>>> +                        <xs:enumeration value="true" />
>>>> +                        <xs:enumeration value="false" />
>>>> +                        <xs:enumeration value="by-name" />
>>>>                       </xs:restriction>
>>>>                   </xs:simpleType>
>>>>               </xs:attribute>
>>>> -            <xs:attribute name="format" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="if-compare-field"
>>>> substitutionGroup="AllConditionals">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute name="field" use="required" />
>>>> -            <xs:attribute name="operator" use="required">
>>>> +            <xs:attribute name="distinct" default="false">
>>>>                   <xs:simpleType>
>>>>                       <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="less" />
>>>> -                        <xs:enumeration value="greater" />
>>>> -                        <xs:enumeration value="less-equals" />
>>>> -                        <xs:enumeration value="greater-equals" />
>>>> -                        <xs:enumeration value="equals" />
>>>> -                        <xs:enumeration value="not-equals" />
>>>> -                        <xs:enumeration value="contains" />
>>>> +                        <xs:enumeration value="true" />
>>>> +                        <xs:enumeration value="false" />
>>>>                       </xs:restriction>
>>>>                   </xs:simpleType>
>>>>               </xs:attribute>
>>>> -            <xs:attribute name="to-field" />
>>>> -            <xs:attribute name="type" default="String">
>>>> +            <xs:attribute type="xs:string" name="delegator-name" />
>>>> +            <xs:attribute type="xs:string" name="list"
>>>> use="required" />
>>>> +            <xs:attribute name="result-set-type" default="scroll">
>>>>                   <xs:simpleType>
>>>>                       <xs:restriction base="xs:token">
>>>> -                        <xs:enumeration value="PlainString" />
>>>> -                        <xs:enumeration value="String" />
>>>> -                        <xs:enumeration value="BigDecimal" />
>>>> -                        <xs:enumeration value="Double" />
>>>> -                        <xs:enumeration value="Float" />
>>>> -                        <xs:enumeration value="Long" />
>>>> -                        <xs:enumeration value="Integer" />
>>>> -                        <xs:enumeration value="Date" />
>>>> -                        <xs:enumeration value="Time" />
>>>> -                        <xs:enumeration value="Timestamp" />
>>>> -                        <xs:enumeration value="Boolean" />
>>>> -                        <xs:enumeration value="Object" />
>>>> +                        <xs:enumeration value="forward" />
>>>> +                        <xs:enumeration value="scroll" />
>>>>                       </xs:restriction>
>>>>                   </xs:simpleType>
>>>>               </xs:attribute>
>>>> -            <xs:attribute name="format" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute name="field" use="required" />
>>>> -            <xs:attribute name="expr" use="required" />
>>>> -        </xs:complexType>
>>>> -    </xs:element>
>>>> -    <xs:element name="if-empty" substitutionGroup="AllConditionals">
>>>> -        <xs:complexType>
>>>> -            <xs:attribute name="field" use="required" />
>>>>           </xs:complexType>
>>>>       </xs:element>
>>>>   </xs:schema>
>>>>
>>>>
>>>>
>>

Re: svn commit: r1649676 [1/2] - in /ofbiz/site/dtds: ofbiz-properties.xsd widget-common.xsd widget-form.xsd widget-menu.xsd widget-screen.xsd widget-tree.xsd

Posted by Jacques Le Roux <ja...@les7arts.com>.
Le 10/01/2015 18:13, Adrian Crum a écrit :
> The underscores need to be replaced with dashes.
>
> pt_BR -> pt-BR
>
> I made the change to deliberately cause those validation errors so they will get fixed.

In a message between I wrote

<<Of course we could switch from underscores to dashes but I can't clearly remember what this entails >>

Nothing to fear? Else it's really a simple change of 26 390 occurences...

Jacques

>
> Adrian Crum
> Sandglass Software
> www.sandglass-software.com
>
> On 1/10/2015 1:01 AM, Jacques Le Roux wrote:
>> Hi Adrian,
>>
>> It's minor, but since recent changes (maybe not yours here) on
>> ofbiz-properties.xsd I get this kind of messages when editing:
>>
>> Error: [Xerces] cvc-datatype-valid.1.2.3: 'pt_BR' is not a valid
>> value of union type '#AnonType_lang'.
>> @see: http://www.w3.org/TR/xmlschema11-2/
>> #cvc-datatype-valid
>> Error: [Xerces] cvc-attribute.3: The value 'pt_BR' of attribute
>> 'xml:lang' on element 'value' is not valid with respect to
>> its type, '#AnonType_lang'.
>> @see: http://www.w3.org/TR/xmlschema11-1/#cvc-attribute
>>
>> I had a quick look at
>> http://www.w3.org/TR/xmlschema11-2/#cvc-datatype-valid but I can't
>> really warp my head around this jargon :/
>>
>> It's more clear here:
>> http://www.opentag.com/xfaq_lang.htm#lang_xmllangvalues
>>
>> So I see no solutions, do you have an idea?
>>
>> Thanks
>>
>> Jacques
>>
>> Le 05/01/2015 22:51, adrianc@apache.org a écrit :
>>> Author: adrianc
>>> Date: Mon Jan  5 21:51:13 2015
>>> New Revision: 1649676
>>>
>>> URL: http://svn.apache.org/r1649676
>>> Log:
>>> Update web site with recent schema changes.
>>>
>>> Added:
>>>      ofbiz/site/dtds/widget-common.xsd
>>> Modified:
>>>      ofbiz/site/dtds/ofbiz-properties.xsd
>>>      ofbiz/site/dtds/widget-form.xsd
>>>      ofbiz/site/dtds/widget-menu.xsd
>>>      ofbiz/site/dtds/widget-screen.xsd
>>>      ofbiz/site/dtds/widget-tree.xsd
>>>
>>> Modified: ofbiz/site/dtds/ofbiz-properties.xsd
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/site/dtds/ofbiz-properties.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>>>
>>> ==============================================================================
>>>
>>> --- ofbiz/site/dtds/ofbiz-properties.xsd (original)
>>> +++ ofbiz/site/dtds/ofbiz-properties.xsd Mon Jan  5 21:51:13 2015
>>> @@ -23,7 +23,8 @@ under the License.
>>>       <xs:complexType name="valueType">
>>>           <xs:simpleContent>
>>>               <xs:extension base="xs:string">
>>> -                <xs:attribute ref="xml:lang" use="required"/>
>>> +                <xs:attribute ref="xml:lang" use="required" />
>>> +                <xs:attribute ref="xml:space" />
>>>               </xs:extension>
>>>           </xs:simpleContent>
>>>       </xs:complexType>
>>>
>>> Added: ofbiz/site/dtds/widget-common.xsd
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-common.xsd?rev=1649676&view=auto
>>>
>>> ==============================================================================
>>>
>>> --- ofbiz/site/dtds/widget-common.xsd (added)
>>> +++ ofbiz/site/dtds/widget-common.xsd Mon Jan  5 21:51:13 2015
>>> @@ -0,0 +1,519 @@
>>> +<?xml version="1.0" encoding="UTF-8"?>
>>> +<!--
>>> +Licensed to the Apache Software Foundation (ASF) under one
>>> +or more contributor license agreements.  See the NOTICE file
>>> +distributed with this work for additional information
>>> +regarding copyright ownership.  The ASF licenses this file
>>> +to you under the Apache License, Version 2.0 (the
>>> +"License"); you may not use this file except in compliance
>>> +with the License.  You may obtain a copy of the License at
>>> +
>>> +http://www.apache.org/licenses/LICENSE-2.0
>>> +
>>> +Unless required by applicable law or agreed to in writing,
>>> +software distributed under the License is distributed on an
>>> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>>> +KIND, either express or implied.  See the License for the
>>> +specific language governing permissions and limitations
>>> +under the License.
>>> +-->
>>> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>> elementFormDefault="qualified">
>>> +
>>> +    <xs:complexType name="ConditionRootType">
>>> +        <xs:choice>
>>> +            <xs:element ref="and" />
>>> +            <xs:element ref="or" />
>>> +            <xs:element ref="xor" />
>>> +            <xs:element ref="not" />
>>> +            <xs:element ref="if-service-permission" />
>>> +            <xs:element ref="if-has-permission" />
>>> +            <xs:element ref="if-entity-permission" />
>>> +            <xs:element ref="if-validate-method" />
>>> +            <xs:element ref="if-compare" />
>>> +            <xs:element ref="if-compare-field" />
>>> +            <xs:element ref="if-regexp" />
>>> +            <xs:element ref="if-empty" />
>>> +        </xs:choice>
>>> +    </xs:complexType>
>>> +    <xs:element name="AllConditionals" abstract="true" />
>>> +    <xs:element name="and" substitutionGroup="AllConditionals">
>>> +        <xs:complexType>
>>> +            <xs:sequence>
>>> +                <xs:element maxOccurs="unbounded"
>>> ref="AllConditionals" />
>>> +            </xs:sequence>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="xor" substitutionGroup="AllConditionals">
>>> +        <xs:complexType>
>>> +            <xs:sequence>
>>> +                <xs:element maxOccurs="unbounded"
>>> ref="AllConditionals" />
>>> +            </xs:sequence>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="or" substitutionGroup="AllConditionals">
>>> +        <xs:complexType>
>>> +            <xs:sequence>
>>> +                <xs:element maxOccurs="unbounded"
>>> ref="AllConditionals" />
>>> +            </xs:sequence>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="not" substitutionGroup="AllConditionals">
>>> +        <xs:complexType>
>>> +            <xs:sequence>
>>> +                <xs:element ref="AllConditionals" />
>>> +            </xs:sequence>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="if-service-permission"
>>> substitutionGroup="AllConditionals">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="service-name"
>>> use="required" />
>>> +            <xs:attribute type="xs:string"
>>> name="resource-description" use="optional" />
>>> +            <xs:attribute type="xs:string" name="context-map"
>>> use="optional" />
>>> +            <xs:attribute name="main-action" use="optional">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="CREATE" />
>>> +                        <xs:enumeration value="UPDATE" />
>>> +                        <xs:enumeration value="DELETE" />
>>> +                        <xs:enumeration value="VIEW" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="if-has-permission"
>>> substitutionGroup="AllConditionals">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="permission"
>>> use="required" />
>>> +            <xs:attribute type="xs:string" name="action" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="if-entity-permission"
>>> substitutionGroup="AllConditionals">
>>> +        <xs:complexType>
>>> +            <xs:choice minOccurs="0">
>>> +                <xs:element minOccurs="0" maxOccurs="1"
>>> ref="permission-condition-getter" />
>>> +                <xs:element minOccurs="0" maxOccurs="1"
>>> ref="related-role-getter" />
>>> +                <xs:element minOccurs="0" maxOccurs="1"
>>> ref="auxiliary-value-getter" />
>>> +            </xs:choice>
>>> +            <xs:attribute type="xs:string" name="entity-name"
>>> use="required" />
>>> +            <xs:attribute type="xs:string" name="entity-id"
>>> use="required">
>>> +                <xs:annotation>
>>> +                    <xs:documentation>Can have multiple pipe
>>> separated values, but don't use spaces.</xs:documentation>
>>> +                </xs:annotation>
>>> +            </xs:attribute>
>>> +            <xs:attribute type="xs:string" name="target-operation"
>>> use="required">
>>> +                <xs:annotation>
>>> +                    <xs:documentation>Can have multiple pipe
>>> separated values, but don't use spaces.</xs:documentation>
>>> +                </xs:annotation>
>>> +            </xs:attribute>
>>> +            <xs:attribute name="display-fail-cond" default="false">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="true" />
>>> +                        <xs:enumeration value="false" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="permission-condition-getter">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="entity-name" />
>>> +            <xs:attribute type="xs:string"
>>> name="operation-field-name" />
>>> +            <xs:attribute type="xs:string" name="role-field-name" />
>>> +            <xs:attribute type="xs:string"
>>> name="auxiliary-field-name" />
>>> +            <xs:attribute type="xs:string" name="status-field-name" />
>>> +            <xs:attribute type="xs:string"
>>> name="privilege-field-name" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="related-role-getter">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="entity-name" />
>>> +            <xs:attribute type="xs:string" name="role-entity-name" />
>>> +            <xs:attribute type="xs:string"
>>> name="role-type-field-name" />
>>> +            <xs:attribute type="xs:string" name="party-field-name" />
>>> +            <xs:attribute type="xs:string"
>>> name="owner-entity-field-name" />
>>> +            <xs:attribute type="xs:string" name="entity-id-name" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="auxiliary-value-getter">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="entity-name" />
>>> +            <xs:attribute type="xs:string"
>>> name="auxiliary-field-name" />
>>> +            <xs:attribute type="xs:string" name="entity-id-name" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="if-validate-method"
>>> substitutionGroup="AllConditionals">
>>> +        <xs:annotation>
>>> +            <xs:documentation>Calls a static Java method that takes a
>>> String and returns a boolean.</xs:documentation>
>>> +        </xs:annotation>
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="field"
>>> use="required" />
>>> +            <xs:attribute type="xs:string" name="method"
>>> use="required" />
>>> +            <xs:attribute type="xs:string" name="class"
>>> default="org.ofbiz.base.util.UtilValidate" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="if-compare" substitutionGroup="AllConditionals">
>>> +        <xs:complexType>
>>> +            <xs:attribute name="field" type="xs:string"
>>> use="required" />
>>> +            <xs:attribute name="operator" use="required">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="less" />
>>> +                        <xs:enumeration value="greater" />
>>> +                        <xs:enumeration value="less-equals" />
>>> +                        <xs:enumeration value="greater-equals" />
>>> +                        <xs:enumeration value="equals" />
>>> +                        <xs:enumeration value="not-equals" />
>>> +                        <xs:enumeration value="contains" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +            <xs:attribute name="value" type="xs:string"
>>> use="required" />
>>> +            <xs:attribute name="type" default="String">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="PlainString" />
>>> +                        <xs:enumeration value="String" />
>>> +                        <xs:enumeration value="BigDecimal" />
>>> +                        <xs:enumeration value="Double" />
>>> +                        <xs:enumeration value="Float" />
>>> +                        <xs:enumeration value="Long" />
>>> +                        <xs:enumeration value="Integer" />
>>> +                        <xs:enumeration value="Date" />
>>> +                        <xs:enumeration value="Time" />
>>> +                        <xs:enumeration value="Timestamp" />
>>> +                        <xs:enumeration value="Boolean" />
>>> +                        <xs:enumeration value="Object" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +            <xs:attribute type="xs:string" name="format" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="if-compare-field"
>>> substitutionGroup="AllConditionals">
>>> +        <xs:complexType>
>>> +            <xs:attribute name="field" type="xs:string"
>>> use="required" />
>>> +            <xs:attribute name="operator" use="required">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="less" />
>>> +                        <xs:enumeration value="greater" />
>>> +                        <xs:enumeration value="less-equals" />
>>> +                        <xs:enumeration value="greater-equals" />
>>> +                        <xs:enumeration value="equals" />
>>> +                        <xs:enumeration value="not-equals" />
>>> +                        <xs:enumeration value="contains" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +            <xs:attribute name="to-field" type="xs:string" />
>>> +            <xs:attribute name="type" default="String">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="PlainString" />
>>> +                        <xs:enumeration value="String" />
>>> +                        <xs:enumeration value="BigDecimal" />
>>> +                        <xs:enumeration value="Double" />
>>> +                        <xs:enumeration value="Float" />
>>> +                        <xs:enumeration value="Long" />
>>> +                        <xs:enumeration value="Integer" />
>>> +                        <xs:enumeration value="Date" />
>>> +                        <xs:enumeration value="Time" />
>>> +                        <xs:enumeration value="Timestamp" />
>>> +                        <xs:enumeration value="Boolean" />
>>> +                        <xs:enumeration value="Object" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +            <xs:attribute type="xs:string" name="format" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="field"
>>> use="required" />
>>> +            <xs:attribute type="xs:string" name="expr" use="required" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="if-empty" substitutionGroup="AllConditionals">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="field"
>>> use="required" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +
>>> +    <xs:element name="AllActions" abstract="true" />
>>> +    <xs:element name="set" substitutionGroup="AllActions">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="field"
>>> use="required" />
>>> +            <xs:attribute type="xs:string" name="from-field" />
>>> +            <xs:attribute type="xs:string" name="value" />
>>> +            <xs:attribute type="xs:string" name="default-value" />
>>> +            <xs:attribute name="global" default="false">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="true" />
>>> +                        <xs:enumeration value="false" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +            <xs:attribute name="type">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="PlainString" />
>>> +                        <xs:enumeration value="String" />
>>> +                        <xs:enumeration value="BigDecimal" />
>>> +                        <xs:enumeration value="Double" />
>>> +                        <xs:enumeration value="Float" />
>>> +                        <xs:enumeration value="List" />
>>> +                        <xs:enumeration value="Long" />
>>> +                        <xs:enumeration value="Integer" />
>>> +                        <xs:enumeration value="Date" />
>>> +                        <xs:enumeration value="Time" />
>>> +                        <xs:enumeration value="Timestamp" />
>>> +                        <xs:enumeration value="Boolean" />
>>> +                        <xs:enumeration value="Object" />
>>> +                        <xs:enumeration value="NewList" />
>>> +                        <xs:enumeration value="NewMap" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +            <xs:attribute name="to-scope" default="screen">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="screen" />
>>> +                        <xs:enumeration value="user" />
>>> +                        <xs:enumeration value="application" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +            <xs:attribute name="from-scope" default="screen">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="screen" />
>>> +                        <xs:enumeration value="user" />
>>> +                        <xs:enumeration value="application" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="property-map" substitutionGroup="AllActions">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="resource"
>>> use="required" />
>>> +            <xs:attribute type="xs:string" name="map-name"
>>> use="required" />
>>> +            <xs:attribute name="global" default="false">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="true" />
>>> +                        <xs:enumeration value="false" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="property-to-field" substitutionGroup="AllActions">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="resource"
>>> use="required" />
>>> +            <xs:attribute type="xs:string" name="property"
>>> use="required" />
>>> +            <xs:attribute type="xs:string" name="field"
>>> use="required" />
>>> +            <xs:attribute type="xs:string" name="default" />
>>> +            <xs:attribute name="no-locale" default="false">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="true" />
>>> +                        <xs:enumeration value="false" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +            <xs:attribute type="xs:string" name="arg-list-name" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="script" substitutionGroup="AllActions">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="location"
>>> use="required" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="entity-one" substitutionGroup="AllActions">
>>> +        <xs:complexType>
>>> +            <xs:sequence>
>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>> ref="field-map" />
>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>> ref="select-field" />
>>> +            </xs:sequence>
>>> +            <xs:attribute name="entity-name" type="xs:string"
>>> use="required" />
>>> +            <xs:attribute name="value-field" type="xs:string"
>>> use="required" />
>>> +            <xs:attribute name="use-cache" default="false">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="true" />
>>> +                        <xs:enumeration value="false" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +            <xs:attribute name="auto-field-map" default="true">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="true" />
>>> +                        <xs:enumeration value="false" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="get-related-one" substitutionGroup="AllActions">
>>> +        <xs:complexType>
>>> +            <xs:attribute name="value-field" type="xs:string"
>>> use="required" />
>>> +            <xs:attribute name="relation-name" type="xs:string"
>>> use="required" />
>>> +            <xs:attribute name="use-cache" type="xs:string"
>>> default="false" />
>>> +            <xs:attribute name="to-value-field" type="xs:string"
>>> use="required" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="get-related" substitutionGroup="AllActions">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="value-field"
>>> use="required" />
>>> +            <xs:attribute type="xs:string" name="relation-name"
>>> use="required" />
>>> +            <xs:attribute type="xs:string" name="map" />
>>> +            <xs:attribute type="xs:string" name="order-by-list" />
>>> +            <xs:attribute type="xs:string" name="use-cache"
>>> default="false" />
>>> +            <xs:attribute type="xs:string" name="list" use="required" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="condition-list">
>>> +        <xs:complexType>
>>> +            <xs:choice maxOccurs="unbounded">
>>> +                <xs:element ref="condition-expr" />
>>> +                <xs:element ref="condition-list" />
>>> +                <xs:element ref="condition-object" />
>>> +            </xs:choice>
>>> +            <xs:attribute name="combine" default="and">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="and" />
>>> +                        <xs:enumeration value="or" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="having-condition-list">
>>> +        <xs:complexType>
>>> +            <xs:choice maxOccurs="unbounded">
>>> +                <xs:element ref="condition-expr" />
>>> +                <xs:element ref="condition-list" />
>>> +                <xs:element ref="condition-object" />
>>> +            </xs:choice>
>>> +            <xs:attribute name="combine" default="and">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="and" />
>>> +                        <xs:enumeration value="or" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="condition-expr">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="field-name"
>>> use="required" />
>>> +            <xs:attribute name="operator" default="equals">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="less" />
>>> +                        <xs:enumeration value="greater" />
>>> +                        <xs:enumeration value="less-equals" />
>>> +                        <xs:enumeration value="greater-equals" />
>>> +                        <xs:enumeration value="equals" />
>>> +                        <xs:enumeration value="not-equals" />
>>> +                        <xs:enumeration value="in" />
>>> +                        <xs:enumeration value="not-in" />
>>> +                        <xs:enumeration value="between" />
>>> +                        <xs:enumeration value="like" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +            <xs:attribute type="xs:string" name="from-field" />
>>> +            <xs:attribute type="xs:string" name="value" />
>>> +            <xs:attribute name="ignore-if-null" default="false">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="true" />
>>> +                        <xs:enumeration value="false" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +            <xs:attribute name="ignore-if-empty" default="false">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="true" />
>>> +                        <xs:enumeration value="false" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +            <xs:attribute name="ignore-case" default="false">
>>> +                <xs:simpleType>
>>> +                    <xs:restriction base="xs:token">
>>> +                        <xs:enumeration value="true" />
>>> +                        <xs:enumeration value="false" />
>>> +                    </xs:restriction>
>>> +                </xs:simpleType>
>>> +            </xs:attribute>
>>> +            <xs:attribute name="ignore" default="false">
>>> +                <xs:annotation>
>>> +                    <xs:documentation>
>>> +                        Ignore the condition if flag is true.
>>> +                        Defaults to false.
>>> +                    </xs:documentation>
>>> +                </xs:annotation>
>>> +            </xs:attribute>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="condition-object">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="field"
>>> use="required" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="select-field">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="field-name"
>>> use="required" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="order-by">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="field-name"
>>> use="required" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="limit-range">
>>> +        <xs:complexType>
>>> +            <xs:attribute name="start" type="xs:string" use="required">
>>> +                <xs:annotation>
>>> +                    <xs:documentation>Should resolve into a
>>> non-negative integer.</xs:documentation>
>>> +                </xs:annotation>
>>> +            </xs:attribute>
>>> +            <xs:attribute name="size" type="xs:string" use="required">
>>> +                <xs:annotation>
>>> +                    <xs:documentation>Should resolve into a
>>> non-negative integer.</xs:documentation>
>>> +                </xs:annotation>
>>> +            </xs:attribute>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="limit-view">
>>> +        <xs:complexType>
>>> +            <xs:attribute name="view-index" type="xs:string"
>>> use="required">
>>> +                <xs:annotation>
>>> +                    <xs:documentation>Should resolve into a
>>> non-negative integer.</xs:documentation>
>>> +                </xs:annotation>
>>> +            </xs:attribute>
>>> +            <xs:attribute name="view-size" type="xs:string"
>>> use="required">
>>> +                <xs:annotation>
>>> +                    <xs:documentation>Should resolve into a positive
>>> integer.</xs:documentation>
>>> +                </xs:annotation>
>>> +            </xs:attribute>
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +    <xs:element name="use-iterator" />
>>> +    <xs:element name="field-map">
>>> +        <xs:complexType>
>>> +            <xs:attribute type="xs:string" name="field-name"
>>> use="required" />
>>> +            <xs:attribute type="xs:string" name="from-field" />
>>> +            <xs:attribute type="xs:string" name="value" />
>>> +        </xs:complexType>
>>> +    </xs:element>
>>> +</xs:schema>
>>>
>>> Modified: ofbiz/site/dtds/widget-form.xsd
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-form.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>>>
>>> ==============================================================================
>>>
>>> --- ofbiz/site/dtds/widget-form.xsd (original)
>>> +++ ofbiz/site/dtds/widget-form.xsd Mon Jan  5 21:51:13 2015
>>> @@ -18,6 +18,7 @@ specific language governing permissions
>>>   under the License.
>>>   -->
>>>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>> elementFormDefault="qualified">
>>> +    <xs:include
>>> schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
>>>     <!-- ================== FORMS ==================== -->
>>>       <xs:element name="forms">
>>> @@ -1798,7 +1799,6 @@ under the License.
>>>       </xs:element>
>>>     <!-- ================== ACTIONS ==================== -->
>>> -    <xs:element name="AllActions" abstract="true"/>
>>>       <xs:element name="actions">
>>>           <xs:complexType>
>>>               <xs:sequence>
>>> @@ -1813,42 +1813,6 @@ under the License.
>>>               </xs:sequence>
>>>           </xs:complexType>
>>>       </xs:element>
>>> -    <xs:element name="property-map" substitutionGroup="AllActions">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="resource"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="map-name"
>>> use="required" />
>>> -            <xs:attribute name="global" default="false">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="true" />
>>> -                        <xs:enumeration value="false" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="property-to-field" substitutionGroup="AllActions">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="resource"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="property"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="field"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="default" />
>>> -            <xs:attribute name="no-locale" default="false">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="true" />
>>> -                        <xs:enumeration value="false" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -            <xs:attribute type="xs:string" name="arg-list-name" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="script" substitutionGroup="AllActions">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="location"
>>> use="required" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>>       <xs:element name="service" substitutionGroup="AllActions">
>>>           <xs:complexType>
>>>               <xs:sequence>
>>> @@ -1873,44 +1837,7 @@ under the License.
>>>               </xs:attribute>
>>>           </xs:complexType>
>>>       </xs:element>
>>> -    <xs:element name="set" substitutionGroup="AllActions">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="field"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="from-field" />
>>> -            <xs:attribute type="xs:string" name="value" />
>>> -            <xs:attribute type="xs:string" name="default-value" />
>>> -            <xs:attribute name="global" default="false">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="true" />
>>> -                        <xs:enumeration value="false" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -            <xs:attribute name="type" default="String">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="PlainString" />
>>> -                        <xs:enumeration value="String" />
>>> -                        <xs:enumeration value="BigDecimal" />
>>> -                        <xs:enumeration value="Double" />
>>> -                        <xs:enumeration value="Float" />
>>> -                        <xs:enumeration value="List" />
>>> -                        <xs:enumeration value="Long" />
>>> -                        <xs:enumeration value="Integer" />
>>> -                        <xs:enumeration value="Date" />
>>> -                        <xs:enumeration value="Time" />
>>> -                        <xs:enumeration value="Timestamp" />
>>> -                        <xs:enumeration value="Boolean" />
>>> -                        <xs:enumeration value="Object" />
>>> -                        <xs:enumeration value="NewList" />
>>> -                        <xs:enumeration value="NewMap" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -
>>> +    <xs:element name="call-parent-actions"
>>> substitutionGroup="AllActions" />
>>>       <xs:element name="entity-and" substitutionGroup="AllActions">
>>>           <xs:complexType>
>>>               <xs:sequence>
>>> @@ -1923,8 +1850,7 @@ under the License.
>>>                       <xs:element ref="use-iterator" />
>>>                   </xs:choice>
>>>               </xs:sequence>
>>> -            <xs:attribute name="entity-name" type="xs:string"
>>> use="required" />
>>> -            <xs:attribute name="list" type="xs:string" use="optional" />
>>> +            <xs:attribute type="xs:string" name="entity-name"
>>> use="required" />
>>>               <xs:attribute name="use-cache" default="false">
>>>                   <xs:simpleType>
>>>                       <xs:restriction base="xs:token">
>>> @@ -1942,6 +1868,7 @@ under the License.
>>>                       </xs:restriction>
>>>                   </xs:simpleType>
>>>               </xs:attribute>
>>> +            <xs:attribute type="xs:string" name="list" />
>>>               <xs:attribute name="result-set-type" default="scroll">
>>>                   <xs:simpleType>
>>>                       <xs:restriction base="xs:token">
>>> @@ -1969,8 +1896,7 @@ under the License.
>>>                       <xs:element ref="use-iterator" />
>>>                   </xs:choice>
>>>               </xs:sequence>
>>> -            <xs:attribute name="entity-name" type="xs:string"
>>> use="required" />
>>> -            <xs:attribute name="list" type="xs:string" use="optional" />
>>> +            <xs:attribute type="xs:string" name="entity-name"
>>> use="required" />
>>>               <xs:attribute name="use-cache" default="false">
>>>                   <xs:simpleType>
>>>                       <xs:restriction base="xs:token">
>>> @@ -1996,7 +1922,8 @@ under the License.
>>>                       </xs:restriction>
>>>                   </xs:simpleType>
>>>               </xs:attribute>
>>> -            <xs:attribute name="delegator-name" />
>>> +            <xs:attribute type="xs:string" name="delegator-name" />
>>> +            <xs:attribute type="xs:string" name="list" />
>>>               <xs:attribute name="result-set-type" default="scroll">
>>>                   <xs:simpleType>
>>>                       <xs:restriction base="xs:token">
>>> @@ -2007,172 +1934,4 @@ under the License.
>>>               </xs:attribute>
>>>           </xs:complexType>
>>>       </xs:element>
>>> -    <xs:element name="entity-one" substitutionGroup="AllActions">
>>> -        <xs:complexType>
>>> -            <xs:sequence>
>>> -                <xs:element minOccurs="0" maxOccurs="unbounded"
>>> ref="field-map" />
>>> -                <xs:element minOccurs="0" maxOccurs="unbounded"
>>> ref="select-field" />
>>> -            </xs:sequence>
>>> -            <xs:attribute type="xs:string" name="entity-name"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="value-field" />
>>> -            <xs:attribute name="use-cache" default="false">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="true" />
>>> -                        <xs:enumeration value="false" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -            <xs:attribute name="auto-field-map" default="true">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="true" />
>>> -                        <xs:enumeration value="false" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -
>>> -    <xs:element name="condition-expr">
>>> -        <xs:complexType>
>>> -            <xs:attribute name="field-name" type="xs:string"
>>> use="required" />
>>> -            <xs:attribute name="operator" default="equals">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="less" />
>>> -                        <xs:enumeration value="greater" />
>>> -                        <xs:enumeration value="less-equals" />
>>> -                        <xs:enumeration value="greater-equals" />
>>> -                        <xs:enumeration value="equals" />
>>> -                        <xs:enumeration value="not-equals" />
>>> -                        <xs:enumeration value="in" />
>>> -                        <xs:enumeration value="between" />
>>> -                        <xs:enumeration value="like" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -            <xs:attribute name="from-field" type="xs:string" />
>>> -            <xs:attribute name="value" type="xs:string" />
>>> -            <xs:attribute name="ignore-if-null" default="false">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="true" />
>>> -                        <xs:enumeration value="false" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -            <xs:attribute name="ignore-if-empty" default="false">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="true" />
>>> -                        <xs:enumeration value="false" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -            <xs:attribute name="ignore-case" default="false">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="true" />
>>> -                        <xs:enumeration value="false" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -            <xs:attribute name="ignore" default="false">
>>> -                <xs:annotation>
>>> -                    <xs:documentation>
>>> -                        Ignore the condition if flag is true.
>>> -                        Defaults to false.
>>> -                </xs:documentation>
>>> -                </xs:annotation>
>>> -            </xs:attribute>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="condition-list">
>>> -        <xs:complexType>
>>> -            <xs:choice maxOccurs="unbounded">
>>> -                <xs:element ref="condition-expr" />
>>> -                <xs:element ref="condition-list" />
>>> -                <xs:element ref="condition-object" />
>>> -            </xs:choice>
>>> -            <xs:attribute name="combine" default="and">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="and" />
>>> -                        <xs:enumeration value="or" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="condition-object">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="field"
>>> use="required" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="field-map">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="field-name"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="from-field" />
>>> -            <xs:attribute type="xs:string" name="value" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="having-condition-list">
>>> -        <xs:complexType>
>>> -            <xs:choice maxOccurs="unbounded">
>>> -                <xs:element ref="condition-expr" />
>>> -                <xs:element ref="condition-list" />
>>> -                <xs:element ref="condition-object" />
>>> -            </xs:choice>
>>> -            <xs:attribute name="combine" default="and">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="and" />
>>> -                        <xs:enumeration value="or" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="limit-range">
>>> -        <xs:complexType>
>>> -            <xs:attribute name="start" type="xs:string" use="required">
>>> -                <xs:annotation>
>>> -                    <xs:documentation>Should resolve into a
>>> non-negative integer.</xs:documentation>
>>> -                </xs:annotation>
>>> -            </xs:attribute>
>>> -            <xs:attribute name="size" type="xs:string" use="required">
>>> -                <xs:annotation>
>>> -                    <xs:documentation>Should resolve into a
>>> non-negative integer.</xs:documentation>
>>> -                </xs:annotation>
>>> -            </xs:attribute>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="limit-view">
>>> -        <xs:complexType>
>>> -            <xs:attribute name="view-index" type="xs:string"
>>> use="required">
>>> -                <xs:annotation>
>>> -                    <xs:documentation>Should resolve into a
>>> non-negative integer.</xs:documentation>
>>> -                </xs:annotation>
>>> -            </xs:attribute>
>>> -            <xs:attribute name="view-size" type="xs:string"
>>> use="required">
>>> -                <xs:annotation>
>>> -                    <xs:documentation>Should resolve into a positive
>>> integer.</xs:documentation>
>>> -                </xs:annotation>
>>> -            </xs:attribute>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="use-iterator" />
>>> -    <xs:element name="order-by">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="field-name"
>>> use="required" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="select-field">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="field-name"
>>> use="required" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -
>>> -    <xs:element name="call-parent-actions"
>>> substitutionGroup="AllActions" />
>>>   </xs:schema>
>>>
>>> Modified: ofbiz/site/dtds/widget-menu.xsd
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-menu.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>>>
>>> ==============================================================================
>>>
>>> --- ofbiz/site/dtds/widget-menu.xsd (original)
>>> +++ ofbiz/site/dtds/widget-menu.xsd Mon Jan  5 21:51:13 2015
>>> @@ -18,6 +18,7 @@ specific language governing permissions
>>>   under the License.
>>>   -->
>>>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>> elementFormDefault="qualified">
>>> +    <xs:include
>>> schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
>>>       <xs:element name="menus">
>>>           <xs:complexType>
>>>               <xs:sequence>
>>> @@ -96,7 +97,32 @@ under the License.
>>>       <xs:element name="menu-item">
>>>           <xs:complexType>
>>>               <xs:sequence>
>>> -                <xs:element minOccurs="0" ref="condition" />
>>> +                <xs:element name="condition" minOccurs="0">
>>> +                    <xs:complexType>
>>> +                        <xs:complexContent>
>>> +                            <xs:extension base="ConditionRootType">
>>> +                                <xs:attribute type="xs:string"
>>> name="pass-style">
>>> +                                    <xs:annotation>
>>> + <xs:documentation>
>>> +                                            If a pass-style provided
>>> and the condition passes, the widget-style of
>>> +                                            the parent menu-item is
>>> set with the pass-style. If no pass-style is given,
>>> +                                            the widget-style is not
>>> changed.
>>> + </xs:documentation>
>>> +                                    </xs:annotation>
>>> +                                </xs:attribute>
>>> +                                <xs:attribute type="xs:string"
>>> name="disabled-style">
>>> +                                    <xs:annotation>
>>> + <xs:documentation>
>>> +                                            If a disabled-style
>>> provided and the condition fails, the disabled-style of
>>> +                                            the parent menu-item is
>>> set with the disabled-style and processing is allowed to continue.
>>> +                                            If no disabled-style is
>>> given, the widget-style is not changed and the menu-item is not rendered.
>>> + </xs:documentation>
>>> +                                    </xs:annotation>
>>> +                                </xs:attribute>
>>> +                            </xs:extension>
>>> +                        </xs:complexContent>
>>> +                    </xs:complexType>
>>> +                </xs:element>
>>>                   <xs:element minOccurs="0" ref="actions" />
>>>                   <xs:element minOccurs="0" ref="link" />
>>>                   <xs:element minOccurs="0" maxOccurs="unbounded"
>>> ref="menu-item" />
>>> @@ -294,8 +320,6 @@ under the License.
>>>           </xs:complexType>
>>>       </xs:element>
>>> -    <!-- ================ ACTIONS ================ -->
>>> -    <xs:element name="AllActions" abstract="true"/>
>>>       <xs:element name="actions">
>>>           <xs:complexType>
>>>               <xs:sequence>
>>> @@ -303,27 +327,20 @@ under the License.
>>>               </xs:sequence>
>>>           </xs:complexType>
>>>       </xs:element>
>>> -    <xs:element name="property-map" substitutionGroup="AllActions">
>>> +    <xs:element name="entity-and" substitutionGroup="AllActions">
>>>           <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="resource"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="map-name"
>>> use="required" />
>>> -            <xs:attribute name="global" default="false">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="true" />
>>> -                        <xs:enumeration value="false" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="property-to-field" substitutionGroup="AllActions">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="resource"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="property"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="field"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="default" />
>>> -            <xs:attribute name="no-locale" default="false">
>>> +            <xs:sequence>
>>> +                <xs:element maxOccurs="unbounded" ref="field-map" />
>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>> ref="select-field" />
>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>> ref="order-by" />
>>> +                <xs:choice minOccurs="0">
>>> +                    <xs:element ref="limit-range" />
>>> +                    <xs:element ref="limit-view" />
>>> +                    <xs:element ref="use-iterator" />
>>> +                </xs:choice>
>>> +            </xs:sequence>
>>> +            <xs:attribute type="xs:string" name="entity-name"
>>> use="required" />
>>> +            <xs:attribute name="use-cache" default="false">
>>>                   <xs:simpleType>
>>>                       <xs:restriction base="xs:token">
>>>                           <xs:enumeration value="true" />
>>> @@ -331,166 +348,45 @@ under the License.
>>>                       </xs:restriction>
>>>                   </xs:simpleType>
>>>               </xs:attribute>
>>> -            <xs:attribute type="xs:string" name="arg-list-name" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="script" substitutionGroup="AllActions">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="location"
>>> use="required" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="set" substitutionGroup="AllActions">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="field"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="from-field" />
>>> -            <xs:attribute type="xs:string" name="value" />
>>> -            <xs:attribute type="xs:string" name="default-value" />
>>> -            <xs:attribute name="global" default="false">
>>> +            <xs:attribute name="filter-by-date" default="false">
>>>                   <xs:simpleType>
>>>                       <xs:restriction base="xs:token">
>>>                           <xs:enumeration value="true" />
>>>                           <xs:enumeration value="false" />
>>> +                        <xs:enumeration value="by-name" />
>>>                       </xs:restriction>
>>>                   </xs:simpleType>
>>>               </xs:attribute>
>>> -            <xs:attribute name="type" default="String">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="PlainString" />
>>> -                        <xs:enumeration value="String" />
>>> -                        <xs:enumeration value="BigDecimal" />
>>> -                        <xs:enumeration value="Double" />
>>> -                        <xs:enumeration value="Float" />
>>> -                        <xs:enumeration value="List" />
>>> -                        <xs:enumeration value="Long" />
>>> -                        <xs:enumeration value="Integer" />
>>> -                        <xs:enumeration value="Date" />
>>> -                        <xs:enumeration value="Time" />
>>> -                        <xs:enumeration value="Timestamp" />
>>> -                        <xs:enumeration value="Boolean" />
>>> -                        <xs:enumeration value="Object" />
>>> -                        <xs:enumeration value="NewList" />
>>> -                        <xs:enumeration value="NewMap" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -            <xs:attribute name="to-scope" default="screen">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="screen" />
>>> -                        <xs:enumeration value="user" />
>>> -                        <xs:enumeration value="application" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -            <xs:attribute name="from-scope" default="screen">
>>> +            <xs:attribute type="xs:string" name="list" use="required" />
>>> +            <xs:attribute name="result-set-type" default="scroll">
>>>                   <xs:simpleType>
>>>                       <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="screen" />
>>> -                        <xs:enumeration value="user" />
>>> -                        <xs:enumeration value="application" />
>>> +                        <xs:enumeration value="forward" />
>>> +                        <xs:enumeration value="scroll" />
>>>                       </xs:restriction>
>>>                   </xs:simpleType>
>>>               </xs:attribute>
>>>           </xs:complexType>
>>>       </xs:element>
>>> -
>>> -    <!-- ================ CONDITIONS ================ -->
>>> -    <xs:element name="AllConditionals" abstract="true"/>
>>> -    <xs:element name="condition">
>>> -        <xs:complexType>
>>> -            <xs:sequence>
>>> -                <xs:element minOccurs="1" maxOccurs="1"
>>> ref="AllConditionals" />
>>> -            </xs:sequence>
>>> -            <xs:attribute type="xs:string" name="pass-style">
>>> -                <xs:annotation>
>>> -                    <xs:documentation>
>>> -                        If a pass-style provided and the condition
>>> passes, the widget-style of
>>> -                        the parent menu-item is set with the
>>> pass-style. If no pass-style is given,
>>> -                        the widget-style is not changed.
>>> -                </xs:documentation>
>>> -                </xs:annotation>
>>> -            </xs:attribute>
>>> -            <xs:attribute type="xs:string" name="disabled-style">
>>> -                <xs:annotation>
>>> -                    <xs:documentation>
>>> -                        If a disabled-style provided and the
>>> condition fails, the disabled-style of
>>> -                        the parent menu-item is set with the
>>> disabled-style and processing is allowed to continue.
>>> -                        If no disabled-style is given, the
>>> widget-style is not changed and the menu-item is not rendered.
>>> -                </xs:documentation>
>>> -                </xs:annotation>
>>> -            </xs:attribute>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="and" substitutionGroup="AllConditionals">
>>> -        <xs:complexType>
>>> -            <xs:sequence>
>>> -                <xs:element maxOccurs="unbounded"
>>> ref="AllConditionals"/>
>>> -            </xs:sequence>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="xor" substitutionGroup="AllConditionals">
>>> -        <xs:complexType>
>>> -            <xs:sequence>
>>> -                <xs:element maxOccurs="unbounded"
>>> ref="AllConditionals"/>
>>> -            </xs:sequence>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="or" substitutionGroup="AllConditionals">
>>> +    <xs:element name="entity-condition" substitutionGroup="AllActions">
>>>           <xs:complexType>
>>>               <xs:sequence>
>>> -                <xs:element maxOccurs="unbounded"
>>> ref="AllConditionals"/>
>>> +                <xs:choice minOccurs="0">
>>> +                    <xs:element ref="condition-expr" />
>>> +                    <xs:element ref="condition-list" />
>>> +                    <xs:element ref="condition-object" />
>>> +                </xs:choice>
>>> +                <xs:element minOccurs="0" ref="having-condition-list" />
>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>> ref="select-field" />
>>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>>> ref="order-by" />
>>> +                <xs:choice minOccurs="0">
>>> +                    <xs:element ref="limit-range" />
>>> +                    <xs:element ref="limit-view" />
>>> +                    <xs:element ref="use-iterator" />
>>> +                </xs:choice>
>>>               </xs:sequence>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="not" substitutionGroup="AllConditionals">
>>> -        <xs:complexType>
>>> -            <xs:sequence>
>>> -                <xs:element ref="AllConditionals"/>
>>> -            </xs:sequence>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="if-service-permission"
>>> substitutionGroup="AllConditionals">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="service-name"
>>> use="required" />
>>> -            <xs:attribute type="xs:string"
>>> name="resource-description" use="optional" />
>>> -            <xs:attribute name="main-action" use="optional">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="CREATE" />
>>> -                        <xs:enumeration value="UPDATE" />
>>> -                        <xs:enumeration value="DELETE" />
>>> -                        <xs:enumeration value="VIEW" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="if-has-permission"
>>> substitutionGroup="AllConditionals">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="permission"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="action" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="if-entity-permission"
>>> substitutionGroup="AllConditionals">
>>> -        <xs:complexType>
>>> -            <xs:choice minOccurs="0">
>>> -                <xs:element minOccurs="0" maxOccurs="1"
>>> ref="permission-condition-getter" />
>>> -                <xs:element minOccurs="0" maxOccurs="1"
>>> ref="related-role-getter" />
>>> -                <xs:element minOccurs="0" maxOccurs="1"
>>> ref="auxiliary-value-getter" />
>>> -            </xs:choice>
>>>               <xs:attribute type="xs:string" name="entity-name"
>>> use="required" />
>>> -            <xs:attribute type="xs:string" name="entity-id"
>>> use="required">
>>> -                <xs:annotation>
>>> -                    <xs:documentation>Can have multiple pipe
>>> separated values, but don't use spaces.</xs:documentation>
>>> -                </xs:annotation>
>>> -            </xs:attribute>
>>> -            <xs:attribute type="xs:string" name="target-operation"
>>> use="required">
>>> -                <xs:annotation>
>>> -                    <xs:documentation>Can have multiple pipe
>>> separated values, but don't use spaces.</xs:documentation>
>>> -                </xs:annotation>
>>> -            </xs:attribute>
>>> -            <xs:attribute name="display-fail-cond" default="false">
>>> +            <xs:attribute name="use-cache" default="false">
>>>                   <xs:simpleType>
>>>                       <xs:restriction base="xs:token">
>>>                           <xs:enumeration value="true" />
>>> @@ -498,130 +394,33 @@ under the License.
>>>                       </xs:restriction>
>>>                   </xs:simpleType>
>>>               </xs:attribute>
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="permission-condition-getter">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="entity-name" />
>>> -            <xs:attribute type="xs:string"
>>> name="operation-field-name" />
>>> -            <xs:attribute type="xs:string" name="role-field-name" />
>>> -            <xs:attribute type="xs:string"
>>> name="auxiliary-field-name" />
>>> -            <xs:attribute type="xs:string" name="status-field-name" />
>>> -            <xs:attribute type="xs:string"
>>> name="privilege-field-name" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="related-role-getter">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="entity-name" />
>>> -            <xs:attribute type="xs:string" name="role-entity-name" />
>>> -            <xs:attribute type="xs:string"
>>> name="role-type-field-name" />
>>> -            <xs:attribute type="xs:string" name="party-field-name" />
>>> -            <xs:attribute type="xs:string"
>>> name="owner-entity-field-name" />
>>> -            <xs:attribute type="xs:string" name="entity-id-name" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="auxiliary-value-getter">
>>> -        <xs:complexType>
>>> -            <xs:attribute type="xs:string" name="entity-name" />
>>> -            <xs:attribute type="xs:string"
>>> name="auxiliary-field-name" />
>>> -            <xs:attribute type="xs:string" name="entity-id-name" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="if-validate-method"
>>> substitutionGroup="AllConditionals">
>>> -        <xs:annotation>
>>> -            <xs:documentation>Calls a static Java method that takes a
>>> String and returns a boolean.</xs:documentation>
>>> -        </xs:annotation>
>>> -        <xs:complexType>
>>> -            <xs:attribute name="field" use="required" />
>>> -            <xs:attribute name="method" use="required" />
>>> -            <xs:attribute name="class"
>>> default="org.ofbiz.base.util.UtilValidate" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="if-compare" substitutionGroup="AllConditionals">
>>> -        <xs:complexType>
>>> -            <xs:attribute name="field" use="required" />
>>> -            <xs:attribute name="operator" use="required">
>>> -                <xs:simpleType>
>>> -                    <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="less" />
>>> -                        <xs:enumeration value="greater" />
>>> -                        <xs:enumeration value="less-equals" />
>>> -                        <xs:enumeration value="greater-equals" />
>>> -                        <xs:enumeration value="equals" />
>>> -                        <xs:enumeration value="not-equals" />
>>> -                        <xs:enumeration value="contains" />
>>> -                    </xs:restriction>
>>> -                </xs:simpleType>
>>> -            </xs:attribute>
>>> -            <xs:attribute name="value" use="required" />
>>> -            <xs:attribute name="type" default="String">
>>> +            <xs:attribute name="filter-by-date" default="false">
>>>                   <xs:simpleType>
>>>                       <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="PlainString" />
>>> -                        <xs:enumeration value="String" />
>>> -                        <xs:enumeration value="BigDecimal" />
>>> -                        <xs:enumeration value="Double" />
>>> -                        <xs:enumeration value="Float" />
>>> -                        <xs:enumeration value="Long" />
>>> -                        <xs:enumeration value="Integer" />
>>> -                        <xs:enumeration value="Date" />
>>> -                        <xs:enumeration value="Time" />
>>> -                        <xs:enumeration value="Timestamp" />
>>> -                        <xs:enumeration value="Boolean" />
>>> -                        <xs:enumeration value="Object" />
>>> +                        <xs:enumeration value="true" />
>>> +                        <xs:enumeration value="false" />
>>> +                        <xs:enumeration value="by-name" />
>>>                       </xs:restriction>
>>>                   </xs:simpleType>
>>>               </xs:attribute>
>>> -            <xs:attribute name="format" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="if-compare-field"
>>> substitutionGroup="AllConditionals">
>>> -        <xs:complexType>
>>> -            <xs:attribute name="field" use="required" />
>>> -            <xs:attribute name="operator" use="required">
>>> +            <xs:attribute name="distinct" default="false">
>>>                   <xs:simpleType>
>>>                       <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="less" />
>>> -                        <xs:enumeration value="greater" />
>>> -                        <xs:enumeration value="less-equals" />
>>> -                        <xs:enumeration value="greater-equals" />
>>> -                        <xs:enumeration value="equals" />
>>> -                        <xs:enumeration value="not-equals" />
>>> -                        <xs:enumeration value="contains" />
>>> +                        <xs:enumeration value="true" />
>>> +                        <xs:enumeration value="false" />
>>>                       </xs:restriction>
>>>                   </xs:simpleType>
>>>               </xs:attribute>
>>> -            <xs:attribute name="to-field" />
>>> -            <xs:attribute name="type" default="String">
>>> +            <xs:attribute type="xs:string" name="delegator-name" />
>>> +            <xs:attribute type="xs:string" name="list" use="required" />
>>> +            <xs:attribute name="result-set-type" default="scroll">
>>>                   <xs:simpleType>
>>>                       <xs:restriction base="xs:token">
>>> -                        <xs:enumeration value="PlainString" />
>>> -                        <xs:enumeration value="String" />
>>> -                        <xs:enumeration value="BigDecimal" />
>>> -                        <xs:enumeration value="Double" />
>>> -                        <xs:enumeration value="Float" />
>>> -                        <xs:enumeration value="Long" />
>>> -                        <xs:enumeration value="Integer" />
>>> -                        <xs:enumeration value="Date" />
>>> -                        <xs:enumeration value="Time" />
>>> -                        <xs:enumeration value="Timestamp" />
>>> -                        <xs:enumeration value="Boolean" />
>>> -                        <xs:enumeration value="Object" />
>>> +                        <xs:enumeration value="forward" />
>>> +                        <xs:enumeration value="scroll" />
>>>                       </xs:restriction>
>>>                   </xs:simpleType>
>>>               </xs:attribute>
>>> -            <xs:attribute name="format" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
>>> -        <xs:complexType>
>>> -            <xs:attribute name="field" use="required" />
>>> -            <xs:attribute name="expr" use="required" />
>>> -        </xs:complexType>
>>> -    </xs:element>
>>> -    <xs:element name="if-empty" substitutionGroup="AllConditionals">
>>> -        <xs:complexType>
>>> -            <xs:attribute name="field" use="required" />
>>>           </xs:complexType>
>>>       </xs:element>
>>>   </xs:schema>
>>>
>>>
>>>
>

Re: svn commit: r1649676 [1/2] - in /ofbiz/site/dtds: ofbiz-properties.xsd widget-common.xsd widget-form.xsd widget-menu.xsd widget-screen.xsd widget-tree.xsd

Posted by Adrian Crum <ad...@sandglass-software.com>.
The underscores need to be replaced with dashes.

pt_BR -> pt-BR

I made the change to deliberately cause those validation errors so they 
will get fixed.

Adrian Crum
Sandglass Software
www.sandglass-software.com

On 1/10/2015 1:01 AM, Jacques Le Roux wrote:
> Hi Adrian,
>
> It's minor, but since recent changes (maybe not yours here) on
> ofbiz-properties.xsd I get this kind of messages when editing:
>
> Error: [Xerces] cvc-datatype-valid.1.2.3: 'pt_BR' is not a valid
> value of union type '#AnonType_lang'.
> @see: http://www.w3.org/TR/xmlschema11-2/
> #cvc-datatype-valid
> Error: [Xerces] cvc-attribute.3: The value 'pt_BR' of attribute
> 'xml:lang' on element 'value' is not valid with respect to
> its type, '#AnonType_lang'.
> @see: http://www.w3.org/TR/xmlschema11-1/#cvc-attribute
>
> I had a quick look at
> http://www.w3.org/TR/xmlschema11-2/#cvc-datatype-valid but I can't
> really warp my head around this jargon :/
>
> It's more clear here:
> http://www.opentag.com/xfaq_lang.htm#lang_xmllangvalues
>
> So I see no solutions, do you have an idea?
>
> Thanks
>
> Jacques
>
> Le 05/01/2015 22:51, adrianc@apache.org a écrit :
>> Author: adrianc
>> Date: Mon Jan  5 21:51:13 2015
>> New Revision: 1649676
>>
>> URL: http://svn.apache.org/r1649676
>> Log:
>> Update web site with recent schema changes.
>>
>> Added:
>>      ofbiz/site/dtds/widget-common.xsd
>> Modified:
>>      ofbiz/site/dtds/ofbiz-properties.xsd
>>      ofbiz/site/dtds/widget-form.xsd
>>      ofbiz/site/dtds/widget-menu.xsd
>>      ofbiz/site/dtds/widget-screen.xsd
>>      ofbiz/site/dtds/widget-tree.xsd
>>
>> Modified: ofbiz/site/dtds/ofbiz-properties.xsd
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/site/dtds/ofbiz-properties.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>>
>> ==============================================================================
>>
>> --- ofbiz/site/dtds/ofbiz-properties.xsd (original)
>> +++ ofbiz/site/dtds/ofbiz-properties.xsd Mon Jan  5 21:51:13 2015
>> @@ -23,7 +23,8 @@ under the License.
>>       <xs:complexType name="valueType">
>>           <xs:simpleContent>
>>               <xs:extension base="xs:string">
>> -                <xs:attribute ref="xml:lang" use="required"/>
>> +                <xs:attribute ref="xml:lang" use="required" />
>> +                <xs:attribute ref="xml:space" />
>>               </xs:extension>
>>           </xs:simpleContent>
>>       </xs:complexType>
>>
>> Added: ofbiz/site/dtds/widget-common.xsd
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-common.xsd?rev=1649676&view=auto
>>
>> ==============================================================================
>>
>> --- ofbiz/site/dtds/widget-common.xsd (added)
>> +++ ofbiz/site/dtds/widget-common.xsd Mon Jan  5 21:51:13 2015
>> @@ -0,0 +1,519 @@
>> +<?xml version="1.0" encoding="UTF-8"?>
>> +<!--
>> +Licensed to the Apache Software Foundation (ASF) under one
>> +or more contributor license agreements.  See the NOTICE file
>> +distributed with this work for additional information
>> +regarding copyright ownership.  The ASF licenses this file
>> +to you under the Apache License, Version 2.0 (the
>> +"License"); you may not use this file except in compliance
>> +with the License.  You may obtain a copy of the License at
>> +
>> +http://www.apache.org/licenses/LICENSE-2.0
>> +
>> +Unless required by applicable law or agreed to in writing,
>> +software distributed under the License is distributed on an
>> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> +KIND, either express or implied.  See the License for the
>> +specific language governing permissions and limitations
>> +under the License.
>> +-->
>> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> elementFormDefault="qualified">
>> +
>> +    <xs:complexType name="ConditionRootType">
>> +        <xs:choice>
>> +            <xs:element ref="and" />
>> +            <xs:element ref="or" />
>> +            <xs:element ref="xor" />
>> +            <xs:element ref="not" />
>> +            <xs:element ref="if-service-permission" />
>> +            <xs:element ref="if-has-permission" />
>> +            <xs:element ref="if-entity-permission" />
>> +            <xs:element ref="if-validate-method" />
>> +            <xs:element ref="if-compare" />
>> +            <xs:element ref="if-compare-field" />
>> +            <xs:element ref="if-regexp" />
>> +            <xs:element ref="if-empty" />
>> +        </xs:choice>
>> +    </xs:complexType>
>> +    <xs:element name="AllConditionals" abstract="true" />
>> +    <xs:element name="and" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:sequence>
>> +                <xs:element maxOccurs="unbounded"
>> ref="AllConditionals" />
>> +            </xs:sequence>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="xor" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:sequence>
>> +                <xs:element maxOccurs="unbounded"
>> ref="AllConditionals" />
>> +            </xs:sequence>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="or" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:sequence>
>> +                <xs:element maxOccurs="unbounded"
>> ref="AllConditionals" />
>> +            </xs:sequence>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="not" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:sequence>
>> +                <xs:element ref="AllConditionals" />
>> +            </xs:sequence>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-service-permission"
>> substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="service-name"
>> use="required" />
>> +            <xs:attribute type="xs:string"
>> name="resource-description" use="optional" />
>> +            <xs:attribute type="xs:string" name="context-map"
>> use="optional" />
>> +            <xs:attribute name="main-action" use="optional">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="CREATE" />
>> +                        <xs:enumeration value="UPDATE" />
>> +                        <xs:enumeration value="DELETE" />
>> +                        <xs:enumeration value="VIEW" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-has-permission"
>> substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="permission"
>> use="required" />
>> +            <xs:attribute type="xs:string" name="action" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-entity-permission"
>> substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:choice minOccurs="0">
>> +                <xs:element minOccurs="0" maxOccurs="1"
>> ref="permission-condition-getter" />
>> +                <xs:element minOccurs="0" maxOccurs="1"
>> ref="related-role-getter" />
>> +                <xs:element minOccurs="0" maxOccurs="1"
>> ref="auxiliary-value-getter" />
>> +            </xs:choice>
>> +            <xs:attribute type="xs:string" name="entity-name"
>> use="required" />
>> +            <xs:attribute type="xs:string" name="entity-id"
>> use="required">
>> +                <xs:annotation>
>> +                    <xs:documentation>Can have multiple pipe
>> separated values, but don't use spaces.</xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +            <xs:attribute type="xs:string" name="target-operation"
>> use="required">
>> +                <xs:annotation>
>> +                    <xs:documentation>Can have multiple pipe
>> separated values, but don't use spaces.</xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +            <xs:attribute name="display-fail-cond" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="permission-condition-getter">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="entity-name" />
>> +            <xs:attribute type="xs:string"
>> name="operation-field-name" />
>> +            <xs:attribute type="xs:string" name="role-field-name" />
>> +            <xs:attribute type="xs:string"
>> name="auxiliary-field-name" />
>> +            <xs:attribute type="xs:string" name="status-field-name" />
>> +            <xs:attribute type="xs:string"
>> name="privilege-field-name" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="related-role-getter">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="entity-name" />
>> +            <xs:attribute type="xs:string" name="role-entity-name" />
>> +            <xs:attribute type="xs:string"
>> name="role-type-field-name" />
>> +            <xs:attribute type="xs:string" name="party-field-name" />
>> +            <xs:attribute type="xs:string"
>> name="owner-entity-field-name" />
>> +            <xs:attribute type="xs:string" name="entity-id-name" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="auxiliary-value-getter">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="entity-name" />
>> +            <xs:attribute type="xs:string"
>> name="auxiliary-field-name" />
>> +            <xs:attribute type="xs:string" name="entity-id-name" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-validate-method"
>> substitutionGroup="AllConditionals">
>> +        <xs:annotation>
>> +            <xs:documentation>Calls a static Java method that takes a
>> String and returns a boolean.</xs:documentation>
>> +        </xs:annotation>
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field"
>> use="required" />
>> +            <xs:attribute type="xs:string" name="method"
>> use="required" />
>> +            <xs:attribute type="xs:string" name="class"
>> default="org.ofbiz.base.util.UtilValidate" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-compare" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:attribute name="field" type="xs:string"
>> use="required" />
>> +            <xs:attribute name="operator" use="required">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="less" />
>> +                        <xs:enumeration value="greater" />
>> +                        <xs:enumeration value="less-equals" />
>> +                        <xs:enumeration value="greater-equals" />
>> +                        <xs:enumeration value="equals" />
>> +                        <xs:enumeration value="not-equals" />
>> +                        <xs:enumeration value="contains" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="value" type="xs:string"
>> use="required" />
>> +            <xs:attribute name="type" default="String">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="PlainString" />
>> +                        <xs:enumeration value="String" />
>> +                        <xs:enumeration value="BigDecimal" />
>> +                        <xs:enumeration value="Double" />
>> +                        <xs:enumeration value="Float" />
>> +                        <xs:enumeration value="Long" />
>> +                        <xs:enumeration value="Integer" />
>> +                        <xs:enumeration value="Date" />
>> +                        <xs:enumeration value="Time" />
>> +                        <xs:enumeration value="Timestamp" />
>> +                        <xs:enumeration value="Boolean" />
>> +                        <xs:enumeration value="Object" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute type="xs:string" name="format" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-compare-field"
>> substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:attribute name="field" type="xs:string"
>> use="required" />
>> +            <xs:attribute name="operator" use="required">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="less" />
>> +                        <xs:enumeration value="greater" />
>> +                        <xs:enumeration value="less-equals" />
>> +                        <xs:enumeration value="greater-equals" />
>> +                        <xs:enumeration value="equals" />
>> +                        <xs:enumeration value="not-equals" />
>> +                        <xs:enumeration value="contains" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="to-field" type="xs:string" />
>> +            <xs:attribute name="type" default="String">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="PlainString" />
>> +                        <xs:enumeration value="String" />
>> +                        <xs:enumeration value="BigDecimal" />
>> +                        <xs:enumeration value="Double" />
>> +                        <xs:enumeration value="Float" />
>> +                        <xs:enumeration value="Long" />
>> +                        <xs:enumeration value="Integer" />
>> +                        <xs:enumeration value="Date" />
>> +                        <xs:enumeration value="Time" />
>> +                        <xs:enumeration value="Timestamp" />
>> +                        <xs:enumeration value="Boolean" />
>> +                        <xs:enumeration value="Object" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute type="xs:string" name="format" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field"
>> use="required" />
>> +            <xs:attribute type="xs:string" name="expr" use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-empty" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field"
>> use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +
>> +    <xs:element name="AllActions" abstract="true" />
>> +    <xs:element name="set" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field"
>> use="required" />
>> +            <xs:attribute type="xs:string" name="from-field" />
>> +            <xs:attribute type="xs:string" name="value" />
>> +            <xs:attribute type="xs:string" name="default-value" />
>> +            <xs:attribute name="global" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="type">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="PlainString" />
>> +                        <xs:enumeration value="String" />
>> +                        <xs:enumeration value="BigDecimal" />
>> +                        <xs:enumeration value="Double" />
>> +                        <xs:enumeration value="Float" />
>> +                        <xs:enumeration value="List" />
>> +                        <xs:enumeration value="Long" />
>> +                        <xs:enumeration value="Integer" />
>> +                        <xs:enumeration value="Date" />
>> +                        <xs:enumeration value="Time" />
>> +                        <xs:enumeration value="Timestamp" />
>> +                        <xs:enumeration value="Boolean" />
>> +                        <xs:enumeration value="Object" />
>> +                        <xs:enumeration value="NewList" />
>> +                        <xs:enumeration value="NewMap" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="to-scope" default="screen">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="screen" />
>> +                        <xs:enumeration value="user" />
>> +                        <xs:enumeration value="application" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="from-scope" default="screen">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="screen" />
>> +                        <xs:enumeration value="user" />
>> +                        <xs:enumeration value="application" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="property-map" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="resource"
>> use="required" />
>> +            <xs:attribute type="xs:string" name="map-name"
>> use="required" />
>> +            <xs:attribute name="global" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="property-to-field" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="resource"
>> use="required" />
>> +            <xs:attribute type="xs:string" name="property"
>> use="required" />
>> +            <xs:attribute type="xs:string" name="field"
>> use="required" />
>> +            <xs:attribute type="xs:string" name="default" />
>> +            <xs:attribute name="no-locale" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute type="xs:string" name="arg-list-name" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="script" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="location"
>> use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="entity-one" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:sequence>
>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>> ref="field-map" />
>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>> ref="select-field" />
>> +            </xs:sequence>
>> +            <xs:attribute name="entity-name" type="xs:string"
>> use="required" />
>> +            <xs:attribute name="value-field" type="xs:string"
>> use="required" />
>> +            <xs:attribute name="use-cache" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="auto-field-map" default="true">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="get-related-one" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:attribute name="value-field" type="xs:string"
>> use="required" />
>> +            <xs:attribute name="relation-name" type="xs:string"
>> use="required" />
>> +            <xs:attribute name="use-cache" type="xs:string"
>> default="false" />
>> +            <xs:attribute name="to-value-field" type="xs:string"
>> use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="get-related" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="value-field"
>> use="required" />
>> +            <xs:attribute type="xs:string" name="relation-name"
>> use="required" />
>> +            <xs:attribute type="xs:string" name="map" />
>> +            <xs:attribute type="xs:string" name="order-by-list" />
>> +            <xs:attribute type="xs:string" name="use-cache"
>> default="false" />
>> +            <xs:attribute type="xs:string" name="list" use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="condition-list">
>> +        <xs:complexType>
>> +            <xs:choice maxOccurs="unbounded">
>> +                <xs:element ref="condition-expr" />
>> +                <xs:element ref="condition-list" />
>> +                <xs:element ref="condition-object" />
>> +            </xs:choice>
>> +            <xs:attribute name="combine" default="and">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="and" />
>> +                        <xs:enumeration value="or" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="having-condition-list">
>> +        <xs:complexType>
>> +            <xs:choice maxOccurs="unbounded">
>> +                <xs:element ref="condition-expr" />
>> +                <xs:element ref="condition-list" />
>> +                <xs:element ref="condition-object" />
>> +            </xs:choice>
>> +            <xs:attribute name="combine" default="and">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="and" />
>> +                        <xs:enumeration value="or" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="condition-expr">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field-name"
>> use="required" />
>> +            <xs:attribute name="operator" default="equals">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="less" />
>> +                        <xs:enumeration value="greater" />
>> +                        <xs:enumeration value="less-equals" />
>> +                        <xs:enumeration value="greater-equals" />
>> +                        <xs:enumeration value="equals" />
>> +                        <xs:enumeration value="not-equals" />
>> +                        <xs:enumeration value="in" />
>> +                        <xs:enumeration value="not-in" />
>> +                        <xs:enumeration value="between" />
>> +                        <xs:enumeration value="like" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute type="xs:string" name="from-field" />
>> +            <xs:attribute type="xs:string" name="value" />
>> +            <xs:attribute name="ignore-if-null" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="ignore-if-empty" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="ignore-case" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="ignore" default="false">
>> +                <xs:annotation>
>> +                    <xs:documentation>
>> +                        Ignore the condition if flag is true.
>> +                        Defaults to false.
>> +                    </xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="condition-object">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field"
>> use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="select-field">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field-name"
>> use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="order-by">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field-name"
>> use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="limit-range">
>> +        <xs:complexType>
>> +            <xs:attribute name="start" type="xs:string" use="required">
>> +                <xs:annotation>
>> +                    <xs:documentation>Should resolve into a
>> non-negative integer.</xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +            <xs:attribute name="size" type="xs:string" use="required">
>> +                <xs:annotation>
>> +                    <xs:documentation>Should resolve into a
>> non-negative integer.</xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="limit-view">
>> +        <xs:complexType>
>> +            <xs:attribute name="view-index" type="xs:string"
>> use="required">
>> +                <xs:annotation>
>> +                    <xs:documentation>Should resolve into a
>> non-negative integer.</xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +            <xs:attribute name="view-size" type="xs:string"
>> use="required">
>> +                <xs:annotation>
>> +                    <xs:documentation>Should resolve into a positive
>> integer.</xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="use-iterator" />
>> +    <xs:element name="field-map">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field-name"
>> use="required" />
>> +            <xs:attribute type="xs:string" name="from-field" />
>> +            <xs:attribute type="xs:string" name="value" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +</xs:schema>
>>
>> Modified: ofbiz/site/dtds/widget-form.xsd
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-form.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>>
>> ==============================================================================
>>
>> --- ofbiz/site/dtds/widget-form.xsd (original)
>> +++ ofbiz/site/dtds/widget-form.xsd Mon Jan  5 21:51:13 2015
>> @@ -18,6 +18,7 @@ specific language governing permissions
>>   under the License.
>>   -->
>>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> elementFormDefault="qualified">
>> +    <xs:include
>> schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
>>     <!-- ================== FORMS ==================== -->
>>       <xs:element name="forms">
>> @@ -1798,7 +1799,6 @@ under the License.
>>       </xs:element>
>>     <!-- ================== ACTIONS ==================== -->
>> -    <xs:element name="AllActions" abstract="true"/>
>>       <xs:element name="actions">
>>           <xs:complexType>
>>               <xs:sequence>
>> @@ -1813,42 +1813,6 @@ under the License.
>>               </xs:sequence>
>>           </xs:complexType>
>>       </xs:element>
>> -    <xs:element name="property-map" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="resource"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="map-name"
>> use="required" />
>> -            <xs:attribute name="global" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="property-to-field" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="resource"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="property"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="field"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="default" />
>> -            <xs:attribute name="no-locale" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute type="xs:string" name="arg-list-name" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="script" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="location"
>> use="required" />
>> -        </xs:complexType>
>> -    </xs:element>
>>       <xs:element name="service" substitutionGroup="AllActions">
>>           <xs:complexType>
>>               <xs:sequence>
>> @@ -1873,44 +1837,7 @@ under the License.
>>               </xs:attribute>
>>           </xs:complexType>
>>       </xs:element>
>> -    <xs:element name="set" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="field"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="from-field" />
>> -            <xs:attribute type="xs:string" name="value" />
>> -            <xs:attribute type="xs:string" name="default-value" />
>> -            <xs:attribute name="global" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="type" default="String">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="PlainString" />
>> -                        <xs:enumeration value="String" />
>> -                        <xs:enumeration value="BigDecimal" />
>> -                        <xs:enumeration value="Double" />
>> -                        <xs:enumeration value="Float" />
>> -                        <xs:enumeration value="List" />
>> -                        <xs:enumeration value="Long" />
>> -                        <xs:enumeration value="Integer" />
>> -                        <xs:enumeration value="Date" />
>> -                        <xs:enumeration value="Time" />
>> -                        <xs:enumeration value="Timestamp" />
>> -                        <xs:enumeration value="Boolean" />
>> -                        <xs:enumeration value="Object" />
>> -                        <xs:enumeration value="NewList" />
>> -                        <xs:enumeration value="NewMap" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -
>> +    <xs:element name="call-parent-actions"
>> substitutionGroup="AllActions" />
>>       <xs:element name="entity-and" substitutionGroup="AllActions">
>>           <xs:complexType>
>>               <xs:sequence>
>> @@ -1923,8 +1850,7 @@ under the License.
>>                       <xs:element ref="use-iterator" />
>>                   </xs:choice>
>>               </xs:sequence>
>> -            <xs:attribute name="entity-name" type="xs:string"
>> use="required" />
>> -            <xs:attribute name="list" type="xs:string" use="optional" />
>> +            <xs:attribute type="xs:string" name="entity-name"
>> use="required" />
>>               <xs:attribute name="use-cache" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> @@ -1942,6 +1868,7 @@ under the License.
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> +            <xs:attribute type="xs:string" name="list" />
>>               <xs:attribute name="result-set-type" default="scroll">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> @@ -1969,8 +1896,7 @@ under the License.
>>                       <xs:element ref="use-iterator" />
>>                   </xs:choice>
>>               </xs:sequence>
>> -            <xs:attribute name="entity-name" type="xs:string"
>> use="required" />
>> -            <xs:attribute name="list" type="xs:string" use="optional" />
>> +            <xs:attribute type="xs:string" name="entity-name"
>> use="required" />
>>               <xs:attribute name="use-cache" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> @@ -1996,7 +1922,8 @@ under the License.
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -            <xs:attribute name="delegator-name" />
>> +            <xs:attribute type="xs:string" name="delegator-name" />
>> +            <xs:attribute type="xs:string" name="list" />
>>               <xs:attribute name="result-set-type" default="scroll">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> @@ -2007,172 +1934,4 @@ under the License.
>>               </xs:attribute>
>>           </xs:complexType>
>>       </xs:element>
>> -    <xs:element name="entity-one" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:sequence>
>> -                <xs:element minOccurs="0" maxOccurs="unbounded"
>> ref="field-map" />
>> -                <xs:element minOccurs="0" maxOccurs="unbounded"
>> ref="select-field" />
>> -            </xs:sequence>
>> -            <xs:attribute type="xs:string" name="entity-name"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="value-field" />
>> -            <xs:attribute name="use-cache" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="auto-field-map" default="true">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -
>> -    <xs:element name="condition-expr">
>> -        <xs:complexType>
>> -            <xs:attribute name="field-name" type="xs:string"
>> use="required" />
>> -            <xs:attribute name="operator" default="equals">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="less" />
>> -                        <xs:enumeration value="greater" />
>> -                        <xs:enumeration value="less-equals" />
>> -                        <xs:enumeration value="greater-equals" />
>> -                        <xs:enumeration value="equals" />
>> -                        <xs:enumeration value="not-equals" />
>> -                        <xs:enumeration value="in" />
>> -                        <xs:enumeration value="between" />
>> -                        <xs:enumeration value="like" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="from-field" type="xs:string" />
>> -            <xs:attribute name="value" type="xs:string" />
>> -            <xs:attribute name="ignore-if-null" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="ignore-if-empty" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="ignore-case" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="ignore" default="false">
>> -                <xs:annotation>
>> -                    <xs:documentation>
>> -                        Ignore the condition if flag is true.
>> -                        Defaults to false.
>> -                </xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="condition-list">
>> -        <xs:complexType>
>> -            <xs:choice maxOccurs="unbounded">
>> -                <xs:element ref="condition-expr" />
>> -                <xs:element ref="condition-list" />
>> -                <xs:element ref="condition-object" />
>> -            </xs:choice>
>> -            <xs:attribute name="combine" default="and">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="and" />
>> -                        <xs:enumeration value="or" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="condition-object">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="field"
>> use="required" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="field-map">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="field-name"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="from-field" />
>> -            <xs:attribute type="xs:string" name="value" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="having-condition-list">
>> -        <xs:complexType>
>> -            <xs:choice maxOccurs="unbounded">
>> -                <xs:element ref="condition-expr" />
>> -                <xs:element ref="condition-list" />
>> -                <xs:element ref="condition-object" />
>> -            </xs:choice>
>> -            <xs:attribute name="combine" default="and">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="and" />
>> -                        <xs:enumeration value="or" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="limit-range">
>> -        <xs:complexType>
>> -            <xs:attribute name="start" type="xs:string" use="required">
>> -                <xs:annotation>
>> -                    <xs:documentation>Should resolve into a
>> non-negative integer.</xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -            <xs:attribute name="size" type="xs:string" use="required">
>> -                <xs:annotation>
>> -                    <xs:documentation>Should resolve into a
>> non-negative integer.</xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="limit-view">
>> -        <xs:complexType>
>> -            <xs:attribute name="view-index" type="xs:string"
>> use="required">
>> -                <xs:annotation>
>> -                    <xs:documentation>Should resolve into a
>> non-negative integer.</xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -            <xs:attribute name="view-size" type="xs:string"
>> use="required">
>> -                <xs:annotation>
>> -                    <xs:documentation>Should resolve into a positive
>> integer.</xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="use-iterator" />
>> -    <xs:element name="order-by">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="field-name"
>> use="required" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="select-field">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="field-name"
>> use="required" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -
>> -    <xs:element name="call-parent-actions"
>> substitutionGroup="AllActions" />
>>   </xs:schema>
>>
>> Modified: ofbiz/site/dtds/widget-menu.xsd
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-menu.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>>
>> ==============================================================================
>>
>> --- ofbiz/site/dtds/widget-menu.xsd (original)
>> +++ ofbiz/site/dtds/widget-menu.xsd Mon Jan  5 21:51:13 2015
>> @@ -18,6 +18,7 @@ specific language governing permissions
>>   under the License.
>>   -->
>>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> elementFormDefault="qualified">
>> +    <xs:include
>> schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
>>       <xs:element name="menus">
>>           <xs:complexType>
>>               <xs:sequence>
>> @@ -96,7 +97,32 @@ under the License.
>>       <xs:element name="menu-item">
>>           <xs:complexType>
>>               <xs:sequence>
>> -                <xs:element minOccurs="0" ref="condition" />
>> +                <xs:element name="condition" minOccurs="0">
>> +                    <xs:complexType>
>> +                        <xs:complexContent>
>> +                            <xs:extension base="ConditionRootType">
>> +                                <xs:attribute type="xs:string"
>> name="pass-style">
>> +                                    <xs:annotation>
>> +                                        <xs:documentation>
>> +                                            If a pass-style provided
>> and the condition passes, the widget-style of
>> +                                            the parent menu-item is
>> set with the pass-style. If no pass-style is given,
>> +                                            the widget-style is not
>> changed.
>> +                                        </xs:documentation>
>> +                                    </xs:annotation>
>> +                                </xs:attribute>
>> +                                <xs:attribute type="xs:string"
>> name="disabled-style">
>> +                                    <xs:annotation>
>> +                                        <xs:documentation>
>> +                                            If a disabled-style
>> provided and the condition fails, the disabled-style of
>> +                                            the parent menu-item is
>> set with the disabled-style and processing is allowed to continue.
>> +                                            If no disabled-style is
>> given, the widget-style is not changed and the menu-item is not rendered.
>> +                                        </xs:documentation>
>> +                                    </xs:annotation>
>> +                                </xs:attribute>
>> +                            </xs:extension>
>> +                        </xs:complexContent>
>> +                    </xs:complexType>
>> +                </xs:element>
>>                   <xs:element minOccurs="0" ref="actions" />
>>                   <xs:element minOccurs="0" ref="link" />
>>                   <xs:element minOccurs="0" maxOccurs="unbounded"
>> ref="menu-item" />
>> @@ -294,8 +320,6 @@ under the License.
>>           </xs:complexType>
>>       </xs:element>
>> -    <!-- ================ ACTIONS ================ -->
>> -    <xs:element name="AllActions" abstract="true"/>
>>       <xs:element name="actions">
>>           <xs:complexType>
>>               <xs:sequence>
>> @@ -303,27 +327,20 @@ under the License.
>>               </xs:sequence>
>>           </xs:complexType>
>>       </xs:element>
>> -    <xs:element name="property-map" substitutionGroup="AllActions">
>> +    <xs:element name="entity-and" substitutionGroup="AllActions">
>>           <xs:complexType>
>> -            <xs:attribute type="xs:string" name="resource"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="map-name"
>> use="required" />
>> -            <xs:attribute name="global" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="property-to-field" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="resource"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="property"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="field"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="default" />
>> -            <xs:attribute name="no-locale" default="false">
>> +            <xs:sequence>
>> +                <xs:element maxOccurs="unbounded" ref="field-map" />
>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>> ref="select-field" />
>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>> ref="order-by" />
>> +                <xs:choice minOccurs="0">
>> +                    <xs:element ref="limit-range" />
>> +                    <xs:element ref="limit-view" />
>> +                    <xs:element ref="use-iterator" />
>> +                </xs:choice>
>> +            </xs:sequence>
>> +            <xs:attribute type="xs:string" name="entity-name"
>> use="required" />
>> +            <xs:attribute name="use-cache" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>>                           <xs:enumeration value="true" />
>> @@ -331,166 +348,45 @@ under the License.
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -            <xs:attribute type="xs:string" name="arg-list-name" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="script" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="location"
>> use="required" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="set" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="field"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="from-field" />
>> -            <xs:attribute type="xs:string" name="value" />
>> -            <xs:attribute type="xs:string" name="default-value" />
>> -            <xs:attribute name="global" default="false">
>> +            <xs:attribute name="filter-by-date" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>>                           <xs:enumeration value="true" />
>>                           <xs:enumeration value="false" />
>> +                        <xs:enumeration value="by-name" />
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -            <xs:attribute name="type" default="String">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="PlainString" />
>> -                        <xs:enumeration value="String" />
>> -                        <xs:enumeration value="BigDecimal" />
>> -                        <xs:enumeration value="Double" />
>> -                        <xs:enumeration value="Float" />
>> -                        <xs:enumeration value="List" />
>> -                        <xs:enumeration value="Long" />
>> -                        <xs:enumeration value="Integer" />
>> -                        <xs:enumeration value="Date" />
>> -                        <xs:enumeration value="Time" />
>> -                        <xs:enumeration value="Timestamp" />
>> -                        <xs:enumeration value="Boolean" />
>> -                        <xs:enumeration value="Object" />
>> -                        <xs:enumeration value="NewList" />
>> -                        <xs:enumeration value="NewMap" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="to-scope" default="screen">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="screen" />
>> -                        <xs:enumeration value="user" />
>> -                        <xs:enumeration value="application" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="from-scope" default="screen">
>> +            <xs:attribute type="xs:string" name="list" use="required" />
>> +            <xs:attribute name="result-set-type" default="scroll">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="screen" />
>> -                        <xs:enumeration value="user" />
>> -                        <xs:enumeration value="application" />
>> +                        <xs:enumeration value="forward" />
>> +                        <xs:enumeration value="scroll" />
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>>           </xs:complexType>
>>       </xs:element>
>> -
>> -    <!-- ================ CONDITIONS ================ -->
>> -    <xs:element name="AllConditionals" abstract="true"/>
>> -    <xs:element name="condition">
>> -        <xs:complexType>
>> -            <xs:sequence>
>> -                <xs:element minOccurs="1" maxOccurs="1"
>> ref="AllConditionals" />
>> -            </xs:sequence>
>> -            <xs:attribute type="xs:string" name="pass-style">
>> -                <xs:annotation>
>> -                    <xs:documentation>
>> -                        If a pass-style provided and the condition
>> passes, the widget-style of
>> -                        the parent menu-item is set with the
>> pass-style. If no pass-style is given,
>> -                        the widget-style is not changed.
>> -                </xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -            <xs:attribute type="xs:string" name="disabled-style">
>> -                <xs:annotation>
>> -                    <xs:documentation>
>> -                        If a disabled-style provided and the
>> condition fails, the disabled-style of
>> -                        the parent menu-item is set with the
>> disabled-style and processing is allowed to continue.
>> -                        If no disabled-style is given, the
>> widget-style is not changed and the menu-item is not rendered.
>> -                </xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="and" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:sequence>
>> -                <xs:element maxOccurs="unbounded"
>> ref="AllConditionals"/>
>> -            </xs:sequence>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="xor" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:sequence>
>> -                <xs:element maxOccurs="unbounded"
>> ref="AllConditionals"/>
>> -            </xs:sequence>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="or" substitutionGroup="AllConditionals">
>> +    <xs:element name="entity-condition" substitutionGroup="AllActions">
>>           <xs:complexType>
>>               <xs:sequence>
>> -                <xs:element maxOccurs="unbounded"
>> ref="AllConditionals"/>
>> +                <xs:choice minOccurs="0">
>> +                    <xs:element ref="condition-expr" />
>> +                    <xs:element ref="condition-list" />
>> +                    <xs:element ref="condition-object" />
>> +                </xs:choice>
>> +                <xs:element minOccurs="0" ref="having-condition-list" />
>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>> ref="select-field" />
>> +                <xs:element minOccurs="0" maxOccurs="unbounded"
>> ref="order-by" />
>> +                <xs:choice minOccurs="0">
>> +                    <xs:element ref="limit-range" />
>> +                    <xs:element ref="limit-view" />
>> +                    <xs:element ref="use-iterator" />
>> +                </xs:choice>
>>               </xs:sequence>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="not" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:sequence>
>> -                <xs:element ref="AllConditionals"/>
>> -            </xs:sequence>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-service-permission"
>> substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="service-name"
>> use="required" />
>> -            <xs:attribute type="xs:string"
>> name="resource-description" use="optional" />
>> -            <xs:attribute name="main-action" use="optional">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="CREATE" />
>> -                        <xs:enumeration value="UPDATE" />
>> -                        <xs:enumeration value="DELETE" />
>> -                        <xs:enumeration value="VIEW" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-has-permission"
>> substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="permission"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="action" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-entity-permission"
>> substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:choice minOccurs="0">
>> -                <xs:element minOccurs="0" maxOccurs="1"
>> ref="permission-condition-getter" />
>> -                <xs:element minOccurs="0" maxOccurs="1"
>> ref="related-role-getter" />
>> -                <xs:element minOccurs="0" maxOccurs="1"
>> ref="auxiliary-value-getter" />
>> -            </xs:choice>
>>               <xs:attribute type="xs:string" name="entity-name"
>> use="required" />
>> -            <xs:attribute type="xs:string" name="entity-id"
>> use="required">
>> -                <xs:annotation>
>> -                    <xs:documentation>Can have multiple pipe
>> separated values, but don't use spaces.</xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -            <xs:attribute type="xs:string" name="target-operation"
>> use="required">
>> -                <xs:annotation>
>> -                    <xs:documentation>Can have multiple pipe
>> separated values, but don't use spaces.</xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -            <xs:attribute name="display-fail-cond" default="false">
>> +            <xs:attribute name="use-cache" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>>                           <xs:enumeration value="true" />
>> @@ -498,130 +394,33 @@ under the License.
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="permission-condition-getter">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="entity-name" />
>> -            <xs:attribute type="xs:string"
>> name="operation-field-name" />
>> -            <xs:attribute type="xs:string" name="role-field-name" />
>> -            <xs:attribute type="xs:string"
>> name="auxiliary-field-name" />
>> -            <xs:attribute type="xs:string" name="status-field-name" />
>> -            <xs:attribute type="xs:string"
>> name="privilege-field-name" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="related-role-getter">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="entity-name" />
>> -            <xs:attribute type="xs:string" name="role-entity-name" />
>> -            <xs:attribute type="xs:string"
>> name="role-type-field-name" />
>> -            <xs:attribute type="xs:string" name="party-field-name" />
>> -            <xs:attribute type="xs:string"
>> name="owner-entity-field-name" />
>> -            <xs:attribute type="xs:string" name="entity-id-name" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="auxiliary-value-getter">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="entity-name" />
>> -            <xs:attribute type="xs:string"
>> name="auxiliary-field-name" />
>> -            <xs:attribute type="xs:string" name="entity-id-name" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-validate-method"
>> substitutionGroup="AllConditionals">
>> -        <xs:annotation>
>> -            <xs:documentation>Calls a static Java method that takes a
>> String and returns a boolean.</xs:documentation>
>> -        </xs:annotation>
>> -        <xs:complexType>
>> -            <xs:attribute name="field" use="required" />
>> -            <xs:attribute name="method" use="required" />
>> -            <xs:attribute name="class"
>> default="org.ofbiz.base.util.UtilValidate" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-compare" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:attribute name="field" use="required" />
>> -            <xs:attribute name="operator" use="required">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="less" />
>> -                        <xs:enumeration value="greater" />
>> -                        <xs:enumeration value="less-equals" />
>> -                        <xs:enumeration value="greater-equals" />
>> -                        <xs:enumeration value="equals" />
>> -                        <xs:enumeration value="not-equals" />
>> -                        <xs:enumeration value="contains" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="value" use="required" />
>> -            <xs:attribute name="type" default="String">
>> +            <xs:attribute name="filter-by-date" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="PlainString" />
>> -                        <xs:enumeration value="String" />
>> -                        <xs:enumeration value="BigDecimal" />
>> -                        <xs:enumeration value="Double" />
>> -                        <xs:enumeration value="Float" />
>> -                        <xs:enumeration value="Long" />
>> -                        <xs:enumeration value="Integer" />
>> -                        <xs:enumeration value="Date" />
>> -                        <xs:enumeration value="Time" />
>> -                        <xs:enumeration value="Timestamp" />
>> -                        <xs:enumeration value="Boolean" />
>> -                        <xs:enumeration value="Object" />
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                        <xs:enumeration value="by-name" />
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -            <xs:attribute name="format" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-compare-field"
>> substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:attribute name="field" use="required" />
>> -            <xs:attribute name="operator" use="required">
>> +            <xs:attribute name="distinct" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="less" />
>> -                        <xs:enumeration value="greater" />
>> -                        <xs:enumeration value="less-equals" />
>> -                        <xs:enumeration value="greater-equals" />
>> -                        <xs:enumeration value="equals" />
>> -                        <xs:enumeration value="not-equals" />
>> -                        <xs:enumeration value="contains" />
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -            <xs:attribute name="to-field" />
>> -            <xs:attribute name="type" default="String">
>> +            <xs:attribute type="xs:string" name="delegator-name" />
>> +            <xs:attribute type="xs:string" name="list" use="required" />
>> +            <xs:attribute name="result-set-type" default="scroll">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="PlainString" />
>> -                        <xs:enumeration value="String" />
>> -                        <xs:enumeration value="BigDecimal" />
>> -                        <xs:enumeration value="Double" />
>> -                        <xs:enumeration value="Float" />
>> -                        <xs:enumeration value="Long" />
>> -                        <xs:enumeration value="Integer" />
>> -                        <xs:enumeration value="Date" />
>> -                        <xs:enumeration value="Time" />
>> -                        <xs:enumeration value="Timestamp" />
>> -                        <xs:enumeration value="Boolean" />
>> -                        <xs:enumeration value="Object" />
>> +                        <xs:enumeration value="forward" />
>> +                        <xs:enumeration value="scroll" />
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -            <xs:attribute name="format" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:attribute name="field" use="required" />
>> -            <xs:attribute name="expr" use="required" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-empty" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:attribute name="field" use="required" />
>>           </xs:complexType>
>>       </xs:element>
>>   </xs:schema>
>>
>>
>>

Re: svn commit: r1649676 [1/2] - in /ofbiz/site/dtds: ofbiz-properties.xsd widget-common.xsd widget-form.xsd widget-menu.xsd widget-screen.xsd widget-tree.xsd

Posted by Jacques Le Roux <ja...@les7arts.com>.
Le 10/01/2015 10:01, Jacques Le Roux a écrit :
> Hi Adrian,
>
> It's minor, but since recent changes (maybe not yours here) on ofbiz-properties.xsd I get this kind of messages when editing:
>
> Error: [Xerces] cvc-datatype-valid.1.2.3: 'pt_BR' is not a valid
> value of union type '#AnonType_lang'.
> @see: http://www.w3.org/TR/xmlschema11-2/
> #cvc-datatype-valid
> Error: [Xerces] cvc-attribute.3: The value 'pt_BR' of attribute
> 'xml:lang' on element 'value' is not valid with respect to
> its type, '#AnonType_lang'.
> @see: http://www.w3.org/TR/xmlschema11-1/#cvc-attribute
>
> I had a quick look at http://www.w3.org/TR/xmlschema11-2/#cvc-datatype-valid but I can't really warp my head around this jargon :/
>
> It's more clear here: http://www.opentag.com/xfaq_lang.htm#lang_xmllangvalues

BTW, if you prefer a more formal reference http://www.w3.org/TR/xmlschema11-2/#language

> So I see no solutions, do you have an idea?

Of course we could switch from underscores to dashes but I can't clearly remember what this entails

Jacques

>
> Thanks
>
> Jacques
>
> Le 05/01/2015 22:51, adrianc@apache.org a écrit :
>> Author: adrianc
>> Date: Mon Jan  5 21:51:13 2015
>> New Revision: 1649676
>>
>> URL: http://svn.apache.org/r1649676
>> Log:
>> Update web site with recent schema changes.
>>
>> Added:
>>      ofbiz/site/dtds/widget-common.xsd
>> Modified:
>>      ofbiz/site/dtds/ofbiz-properties.xsd
>>      ofbiz/site/dtds/widget-form.xsd
>>      ofbiz/site/dtds/widget-menu.xsd
>>      ofbiz/site/dtds/widget-screen.xsd
>>      ofbiz/site/dtds/widget-tree.xsd
>>
>> Modified: ofbiz/site/dtds/ofbiz-properties.xsd
>> URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/ofbiz-properties.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>> ==============================================================================
>> --- ofbiz/site/dtds/ofbiz-properties.xsd (original)
>> +++ ofbiz/site/dtds/ofbiz-properties.xsd Mon Jan  5 21:51:13 2015
>> @@ -23,7 +23,8 @@ under the License.
>>       <xs:complexType name="valueType">
>>           <xs:simpleContent>
>>               <xs:extension base="xs:string">
>> -                <xs:attribute ref="xml:lang" use="required"/>
>> +                <xs:attribute ref="xml:lang" use="required" />
>> +                <xs:attribute ref="xml:space" />
>>               </xs:extension>
>>           </xs:simpleContent>
>>       </xs:complexType>
>>
>> Added: ofbiz/site/dtds/widget-common.xsd
>> URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-common.xsd?rev=1649676&view=auto
>> ==============================================================================
>> --- ofbiz/site/dtds/widget-common.xsd (added)
>> +++ ofbiz/site/dtds/widget-common.xsd Mon Jan  5 21:51:13 2015
>> @@ -0,0 +1,519 @@
>> +<?xml version="1.0" encoding="UTF-8"?>
>> +<!--
>> +Licensed to the Apache Software Foundation (ASF) under one
>> +or more contributor license agreements.  See the NOTICE file
>> +distributed with this work for additional information
>> +regarding copyright ownership.  The ASF licenses this file
>> +to you under the Apache License, Version 2.0 (the
>> +"License"); you may not use this file except in compliance
>> +with the License.  You may obtain a copy of the License at
>> +
>> +http://www.apache.org/licenses/LICENSE-2.0
>> +
>> +Unless required by applicable law or agreed to in writing,
>> +software distributed under the License is distributed on an
>> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> +KIND, either express or implied.  See the License for the
>> +specific language governing permissions and limitations
>> +under the License.
>> +-->
>> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
>> +
>> +    <xs:complexType name="ConditionRootType">
>> +        <xs:choice>
>> +            <xs:element ref="and" />
>> +            <xs:element ref="or" />
>> +            <xs:element ref="xor" />
>> +            <xs:element ref="not" />
>> +            <xs:element ref="if-service-permission" />
>> +            <xs:element ref="if-has-permission" />
>> +            <xs:element ref="if-entity-permission" />
>> +            <xs:element ref="if-validate-method" />
>> +            <xs:element ref="if-compare" />
>> +            <xs:element ref="if-compare-field" />
>> +            <xs:element ref="if-regexp" />
>> +            <xs:element ref="if-empty" />
>> +        </xs:choice>
>> +    </xs:complexType>
>> +    <xs:element name="AllConditionals" abstract="true" />
>> +    <xs:element name="and" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:sequence>
>> +                <xs:element maxOccurs="unbounded" ref="AllConditionals" />
>> +            </xs:sequence>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="xor" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:sequence>
>> +                <xs:element maxOccurs="unbounded" ref="AllConditionals" />
>> +            </xs:sequence>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="or" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:sequence>
>> +                <xs:element maxOccurs="unbounded" ref="AllConditionals" />
>> +            </xs:sequence>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="not" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:sequence>
>> +                <xs:element ref="AllConditionals" />
>> +            </xs:sequence>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-service-permission" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="service-name" use="required" />
>> +            <xs:attribute type="xs:string" name="resource-description" use="optional" />
>> +            <xs:attribute type="xs:string" name="context-map" use="optional" />
>> +            <xs:attribute name="main-action" use="optional">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="CREATE" />
>> +                        <xs:enumeration value="UPDATE" />
>> +                        <xs:enumeration value="DELETE" />
>> +                        <xs:enumeration value="VIEW" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-has-permission" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="permission" use="required" />
>> +            <xs:attribute type="xs:string" name="action" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-entity-permission" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:choice minOccurs="0">
>> +                <xs:element minOccurs="0" maxOccurs="1" ref="permission-condition-getter" />
>> +                <xs:element minOccurs="0" maxOccurs="1" ref="related-role-getter" />
>> +                <xs:element minOccurs="0" maxOccurs="1" ref="auxiliary-value-getter" />
>> +            </xs:choice>
>> +            <xs:attribute type="xs:string" name="entity-name" use="required" />
>> +            <xs:attribute type="xs:string" name="entity-id" use="required">
>> +                <xs:annotation>
>> +                    <xs:documentation>Can have multiple pipe separated values, but don't use spaces.</xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +            <xs:attribute type="xs:string" name="target-operation" use="required">
>> +                <xs:annotation>
>> +                    <xs:documentation>Can have multiple pipe separated values, but don't use spaces.</xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +            <xs:attribute name="display-fail-cond" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="permission-condition-getter">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="entity-name" />
>> +            <xs:attribute type="xs:string" name="operation-field-name" />
>> +            <xs:attribute type="xs:string" name="role-field-name" />
>> +            <xs:attribute type="xs:string" name="auxiliary-field-name" />
>> +            <xs:attribute type="xs:string" name="status-field-name" />
>> +            <xs:attribute type="xs:string" name="privilege-field-name" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="related-role-getter">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="entity-name" />
>> +            <xs:attribute type="xs:string" name="role-entity-name" />
>> +            <xs:attribute type="xs:string" name="role-type-field-name" />
>> +            <xs:attribute type="xs:string" name="party-field-name" />
>> +            <xs:attribute type="xs:string" name="owner-entity-field-name" />
>> +            <xs:attribute type="xs:string" name="entity-id-name" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="auxiliary-value-getter">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="entity-name" />
>> +            <xs:attribute type="xs:string" name="auxiliary-field-name" />
>> +            <xs:attribute type="xs:string" name="entity-id-name" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-validate-method" substitutionGroup="AllConditionals">
>> +        <xs:annotation>
>> +            <xs:documentation>Calls a static Java method that takes a String and returns a boolean.</xs:documentation>
>> +        </xs:annotation>
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field" use="required" />
>> +            <xs:attribute type="xs:string" name="method" use="required" />
>> +            <xs:attribute type="xs:string" name="class" default="org.ofbiz.base.util.UtilValidate" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-compare" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:attribute name="field" type="xs:string" use="required" />
>> +            <xs:attribute name="operator" use="required">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="less" />
>> +                        <xs:enumeration value="greater" />
>> +                        <xs:enumeration value="less-equals" />
>> +                        <xs:enumeration value="greater-equals" />
>> +                        <xs:enumeration value="equals" />
>> +                        <xs:enumeration value="not-equals" />
>> +                        <xs:enumeration value="contains" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="value" type="xs:string" use="required" />
>> +            <xs:attribute name="type" default="String">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="PlainString" />
>> +                        <xs:enumeration value="String" />
>> +                        <xs:enumeration value="BigDecimal" />
>> +                        <xs:enumeration value="Double" />
>> +                        <xs:enumeration value="Float" />
>> +                        <xs:enumeration value="Long" />
>> +                        <xs:enumeration value="Integer" />
>> +                        <xs:enumeration value="Date" />
>> +                        <xs:enumeration value="Time" />
>> +                        <xs:enumeration value="Timestamp" />
>> +                        <xs:enumeration value="Boolean" />
>> +                        <xs:enumeration value="Object" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute type="xs:string" name="format" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-compare-field" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:attribute name="field" type="xs:string" use="required" />
>> +            <xs:attribute name="operator" use="required">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="less" />
>> +                        <xs:enumeration value="greater" />
>> +                        <xs:enumeration value="less-equals" />
>> +                        <xs:enumeration value="greater-equals" />
>> +                        <xs:enumeration value="equals" />
>> +                        <xs:enumeration value="not-equals" />
>> +                        <xs:enumeration value="contains" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="to-field" type="xs:string" />
>> +            <xs:attribute name="type" default="String">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="PlainString" />
>> +                        <xs:enumeration value="String" />
>> +                        <xs:enumeration value="BigDecimal" />
>> +                        <xs:enumeration value="Double" />
>> +                        <xs:enumeration value="Float" />
>> +                        <xs:enumeration value="Long" />
>> +                        <xs:enumeration value="Integer" />
>> +                        <xs:enumeration value="Date" />
>> +                        <xs:enumeration value="Time" />
>> +                        <xs:enumeration value="Timestamp" />
>> +                        <xs:enumeration value="Boolean" />
>> +                        <xs:enumeration value="Object" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute type="xs:string" name="format" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field" use="required" />
>> +            <xs:attribute type="xs:string" name="expr" use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="if-empty" substitutionGroup="AllConditionals">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field" use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +
>> +    <xs:element name="AllActions" abstract="true" />
>> +    <xs:element name="set" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field" use="required" />
>> +            <xs:attribute type="xs:string" name="from-field" />
>> +            <xs:attribute type="xs:string" name="value" />
>> +            <xs:attribute type="xs:string" name="default-value" />
>> +            <xs:attribute name="global" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="type">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="PlainString" />
>> +                        <xs:enumeration value="String" />
>> +                        <xs:enumeration value="BigDecimal" />
>> +                        <xs:enumeration value="Double" />
>> +                        <xs:enumeration value="Float" />
>> +                        <xs:enumeration value="List" />
>> +                        <xs:enumeration value="Long" />
>> +                        <xs:enumeration value="Integer" />
>> +                        <xs:enumeration value="Date" />
>> +                        <xs:enumeration value="Time" />
>> +                        <xs:enumeration value="Timestamp" />
>> +                        <xs:enumeration value="Boolean" />
>> +                        <xs:enumeration value="Object" />
>> +                        <xs:enumeration value="NewList" />
>> +                        <xs:enumeration value="NewMap" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="to-scope" default="screen">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="screen" />
>> +                        <xs:enumeration value="user" />
>> +                        <xs:enumeration value="application" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="from-scope" default="screen">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="screen" />
>> +                        <xs:enumeration value="user" />
>> +                        <xs:enumeration value="application" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="property-map" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="resource" use="required" />
>> +            <xs:attribute type="xs:string" name="map-name" use="required" />
>> +            <xs:attribute name="global" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="property-to-field" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="resource" use="required" />
>> +            <xs:attribute type="xs:string" name="property" use="required" />
>> +            <xs:attribute type="xs:string" name="field" use="required" />
>> +            <xs:attribute type="xs:string" name="default" />
>> +            <xs:attribute name="no-locale" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute type="xs:string" name="arg-list-name" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="script" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="location" use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="entity-one" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:sequence>
>> +                <xs:element minOccurs="0" maxOccurs="unbounded" ref="field-map" />
>> +                <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" />
>> +            </xs:sequence>
>> +            <xs:attribute name="entity-name" type="xs:string" use="required" />
>> +            <xs:attribute name="value-field" type="xs:string" use="required" />
>> +            <xs:attribute name="use-cache" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="auto-field-map" default="true">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="get-related-one" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:attribute name="value-field" type="xs:string" use="required" />
>> +            <xs:attribute name="relation-name" type="xs:string" use="required" />
>> +            <xs:attribute name="use-cache" type="xs:string" default="false" />
>> +            <xs:attribute name="to-value-field" type="xs:string" use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="get-related" substitutionGroup="AllActions">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="value-field" use="required" />
>> +            <xs:attribute type="xs:string" name="relation-name" use="required" />
>> +            <xs:attribute type="xs:string" name="map" />
>> +            <xs:attribute type="xs:string" name="order-by-list" />
>> +            <xs:attribute type="xs:string" name="use-cache" default="false" />
>> +            <xs:attribute type="xs:string" name="list" use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="condition-list">
>> +        <xs:complexType>
>> +            <xs:choice maxOccurs="unbounded">
>> +                <xs:element ref="condition-expr" />
>> +                <xs:element ref="condition-list" />
>> +                <xs:element ref="condition-object" />
>> +            </xs:choice>
>> +            <xs:attribute name="combine" default="and">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="and" />
>> +                        <xs:enumeration value="or" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="having-condition-list">
>> +        <xs:complexType>
>> +            <xs:choice maxOccurs="unbounded">
>> +                <xs:element ref="condition-expr" />
>> +                <xs:element ref="condition-list" />
>> +                <xs:element ref="condition-object" />
>> +            </xs:choice>
>> +            <xs:attribute name="combine" default="and">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="and" />
>> +                        <xs:enumeration value="or" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="condition-expr">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field-name" use="required" />
>> +            <xs:attribute name="operator" default="equals">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="less" />
>> +                        <xs:enumeration value="greater" />
>> +                        <xs:enumeration value="less-equals" />
>> +                        <xs:enumeration value="greater-equals" />
>> +                        <xs:enumeration value="equals" />
>> +                        <xs:enumeration value="not-equals" />
>> +                        <xs:enumeration value="in" />
>> +                        <xs:enumeration value="not-in" />
>> +                        <xs:enumeration value="between" />
>> +                        <xs:enumeration value="like" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute type="xs:string" name="from-field" />
>> +            <xs:attribute type="xs:string" name="value" />
>> +            <xs:attribute name="ignore-if-null" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="ignore-if-empty" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="ignore-case" default="false">
>> +                <xs:simpleType>
>> +                    <xs:restriction base="xs:token">
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                    </xs:restriction>
>> +                </xs:simpleType>
>> +            </xs:attribute>
>> +            <xs:attribute name="ignore" default="false">
>> +                <xs:annotation>
>> +                    <xs:documentation>
>> +                        Ignore the condition if flag is true.
>> +                        Defaults to false.
>> +                    </xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="condition-object">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field" use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="select-field">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field-name" use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="order-by">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field-name" use="required" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="limit-range">
>> +        <xs:complexType>
>> +            <xs:attribute name="start" type="xs:string" use="required">
>> +                <xs:annotation>
>> +                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +            <xs:attribute name="size" type="xs:string" use="required">
>> +                <xs:annotation>
>> +                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="limit-view">
>> +        <xs:complexType>
>> +            <xs:attribute name="view-index" type="xs:string" use="required">
>> +                <xs:annotation>
>> +                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +            <xs:attribute name="view-size" type="xs:string" use="required">
>> +                <xs:annotation>
>> +                    <xs:documentation>Should resolve into a positive integer.</xs:documentation>
>> +                </xs:annotation>
>> +            </xs:attribute>
>> +        </xs:complexType>
>> +    </xs:element>
>> +    <xs:element name="use-iterator" />
>> +    <xs:element name="field-map">
>> +        <xs:complexType>
>> +            <xs:attribute type="xs:string" name="field-name" use="required" />
>> +            <xs:attribute type="xs:string" name="from-field" />
>> +            <xs:attribute type="xs:string" name="value" />
>> +        </xs:complexType>
>> +    </xs:element>
>> +</xs:schema>
>>
>> Modified: ofbiz/site/dtds/widget-form.xsd
>> URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-form.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>> ==============================================================================
>> --- ofbiz/site/dtds/widget-form.xsd (original)
>> +++ ofbiz/site/dtds/widget-form.xsd Mon Jan  5 21:51:13 2015
>> @@ -18,6 +18,7 @@ specific language governing permissions
>>   under the License.
>>   -->
>>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
>> +    <xs:include schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
>>       <!-- ================== FORMS ==================== -->
>>       <xs:element name="forms">
>> @@ -1798,7 +1799,6 @@ under the License.
>>       </xs:element>
>>       <!-- ================== ACTIONS ==================== -->
>> -    <xs:element name="AllActions" abstract="true"/>
>>       <xs:element name="actions">
>>           <xs:complexType>
>>               <xs:sequence>
>> @@ -1813,42 +1813,6 @@ under the License.
>>               </xs:sequence>
>>           </xs:complexType>
>>       </xs:element>
>> -    <xs:element name="property-map" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="resource" use="required" />
>> -            <xs:attribute type="xs:string" name="map-name" use="required" />
>> -            <xs:attribute name="global" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="property-to-field" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="resource" use="required" />
>> -            <xs:attribute type="xs:string" name="property" use="required" />
>> -            <xs:attribute type="xs:string" name="field" use="required" />
>> -            <xs:attribute type="xs:string" name="default" />
>> -            <xs:attribute name="no-locale" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute type="xs:string" name="arg-list-name" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="script" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="location" use="required" />
>> -        </xs:complexType>
>> -    </xs:element>
>>       <xs:element name="service" substitutionGroup="AllActions">
>>           <xs:complexType>
>>               <xs:sequence>
>> @@ -1873,44 +1837,7 @@ under the License.
>>               </xs:attribute>
>>           </xs:complexType>
>>       </xs:element>
>> -    <xs:element name="set" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="field" use="required" />
>> -            <xs:attribute type="xs:string" name="from-field" />
>> -            <xs:attribute type="xs:string" name="value" />
>> -            <xs:attribute type="xs:string" name="default-value" />
>> -            <xs:attribute name="global" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="type" default="String">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="PlainString" />
>> -                        <xs:enumeration value="String" />
>> -                        <xs:enumeration value="BigDecimal" />
>> -                        <xs:enumeration value="Double" />
>> -                        <xs:enumeration value="Float" />
>> -                        <xs:enumeration value="List" />
>> -                        <xs:enumeration value="Long" />
>> -                        <xs:enumeration value="Integer" />
>> -                        <xs:enumeration value="Date" />
>> -                        <xs:enumeration value="Time" />
>> -                        <xs:enumeration value="Timestamp" />
>> -                        <xs:enumeration value="Boolean" />
>> -                        <xs:enumeration value="Object" />
>> -                        <xs:enumeration value="NewList" />
>> -                        <xs:enumeration value="NewMap" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -
>> +    <xs:element name="call-parent-actions" substitutionGroup="AllActions" />
>>       <xs:element name="entity-and" substitutionGroup="AllActions">
>>           <xs:complexType>
>>               <xs:sequence>
>> @@ -1923,8 +1850,7 @@ under the License.
>>                       <xs:element ref="use-iterator" />
>>                   </xs:choice>
>>               </xs:sequence>
>> -            <xs:attribute name="entity-name" type="xs:string" use="required" />
>> -            <xs:attribute name="list" type="xs:string" use="optional" />
>> +            <xs:attribute type="xs:string" name="entity-name" use="required" />
>>               <xs:attribute name="use-cache" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> @@ -1942,6 +1868,7 @@ under the License.
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> +            <xs:attribute type="xs:string" name="list" />
>>               <xs:attribute name="result-set-type" default="scroll">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> @@ -1969,8 +1896,7 @@ under the License.
>>                       <xs:element ref="use-iterator" />
>>                   </xs:choice>
>>               </xs:sequence>
>> -            <xs:attribute name="entity-name" type="xs:string" use="required" />
>> -            <xs:attribute name="list" type="xs:string" use="optional" />
>> +            <xs:attribute type="xs:string" name="entity-name" use="required" />
>>               <xs:attribute name="use-cache" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> @@ -1996,7 +1922,8 @@ under the License.
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -            <xs:attribute name="delegator-name" />
>> +            <xs:attribute type="xs:string" name="delegator-name" />
>> +            <xs:attribute type="xs:string" name="list" />
>>               <xs:attribute name="result-set-type" default="scroll">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> @@ -2007,172 +1934,4 @@ under the License.
>>               </xs:attribute>
>>           </xs:complexType>
>>       </xs:element>
>> -    <xs:element name="entity-one" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:sequence>
>> -                <xs:element minOccurs="0" maxOccurs="unbounded" ref="field-map" />
>> -                <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" />
>> -            </xs:sequence>
>> -            <xs:attribute type="xs:string" name="entity-name" use="required" />
>> -            <xs:attribute type="xs:string" name="value-field" />
>> -            <xs:attribute name="use-cache" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="auto-field-map" default="true">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -
>> -    <xs:element name="condition-expr">
>> -        <xs:complexType>
>> -            <xs:attribute name="field-name" type="xs:string" use="required" />
>> -            <xs:attribute name="operator" default="equals">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="less" />
>> -                        <xs:enumeration value="greater" />
>> -                        <xs:enumeration value="less-equals" />
>> -                        <xs:enumeration value="greater-equals" />
>> -                        <xs:enumeration value="equals" />
>> -                        <xs:enumeration value="not-equals" />
>> -                        <xs:enumeration value="in" />
>> -                        <xs:enumeration value="between" />
>> -                        <xs:enumeration value="like" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="from-field" type="xs:string" />
>> -            <xs:attribute name="value" type="xs:string" />
>> -            <xs:attribute name="ignore-if-null" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="ignore-if-empty" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="ignore-case" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="ignore" default="false">
>> -                <xs:annotation>
>> -                    <xs:documentation>
>> -                        Ignore the condition if flag is true.
>> -                        Defaults to false.
>> -                </xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="condition-list">
>> -        <xs:complexType>
>> -            <xs:choice maxOccurs="unbounded">
>> -                <xs:element ref="condition-expr" />
>> -                <xs:element ref="condition-list" />
>> -                <xs:element ref="condition-object" />
>> -            </xs:choice>
>> -            <xs:attribute name="combine" default="and">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="and" />
>> -                        <xs:enumeration value="or" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="condition-object">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="field" use="required" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="field-map">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="field-name" use="required" />
>> -            <xs:attribute type="xs:string" name="from-field" />
>> -            <xs:attribute type="xs:string" name="value" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="having-condition-list">
>> -        <xs:complexType>
>> -            <xs:choice maxOccurs="unbounded">
>> -                <xs:element ref="condition-expr" />
>> -                <xs:element ref="condition-list" />
>> -                <xs:element ref="condition-object" />
>> -            </xs:choice>
>> -            <xs:attribute name="combine" default="and">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="and" />
>> -                        <xs:enumeration value="or" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="limit-range">
>> -        <xs:complexType>
>> -            <xs:attribute name="start" type="xs:string" use="required">
>> -                <xs:annotation>
>> -                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -            <xs:attribute name="size" type="xs:string" use="required">
>> -                <xs:annotation>
>> -                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="limit-view">
>> -        <xs:complexType>
>> -            <xs:attribute name="view-index" type="xs:string" use="required">
>> -                <xs:annotation>
>> -                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -            <xs:attribute name="view-size" type="xs:string" use="required">
>> -                <xs:annotation>
>> -                    <xs:documentation>Should resolve into a positive integer.</xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="use-iterator" />
>> -    <xs:element name="order-by">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="field-name" use="required" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="select-field">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="field-name" use="required" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -
>> -    <xs:element name="call-parent-actions" substitutionGroup="AllActions" />
>>   </xs:schema>
>>
>> Modified: ofbiz/site/dtds/widget-menu.xsd
>> URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-menu.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
>> ==============================================================================
>> --- ofbiz/site/dtds/widget-menu.xsd (original)
>> +++ ofbiz/site/dtds/widget-menu.xsd Mon Jan  5 21:51:13 2015
>> @@ -18,6 +18,7 @@ specific language governing permissions
>>   under the License.
>>   -->
>>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
>> +    <xs:include schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
>>       <xs:element name="menus">
>>           <xs:complexType>
>>               <xs:sequence>
>> @@ -96,7 +97,32 @@ under the License.
>>       <xs:element name="menu-item">
>>           <xs:complexType>
>>               <xs:sequence>
>> -                <xs:element minOccurs="0" ref="condition" />
>> +                <xs:element name="condition" minOccurs="0">
>> +                    <xs:complexType>
>> +                        <xs:complexContent>
>> +                            <xs:extension base="ConditionRootType">
>> +                                <xs:attribute type="xs:string" name="pass-style">
>> +                                    <xs:annotation>
>> + <xs:documentation>
>> +                                            If a pass-style provided and the condition passes, the widget-style of
>> +                                            the parent menu-item is set with the pass-style. If no pass-style is given,
>> +                                            the widget-style is not changed.
>> + </xs:documentation>
>> +                                    </xs:annotation>
>> +                                </xs:attribute>
>> +                                <xs:attribute type="xs:string" name="disabled-style">
>> +                                    <xs:annotation>
>> + <xs:documentation>
>> +                                            If a disabled-style provided and the condition fails, the disabled-style of
>> +                                            the parent menu-item is set with the disabled-style and processing is allowed to continue.
>> +                                            If no disabled-style is given, the widget-style is not changed and the menu-item is not rendered.
>> + </xs:documentation>
>> +                                    </xs:annotation>
>> +                                </xs:attribute>
>> +                            </xs:extension>
>> +                        </xs:complexContent>
>> +                    </xs:complexType>
>> +                </xs:element>
>>                   <xs:element minOccurs="0" ref="actions" />
>>                   <xs:element minOccurs="0" ref="link" />
>>                   <xs:element minOccurs="0" maxOccurs="unbounded" ref="menu-item" />
>> @@ -294,8 +320,6 @@ under the License.
>>           </xs:complexType>
>>       </xs:element>
>>   -    <!-- ================ ACTIONS ================ -->
>> -    <xs:element name="AllActions" abstract="true"/>
>>       <xs:element name="actions">
>>           <xs:complexType>
>>               <xs:sequence>
>> @@ -303,27 +327,20 @@ under the License.
>>               </xs:sequence>
>>           </xs:complexType>
>>       </xs:element>
>> -    <xs:element name="property-map" substitutionGroup="AllActions">
>> +    <xs:element name="entity-and" substitutionGroup="AllActions">
>>           <xs:complexType>
>> -            <xs:attribute type="xs:string" name="resource" use="required" />
>> -            <xs:attribute type="xs:string" name="map-name" use="required" />
>> -            <xs:attribute name="global" default="false">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="true" />
>> -                        <xs:enumeration value="false" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="property-to-field" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="resource" use="required" />
>> -            <xs:attribute type="xs:string" name="property" use="required" />
>> -            <xs:attribute type="xs:string" name="field" use="required" />
>> -            <xs:attribute type="xs:string" name="default" />
>> -            <xs:attribute name="no-locale" default="false">
>> +            <xs:sequence>
>> +                <xs:element maxOccurs="unbounded" ref="field-map" />
>> +                <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" />
>> +                <xs:element minOccurs="0" maxOccurs="unbounded" ref="order-by" />
>> +                <xs:choice minOccurs="0">
>> +                    <xs:element ref="limit-range" />
>> +                    <xs:element ref="limit-view" />
>> +                    <xs:element ref="use-iterator" />
>> +                </xs:choice>
>> +            </xs:sequence>
>> +            <xs:attribute type="xs:string" name="entity-name" use="required" />
>> +            <xs:attribute name="use-cache" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>>                           <xs:enumeration value="true" />
>> @@ -331,166 +348,45 @@ under the License.
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -            <xs:attribute type="xs:string" name="arg-list-name" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="script" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="location" use="required" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="set" substitutionGroup="AllActions">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="field" use="required" />
>> -            <xs:attribute type="xs:string" name="from-field" />
>> -            <xs:attribute type="xs:string" name="value" />
>> -            <xs:attribute type="xs:string" name="default-value" />
>> -            <xs:attribute name="global" default="false">
>> +            <xs:attribute name="filter-by-date" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>>                           <xs:enumeration value="true" />
>>                           <xs:enumeration value="false" />
>> +                        <xs:enumeration value="by-name" />
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -            <xs:attribute name="type" default="String">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="PlainString" />
>> -                        <xs:enumeration value="String" />
>> -                        <xs:enumeration value="BigDecimal" />
>> -                        <xs:enumeration value="Double" />
>> -                        <xs:enumeration value="Float" />
>> -                        <xs:enumeration value="List" />
>> -                        <xs:enumeration value="Long" />
>> -                        <xs:enumeration value="Integer" />
>> -                        <xs:enumeration value="Date" />
>> -                        <xs:enumeration value="Time" />
>> -                        <xs:enumeration value="Timestamp" />
>> -                        <xs:enumeration value="Boolean" />
>> -                        <xs:enumeration value="Object" />
>> -                        <xs:enumeration value="NewList" />
>> -                        <xs:enumeration value="NewMap" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="to-scope" default="screen">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="screen" />
>> -                        <xs:enumeration value="user" />
>> -                        <xs:enumeration value="application" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="from-scope" default="screen">
>> +            <xs:attribute type="xs:string" name="list" use="required" />
>> +            <xs:attribute name="result-set-type" default="scroll">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="screen" />
>> -                        <xs:enumeration value="user" />
>> -                        <xs:enumeration value="application" />
>> +                        <xs:enumeration value="forward" />
>> +                        <xs:enumeration value="scroll" />
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>>           </xs:complexType>
>>       </xs:element>
>> -
>> -    <!-- ================ CONDITIONS ================ -->
>> -    <xs:element name="AllConditionals" abstract="true"/>
>> -    <xs:element name="condition">
>> -        <xs:complexType>
>> -            <xs:sequence>
>> -                <xs:element minOccurs="1" maxOccurs="1" ref="AllConditionals" />
>> -            </xs:sequence>
>> -            <xs:attribute type="xs:string" name="pass-style">
>> -                <xs:annotation>
>> -                    <xs:documentation>
>> -                        If a pass-style provided and the condition passes, the widget-style of
>> -                        the parent menu-item is set with the pass-style. If no pass-style is given,
>> -                        the widget-style is not changed.
>> -                </xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -            <xs:attribute type="xs:string" name="disabled-style">
>> -                <xs:annotation>
>> -                    <xs:documentation>
>> -                        If a disabled-style provided and the condition fails, the disabled-style of
>> -                        the parent menu-item is set with the disabled-style and processing is allowed to continue.
>> -                        If no disabled-style is given, the widget-style is not changed and the menu-item is not rendered.
>> -                </xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="and" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:sequence>
>> -                <xs:element maxOccurs="unbounded" ref="AllConditionals"/>
>> -            </xs:sequence>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="xor" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:sequence>
>> -                <xs:element maxOccurs="unbounded" ref="AllConditionals"/>
>> -            </xs:sequence>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="or" substitutionGroup="AllConditionals">
>> +    <xs:element name="entity-condition" substitutionGroup="AllActions">
>>           <xs:complexType>
>>               <xs:sequence>
>> -                <xs:element maxOccurs="unbounded" ref="AllConditionals"/>
>> +                <xs:choice minOccurs="0">
>> +                    <xs:element ref="condition-expr" />
>> +                    <xs:element ref="condition-list" />
>> +                    <xs:element ref="condition-object" />
>> +                </xs:choice>
>> +                <xs:element minOccurs="0" ref="having-condition-list" />
>> +                <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" />
>> +                <xs:element minOccurs="0" maxOccurs="unbounded" ref="order-by" />
>> +                <xs:choice minOccurs="0">
>> +                    <xs:element ref="limit-range" />
>> +                    <xs:element ref="limit-view" />
>> +                    <xs:element ref="use-iterator" />
>> +                </xs:choice>
>>               </xs:sequence>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="not" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:sequence>
>> -                <xs:element ref="AllConditionals"/>
>> -            </xs:sequence>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-service-permission" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="service-name" use="required" />
>> -            <xs:attribute type="xs:string" name="resource-description" use="optional" />
>> -            <xs:attribute name="main-action" use="optional">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="CREATE" />
>> -                        <xs:enumeration value="UPDATE" />
>> -                        <xs:enumeration value="DELETE" />
>> -                        <xs:enumeration value="VIEW" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-has-permission" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="permission" use="required" />
>> -            <xs:attribute type="xs:string" name="action" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-entity-permission" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:choice minOccurs="0">
>> -                <xs:element minOccurs="0" maxOccurs="1" ref="permission-condition-getter" />
>> -                <xs:element minOccurs="0" maxOccurs="1" ref="related-role-getter" />
>> -                <xs:element minOccurs="0" maxOccurs="1" ref="auxiliary-value-getter" />
>> -            </xs:choice>
>>               <xs:attribute type="xs:string" name="entity-name" use="required" />
>> -            <xs:attribute type="xs:string" name="entity-id" use="required">
>> -                <xs:annotation>
>> -                    <xs:documentation>Can have multiple pipe separated values, but don't use spaces.</xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -            <xs:attribute type="xs:string" name="target-operation" use="required">
>> -                <xs:annotation>
>> -                    <xs:documentation>Can have multiple pipe separated values, but don't use spaces.</xs:documentation>
>> -                </xs:annotation>
>> -            </xs:attribute>
>> -            <xs:attribute name="display-fail-cond" default="false">
>> +            <xs:attribute name="use-cache" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>>                           <xs:enumeration value="true" />
>> @@ -498,130 +394,33 @@ under the License.
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="permission-condition-getter">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="entity-name" />
>> -            <xs:attribute type="xs:string" name="operation-field-name" />
>> -            <xs:attribute type="xs:string" name="role-field-name" />
>> -            <xs:attribute type="xs:string" name="auxiliary-field-name" />
>> -            <xs:attribute type="xs:string" name="status-field-name" />
>> -            <xs:attribute type="xs:string" name="privilege-field-name" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="related-role-getter">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="entity-name" />
>> -            <xs:attribute type="xs:string" name="role-entity-name" />
>> -            <xs:attribute type="xs:string" name="role-type-field-name" />
>> -            <xs:attribute type="xs:string" name="party-field-name" />
>> -            <xs:attribute type="xs:string" name="owner-entity-field-name" />
>> -            <xs:attribute type="xs:string" name="entity-id-name" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="auxiliary-value-getter">
>> -        <xs:complexType>
>> -            <xs:attribute type="xs:string" name="entity-name" />
>> -            <xs:attribute type="xs:string" name="auxiliary-field-name" />
>> -            <xs:attribute type="xs:string" name="entity-id-name" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-validate-method" substitutionGroup="AllConditionals">
>> -        <xs:annotation>
>> -            <xs:documentation>Calls a static Java method that takes a String and returns a boolean.</xs:documentation>
>> -        </xs:annotation>
>> -        <xs:complexType>
>> -            <xs:attribute name="field" use="required" />
>> -            <xs:attribute name="method" use="required" />
>> -            <xs:attribute name="class" default="org.ofbiz.base.util.UtilValidate" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-compare" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:attribute name="field" use="required" />
>> -            <xs:attribute name="operator" use="required">
>> -                <xs:simpleType>
>> -                    <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="less" />
>> -                        <xs:enumeration value="greater" />
>> -                        <xs:enumeration value="less-equals" />
>> -                        <xs:enumeration value="greater-equals" />
>> -                        <xs:enumeration value="equals" />
>> -                        <xs:enumeration value="not-equals" />
>> -                        <xs:enumeration value="contains" />
>> -                    </xs:restriction>
>> -                </xs:simpleType>
>> -            </xs:attribute>
>> -            <xs:attribute name="value" use="required" />
>> -            <xs:attribute name="type" default="String">
>> +            <xs:attribute name="filter-by-date" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="PlainString" />
>> -                        <xs:enumeration value="String" />
>> -                        <xs:enumeration value="BigDecimal" />
>> -                        <xs:enumeration value="Double" />
>> -                        <xs:enumeration value="Float" />
>> -                        <xs:enumeration value="Long" />
>> -                        <xs:enumeration value="Integer" />
>> -                        <xs:enumeration value="Date" />
>> -                        <xs:enumeration value="Time" />
>> -                        <xs:enumeration value="Timestamp" />
>> -                        <xs:enumeration value="Boolean" />
>> -                        <xs:enumeration value="Object" />
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>> +                        <xs:enumeration value="by-name" />
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -            <xs:attribute name="format" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-compare-field" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:attribute name="field" use="required" />
>> -            <xs:attribute name="operator" use="required">
>> +            <xs:attribute name="distinct" default="false">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="less" />
>> -                        <xs:enumeration value="greater" />
>> -                        <xs:enumeration value="less-equals" />
>> -                        <xs:enumeration value="greater-equals" />
>> -                        <xs:enumeration value="equals" />
>> -                        <xs:enumeration value="not-equals" />
>> -                        <xs:enumeration value="contains" />
>> +                        <xs:enumeration value="true" />
>> +                        <xs:enumeration value="false" />
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -            <xs:attribute name="to-field" />
>> -            <xs:attribute name="type" default="String">
>> +            <xs:attribute type="xs:string" name="delegator-name" />
>> +            <xs:attribute type="xs:string" name="list" use="required" />
>> +            <xs:attribute name="result-set-type" default="scroll">
>>                   <xs:simpleType>
>>                       <xs:restriction base="xs:token">
>> -                        <xs:enumeration value="PlainString" />
>> -                        <xs:enumeration value="String" />
>> -                        <xs:enumeration value="BigDecimal" />
>> -                        <xs:enumeration value="Double" />
>> -                        <xs:enumeration value="Float" />
>> -                        <xs:enumeration value="Long" />
>> -                        <xs:enumeration value="Integer" />
>> -                        <xs:enumeration value="Date" />
>> -                        <xs:enumeration value="Time" />
>> -                        <xs:enumeration value="Timestamp" />
>> -                        <xs:enumeration value="Boolean" />
>> -                        <xs:enumeration value="Object" />
>> +                        <xs:enumeration value="forward" />
>> +                        <xs:enumeration value="scroll" />
>>                       </xs:restriction>
>>                   </xs:simpleType>
>>               </xs:attribute>
>> -            <xs:attribute name="format" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:attribute name="field" use="required" />
>> -            <xs:attribute name="expr" use="required" />
>> -        </xs:complexType>
>> -    </xs:element>
>> -    <xs:element name="if-empty" substitutionGroup="AllConditionals">
>> -        <xs:complexType>
>> -            <xs:attribute name="field" use="required" />
>>           </xs:complexType>
>>       </xs:element>
>>   </xs:schema>
>>
>>
>>
>

Re: svn commit: r1649676 [1/2] - in /ofbiz/site/dtds: ofbiz-properties.xsd widget-common.xsd widget-form.xsd widget-menu.xsd widget-screen.xsd widget-tree.xsd

Posted by Jacques Le Roux <ja...@les7arts.com>.
Hi Adrian,

It's minor, but since recent changes (maybe not yours here) on ofbiz-properties.xsd I get this kind of messages when editing:

Error: [Xerces] cvc-datatype-valid.1.2.3: 'pt_BR' is not a valid
value of union type '#AnonType_lang'.
@see: http://www.w3.org/TR/xmlschema11-2/
#cvc-datatype-valid
Error: [Xerces] cvc-attribute.3: The value 'pt_BR' of attribute
'xml:lang' on element 'value' is not valid with respect to
its type, '#AnonType_lang'.
@see: http://www.w3.org/TR/xmlschema11-1/#cvc-attribute

I had a quick look at http://www.w3.org/TR/xmlschema11-2/#cvc-datatype-valid but I can't really warp my head around this jargon :/

It's more clear here: http://www.opentag.com/xfaq_lang.htm#lang_xmllangvalues

So I see no solutions, do you have an idea?

Thanks

Jacques

Le 05/01/2015 22:51, adrianc@apache.org a écrit :
> Author: adrianc
> Date: Mon Jan  5 21:51:13 2015
> New Revision: 1649676
>
> URL: http://svn.apache.org/r1649676
> Log:
> Update web site with recent schema changes.
>
> Added:
>      ofbiz/site/dtds/widget-common.xsd
> Modified:
>      ofbiz/site/dtds/ofbiz-properties.xsd
>      ofbiz/site/dtds/widget-form.xsd
>      ofbiz/site/dtds/widget-menu.xsd
>      ofbiz/site/dtds/widget-screen.xsd
>      ofbiz/site/dtds/widget-tree.xsd
>
> Modified: ofbiz/site/dtds/ofbiz-properties.xsd
> URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/ofbiz-properties.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
> ==============================================================================
> --- ofbiz/site/dtds/ofbiz-properties.xsd (original)
> +++ ofbiz/site/dtds/ofbiz-properties.xsd Mon Jan  5 21:51:13 2015
> @@ -23,7 +23,8 @@ under the License.
>       <xs:complexType name="valueType">
>           <xs:simpleContent>
>               <xs:extension base="xs:string">
> -                <xs:attribute ref="xml:lang" use="required"/>
> +                <xs:attribute ref="xml:lang" use="required" />
> +                <xs:attribute ref="xml:space" />
>               </xs:extension>
>           </xs:simpleContent>
>       </xs:complexType>
>
> Added: ofbiz/site/dtds/widget-common.xsd
> URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-common.xsd?rev=1649676&view=auto
> ==============================================================================
> --- ofbiz/site/dtds/widget-common.xsd (added)
> +++ ofbiz/site/dtds/widget-common.xsd Mon Jan  5 21:51:13 2015
> @@ -0,0 +1,519 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> +Licensed to the Apache Software Foundation (ASF) under one
> +or more contributor license agreements.  See the NOTICE file
> +distributed with this work for additional information
> +regarding copyright ownership.  The ASF licenses this file
> +to you under the Apache License, Version 2.0 (the
> +"License"); you may not use this file except in compliance
> +with the License.  You may obtain a copy of the License at
> +
> +http://www.apache.org/licenses/LICENSE-2.0
> +
> +Unless required by applicable law or agreed to in writing,
> +software distributed under the License is distributed on an
> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> +KIND, either express or implied.  See the License for the
> +specific language governing permissions and limitations
> +under the License.
> +-->
> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
> +
> +    <xs:complexType name="ConditionRootType">
> +        <xs:choice>
> +            <xs:element ref="and" />
> +            <xs:element ref="or" />
> +            <xs:element ref="xor" />
> +            <xs:element ref="not" />
> +            <xs:element ref="if-service-permission" />
> +            <xs:element ref="if-has-permission" />
> +            <xs:element ref="if-entity-permission" />
> +            <xs:element ref="if-validate-method" />
> +            <xs:element ref="if-compare" />
> +            <xs:element ref="if-compare-field" />
> +            <xs:element ref="if-regexp" />
> +            <xs:element ref="if-empty" />
> +        </xs:choice>
> +    </xs:complexType>
> +    <xs:element name="AllConditionals" abstract="true" />
> +    <xs:element name="and" substitutionGroup="AllConditionals">
> +        <xs:complexType>
> +            <xs:sequence>
> +                <xs:element maxOccurs="unbounded" ref="AllConditionals" />
> +            </xs:sequence>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="xor" substitutionGroup="AllConditionals">
> +        <xs:complexType>
> +            <xs:sequence>
> +                <xs:element maxOccurs="unbounded" ref="AllConditionals" />
> +            </xs:sequence>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="or" substitutionGroup="AllConditionals">
> +        <xs:complexType>
> +            <xs:sequence>
> +                <xs:element maxOccurs="unbounded" ref="AllConditionals" />
> +            </xs:sequence>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="not" substitutionGroup="AllConditionals">
> +        <xs:complexType>
> +            <xs:sequence>
> +                <xs:element ref="AllConditionals" />
> +            </xs:sequence>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="if-service-permission" substitutionGroup="AllConditionals">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="service-name" use="required" />
> +            <xs:attribute type="xs:string" name="resource-description" use="optional" />
> +            <xs:attribute type="xs:string" name="context-map" use="optional" />
> +            <xs:attribute name="main-action" use="optional">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="CREATE" />
> +                        <xs:enumeration value="UPDATE" />
> +                        <xs:enumeration value="DELETE" />
> +                        <xs:enumeration value="VIEW" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="if-has-permission" substitutionGroup="AllConditionals">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="permission" use="required" />
> +            <xs:attribute type="xs:string" name="action" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="if-entity-permission" substitutionGroup="AllConditionals">
> +        <xs:complexType>
> +            <xs:choice minOccurs="0">
> +                <xs:element minOccurs="0" maxOccurs="1" ref="permission-condition-getter" />
> +                <xs:element minOccurs="0" maxOccurs="1" ref="related-role-getter" />
> +                <xs:element minOccurs="0" maxOccurs="1" ref="auxiliary-value-getter" />
> +            </xs:choice>
> +            <xs:attribute type="xs:string" name="entity-name" use="required" />
> +            <xs:attribute type="xs:string" name="entity-id" use="required">
> +                <xs:annotation>
> +                    <xs:documentation>Can have multiple pipe separated values, but don't use spaces.</xs:documentation>
> +                </xs:annotation>
> +            </xs:attribute>
> +            <xs:attribute type="xs:string" name="target-operation" use="required">
> +                <xs:annotation>
> +                    <xs:documentation>Can have multiple pipe separated values, but don't use spaces.</xs:documentation>
> +                </xs:annotation>
> +            </xs:attribute>
> +            <xs:attribute name="display-fail-cond" default="false">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="true" />
> +                        <xs:enumeration value="false" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="permission-condition-getter">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="entity-name" />
> +            <xs:attribute type="xs:string" name="operation-field-name" />
> +            <xs:attribute type="xs:string" name="role-field-name" />
> +            <xs:attribute type="xs:string" name="auxiliary-field-name" />
> +            <xs:attribute type="xs:string" name="status-field-name" />
> +            <xs:attribute type="xs:string" name="privilege-field-name" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="related-role-getter">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="entity-name" />
> +            <xs:attribute type="xs:string" name="role-entity-name" />
> +            <xs:attribute type="xs:string" name="role-type-field-name" />
> +            <xs:attribute type="xs:string" name="party-field-name" />
> +            <xs:attribute type="xs:string" name="owner-entity-field-name" />
> +            <xs:attribute type="xs:string" name="entity-id-name" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="auxiliary-value-getter">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="entity-name" />
> +            <xs:attribute type="xs:string" name="auxiliary-field-name" />
> +            <xs:attribute type="xs:string" name="entity-id-name" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="if-validate-method" substitutionGroup="AllConditionals">
> +        <xs:annotation>
> +            <xs:documentation>Calls a static Java method that takes a String and returns a boolean.</xs:documentation>
> +        </xs:annotation>
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="field" use="required" />
> +            <xs:attribute type="xs:string" name="method" use="required" />
> +            <xs:attribute type="xs:string" name="class" default="org.ofbiz.base.util.UtilValidate" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="if-compare" substitutionGroup="AllConditionals">
> +        <xs:complexType>
> +            <xs:attribute name="field" type="xs:string" use="required" />
> +            <xs:attribute name="operator" use="required">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="less" />
> +                        <xs:enumeration value="greater" />
> +                        <xs:enumeration value="less-equals" />
> +                        <xs:enumeration value="greater-equals" />
> +                        <xs:enumeration value="equals" />
> +                        <xs:enumeration value="not-equals" />
> +                        <xs:enumeration value="contains" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +            <xs:attribute name="value" type="xs:string" use="required" />
> +            <xs:attribute name="type" default="String">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="PlainString" />
> +                        <xs:enumeration value="String" />
> +                        <xs:enumeration value="BigDecimal" />
> +                        <xs:enumeration value="Double" />
> +                        <xs:enumeration value="Float" />
> +                        <xs:enumeration value="Long" />
> +                        <xs:enumeration value="Integer" />
> +                        <xs:enumeration value="Date" />
> +                        <xs:enumeration value="Time" />
> +                        <xs:enumeration value="Timestamp" />
> +                        <xs:enumeration value="Boolean" />
> +                        <xs:enumeration value="Object" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +            <xs:attribute type="xs:string" name="format" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="if-compare-field" substitutionGroup="AllConditionals">
> +        <xs:complexType>
> +            <xs:attribute name="field" type="xs:string" use="required" />
> +            <xs:attribute name="operator" use="required">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="less" />
> +                        <xs:enumeration value="greater" />
> +                        <xs:enumeration value="less-equals" />
> +                        <xs:enumeration value="greater-equals" />
> +                        <xs:enumeration value="equals" />
> +                        <xs:enumeration value="not-equals" />
> +                        <xs:enumeration value="contains" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +            <xs:attribute name="to-field" type="xs:string" />
> +            <xs:attribute name="type" default="String">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="PlainString" />
> +                        <xs:enumeration value="String" />
> +                        <xs:enumeration value="BigDecimal" />
> +                        <xs:enumeration value="Double" />
> +                        <xs:enumeration value="Float" />
> +                        <xs:enumeration value="Long" />
> +                        <xs:enumeration value="Integer" />
> +                        <xs:enumeration value="Date" />
> +                        <xs:enumeration value="Time" />
> +                        <xs:enumeration value="Timestamp" />
> +                        <xs:enumeration value="Boolean" />
> +                        <xs:enumeration value="Object" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +            <xs:attribute type="xs:string" name="format" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="field" use="required" />
> +            <xs:attribute type="xs:string" name="expr" use="required" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="if-empty" substitutionGroup="AllConditionals">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="field" use="required" />
> +        </xs:complexType>
> +    </xs:element>
> +
> +    <xs:element name="AllActions" abstract="true" />
> +    <xs:element name="set" substitutionGroup="AllActions">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="field" use="required" />
> +            <xs:attribute type="xs:string" name="from-field" />
> +            <xs:attribute type="xs:string" name="value" />
> +            <xs:attribute type="xs:string" name="default-value" />
> +            <xs:attribute name="global" default="false">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="true" />
> +                        <xs:enumeration value="false" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +            <xs:attribute name="type">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="PlainString" />
> +                        <xs:enumeration value="String" />
> +                        <xs:enumeration value="BigDecimal" />
> +                        <xs:enumeration value="Double" />
> +                        <xs:enumeration value="Float" />
> +                        <xs:enumeration value="List" />
> +                        <xs:enumeration value="Long" />
> +                        <xs:enumeration value="Integer" />
> +                        <xs:enumeration value="Date" />
> +                        <xs:enumeration value="Time" />
> +                        <xs:enumeration value="Timestamp" />
> +                        <xs:enumeration value="Boolean" />
> +                        <xs:enumeration value="Object" />
> +                        <xs:enumeration value="NewList" />
> +                        <xs:enumeration value="NewMap" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +            <xs:attribute name="to-scope" default="screen">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="screen" />
> +                        <xs:enumeration value="user" />
> +                        <xs:enumeration value="application" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +            <xs:attribute name="from-scope" default="screen">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="screen" />
> +                        <xs:enumeration value="user" />
> +                        <xs:enumeration value="application" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="property-map" substitutionGroup="AllActions">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="resource" use="required" />
> +            <xs:attribute type="xs:string" name="map-name" use="required" />
> +            <xs:attribute name="global" default="false">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="true" />
> +                        <xs:enumeration value="false" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="property-to-field" substitutionGroup="AllActions">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="resource" use="required" />
> +            <xs:attribute type="xs:string" name="property" use="required" />
> +            <xs:attribute type="xs:string" name="field" use="required" />
> +            <xs:attribute type="xs:string" name="default" />
> +            <xs:attribute name="no-locale" default="false">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="true" />
> +                        <xs:enumeration value="false" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +            <xs:attribute type="xs:string" name="arg-list-name" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="script" substitutionGroup="AllActions">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="location" use="required" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="entity-one" substitutionGroup="AllActions">
> +        <xs:complexType>
> +            <xs:sequence>
> +                <xs:element minOccurs="0" maxOccurs="unbounded" ref="field-map" />
> +                <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" />
> +            </xs:sequence>
> +            <xs:attribute name="entity-name" type="xs:string" use="required" />
> +            <xs:attribute name="value-field" type="xs:string" use="required" />
> +            <xs:attribute name="use-cache" default="false">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="true" />
> +                        <xs:enumeration value="false" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +            <xs:attribute name="auto-field-map" default="true">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="true" />
> +                        <xs:enumeration value="false" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="get-related-one" substitutionGroup="AllActions">
> +        <xs:complexType>
> +            <xs:attribute name="value-field" type="xs:string" use="required" />
> +            <xs:attribute name="relation-name" type="xs:string" use="required" />
> +            <xs:attribute name="use-cache" type="xs:string" default="false" />
> +            <xs:attribute name="to-value-field" type="xs:string" use="required" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="get-related" substitutionGroup="AllActions">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="value-field" use="required" />
> +            <xs:attribute type="xs:string" name="relation-name" use="required" />
> +            <xs:attribute type="xs:string" name="map" />
> +            <xs:attribute type="xs:string" name="order-by-list" />
> +            <xs:attribute type="xs:string" name="use-cache" default="false" />
> +            <xs:attribute type="xs:string" name="list" use="required" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="condition-list">
> +        <xs:complexType>
> +            <xs:choice maxOccurs="unbounded">
> +                <xs:element ref="condition-expr" />
> +                <xs:element ref="condition-list" />
> +                <xs:element ref="condition-object" />
> +            </xs:choice>
> +            <xs:attribute name="combine" default="and">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="and" />
> +                        <xs:enumeration value="or" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="having-condition-list">
> +        <xs:complexType>
> +            <xs:choice maxOccurs="unbounded">
> +                <xs:element ref="condition-expr" />
> +                <xs:element ref="condition-list" />
> +                <xs:element ref="condition-object" />
> +            </xs:choice>
> +            <xs:attribute name="combine" default="and">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="and" />
> +                        <xs:enumeration value="or" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="condition-expr">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="field-name" use="required" />
> +            <xs:attribute name="operator" default="equals">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="less" />
> +                        <xs:enumeration value="greater" />
> +                        <xs:enumeration value="less-equals" />
> +                        <xs:enumeration value="greater-equals" />
> +                        <xs:enumeration value="equals" />
> +                        <xs:enumeration value="not-equals" />
> +                        <xs:enumeration value="in" />
> +                        <xs:enumeration value="not-in" />
> +                        <xs:enumeration value="between" />
> +                        <xs:enumeration value="like" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +            <xs:attribute type="xs:string" name="from-field" />
> +            <xs:attribute type="xs:string" name="value" />
> +            <xs:attribute name="ignore-if-null" default="false">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="true" />
> +                        <xs:enumeration value="false" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +            <xs:attribute name="ignore-if-empty" default="false">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="true" />
> +                        <xs:enumeration value="false" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +            <xs:attribute name="ignore-case" default="false">
> +                <xs:simpleType>
> +                    <xs:restriction base="xs:token">
> +                        <xs:enumeration value="true" />
> +                        <xs:enumeration value="false" />
> +                    </xs:restriction>
> +                </xs:simpleType>
> +            </xs:attribute>
> +            <xs:attribute name="ignore" default="false">
> +                <xs:annotation>
> +                    <xs:documentation>
> +                        Ignore the condition if flag is true.
> +                        Defaults to false.
> +                    </xs:documentation>
> +                </xs:annotation>
> +            </xs:attribute>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="condition-object">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="field" use="required" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="select-field">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="field-name" use="required" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="order-by">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="field-name" use="required" />
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="limit-range">
> +        <xs:complexType>
> +            <xs:attribute name="start" type="xs:string" use="required">
> +                <xs:annotation>
> +                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
> +                </xs:annotation>
> +            </xs:attribute>
> +            <xs:attribute name="size" type="xs:string" use="required">
> +                <xs:annotation>
> +                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
> +                </xs:annotation>
> +            </xs:attribute>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="limit-view">
> +        <xs:complexType>
> +            <xs:attribute name="view-index" type="xs:string" use="required">
> +                <xs:annotation>
> +                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
> +                </xs:annotation>
> +            </xs:attribute>
> +            <xs:attribute name="view-size" type="xs:string" use="required">
> +                <xs:annotation>
> +                    <xs:documentation>Should resolve into a positive integer.</xs:documentation>
> +                </xs:annotation>
> +            </xs:attribute>
> +        </xs:complexType>
> +    </xs:element>
> +    <xs:element name="use-iterator" />
> +    <xs:element name="field-map">
> +        <xs:complexType>
> +            <xs:attribute type="xs:string" name="field-name" use="required" />
> +            <xs:attribute type="xs:string" name="from-field" />
> +            <xs:attribute type="xs:string" name="value" />
> +        </xs:complexType>
> +    </xs:element>
> +</xs:schema>
>
> Modified: ofbiz/site/dtds/widget-form.xsd
> URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-form.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
> ==============================================================================
> --- ofbiz/site/dtds/widget-form.xsd (original)
> +++ ofbiz/site/dtds/widget-form.xsd Mon Jan  5 21:51:13 2015
> @@ -18,6 +18,7 @@ specific language governing permissions
>   under the License.
>   -->
>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
> +    <xs:include schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
>   
>     <!-- ================== FORMS ==================== -->
>       <xs:element name="forms">
> @@ -1798,7 +1799,6 @@ under the License.
>       </xs:element>
>   
>     <!-- ================== ACTIONS ==================== -->
> -    <xs:element name="AllActions" abstract="true"/>
>       <xs:element name="actions">
>           <xs:complexType>
>               <xs:sequence>
> @@ -1813,42 +1813,6 @@ under the License.
>               </xs:sequence>
>           </xs:complexType>
>       </xs:element>
> -    <xs:element name="property-map" substitutionGroup="AllActions">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="resource" use="required" />
> -            <xs:attribute type="xs:string" name="map-name" use="required" />
> -            <xs:attribute name="global" default="false">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="true" />
> -                        <xs:enumeration value="false" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="property-to-field" substitutionGroup="AllActions">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="resource" use="required" />
> -            <xs:attribute type="xs:string" name="property" use="required" />
> -            <xs:attribute type="xs:string" name="field" use="required" />
> -            <xs:attribute type="xs:string" name="default" />
> -            <xs:attribute name="no-locale" default="false">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="true" />
> -                        <xs:enumeration value="false" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -            <xs:attribute type="xs:string" name="arg-list-name" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="script" substitutionGroup="AllActions">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="location" use="required" />
> -        </xs:complexType>
> -    </xs:element>
>       <xs:element name="service" substitutionGroup="AllActions">
>           <xs:complexType>
>               <xs:sequence>
> @@ -1873,44 +1837,7 @@ under the License.
>               </xs:attribute>
>           </xs:complexType>
>       </xs:element>
> -    <xs:element name="set" substitutionGroup="AllActions">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="field" use="required" />
> -            <xs:attribute type="xs:string" name="from-field" />
> -            <xs:attribute type="xs:string" name="value" />
> -            <xs:attribute type="xs:string" name="default-value" />
> -            <xs:attribute name="global" default="false">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="true" />
> -                        <xs:enumeration value="false" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -            <xs:attribute name="type" default="String">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="PlainString" />
> -                        <xs:enumeration value="String" />
> -                        <xs:enumeration value="BigDecimal" />
> -                        <xs:enumeration value="Double" />
> -                        <xs:enumeration value="Float" />
> -                        <xs:enumeration value="List" />
> -                        <xs:enumeration value="Long" />
> -                        <xs:enumeration value="Integer" />
> -                        <xs:enumeration value="Date" />
> -                        <xs:enumeration value="Time" />
> -                        <xs:enumeration value="Timestamp" />
> -                        <xs:enumeration value="Boolean" />
> -                        <xs:enumeration value="Object" />
> -                        <xs:enumeration value="NewList" />
> -                        <xs:enumeration value="NewMap" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -        </xs:complexType>
> -    </xs:element>
> -
> +    <xs:element name="call-parent-actions" substitutionGroup="AllActions" />
>       <xs:element name="entity-and" substitutionGroup="AllActions">
>           <xs:complexType>
>               <xs:sequence>
> @@ -1923,8 +1850,7 @@ under the License.
>                       <xs:element ref="use-iterator" />
>                   </xs:choice>
>               </xs:sequence>
> -            <xs:attribute name="entity-name" type="xs:string" use="required" />
> -            <xs:attribute name="list" type="xs:string" use="optional" />
> +            <xs:attribute type="xs:string" name="entity-name" use="required" />
>               <xs:attribute name="use-cache" default="false">
>                   <xs:simpleType>
>                       <xs:restriction base="xs:token">
> @@ -1942,6 +1868,7 @@ under the License.
>                       </xs:restriction>
>                   </xs:simpleType>
>               </xs:attribute>
> +            <xs:attribute type="xs:string" name="list" />
>               <xs:attribute name="result-set-type" default="scroll">
>                   <xs:simpleType>
>                       <xs:restriction base="xs:token">
> @@ -1969,8 +1896,7 @@ under the License.
>                       <xs:element ref="use-iterator" />
>                   </xs:choice>
>               </xs:sequence>
> -            <xs:attribute name="entity-name" type="xs:string" use="required" />
> -            <xs:attribute name="list" type="xs:string" use="optional" />
> +            <xs:attribute type="xs:string" name="entity-name" use="required" />
>               <xs:attribute name="use-cache" default="false">
>                   <xs:simpleType>
>                       <xs:restriction base="xs:token">
> @@ -1996,7 +1922,8 @@ under the License.
>                       </xs:restriction>
>                   </xs:simpleType>
>               </xs:attribute>
> -            <xs:attribute name="delegator-name" />
> +            <xs:attribute type="xs:string" name="delegator-name" />
> +            <xs:attribute type="xs:string" name="list" />
>               <xs:attribute name="result-set-type" default="scroll">
>                   <xs:simpleType>
>                       <xs:restriction base="xs:token">
> @@ -2007,172 +1934,4 @@ under the License.
>               </xs:attribute>
>           </xs:complexType>
>       </xs:element>
> -    <xs:element name="entity-one" substitutionGroup="AllActions">
> -        <xs:complexType>
> -            <xs:sequence>
> -                <xs:element minOccurs="0" maxOccurs="unbounded" ref="field-map" />
> -                <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" />
> -            </xs:sequence>
> -            <xs:attribute type="xs:string" name="entity-name" use="required" />
> -            <xs:attribute type="xs:string" name="value-field" />
> -            <xs:attribute name="use-cache" default="false">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="true" />
> -                        <xs:enumeration value="false" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -            <xs:attribute name="auto-field-map" default="true">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="true" />
> -                        <xs:enumeration value="false" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -        </xs:complexType>
> -    </xs:element>
> -
> -    <xs:element name="condition-expr">
> -        <xs:complexType>
> -            <xs:attribute name="field-name" type="xs:string" use="required" />
> -            <xs:attribute name="operator" default="equals">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="less" />
> -                        <xs:enumeration value="greater" />
> -                        <xs:enumeration value="less-equals" />
> -                        <xs:enumeration value="greater-equals" />
> -                        <xs:enumeration value="equals" />
> -                        <xs:enumeration value="not-equals" />
> -                        <xs:enumeration value="in" />
> -                        <xs:enumeration value="between" />
> -                        <xs:enumeration value="like" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -            <xs:attribute name="from-field" type="xs:string" />
> -            <xs:attribute name="value" type="xs:string" />
> -            <xs:attribute name="ignore-if-null" default="false">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="true" />
> -                        <xs:enumeration value="false" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -            <xs:attribute name="ignore-if-empty" default="false">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="true" />
> -                        <xs:enumeration value="false" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -            <xs:attribute name="ignore-case" default="false">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="true" />
> -                        <xs:enumeration value="false" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -            <xs:attribute name="ignore" default="false">
> -                <xs:annotation>
> -                    <xs:documentation>
> -                        Ignore the condition if flag is true.
> -                        Defaults to false.
> -                </xs:documentation>
> -                </xs:annotation>
> -            </xs:attribute>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="condition-list">
> -        <xs:complexType>
> -            <xs:choice maxOccurs="unbounded">
> -                <xs:element ref="condition-expr" />
> -                <xs:element ref="condition-list" />
> -                <xs:element ref="condition-object" />
> -            </xs:choice>
> -            <xs:attribute name="combine" default="and">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="and" />
> -                        <xs:enumeration value="or" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="condition-object">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="field" use="required" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="field-map">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="field-name" use="required" />
> -            <xs:attribute type="xs:string" name="from-field" />
> -            <xs:attribute type="xs:string" name="value" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="having-condition-list">
> -        <xs:complexType>
> -            <xs:choice maxOccurs="unbounded">
> -                <xs:element ref="condition-expr" />
> -                <xs:element ref="condition-list" />
> -                <xs:element ref="condition-object" />
> -            </xs:choice>
> -            <xs:attribute name="combine" default="and">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="and" />
> -                        <xs:enumeration value="or" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="limit-range">
> -        <xs:complexType>
> -            <xs:attribute name="start" type="xs:string" use="required">
> -                <xs:annotation>
> -                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
> -                </xs:annotation>
> -            </xs:attribute>
> -            <xs:attribute name="size" type="xs:string" use="required">
> -                <xs:annotation>
> -                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
> -                </xs:annotation>
> -            </xs:attribute>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="limit-view">
> -        <xs:complexType>
> -            <xs:attribute name="view-index" type="xs:string" use="required">
> -                <xs:annotation>
> -                    <xs:documentation>Should resolve into a non-negative integer.</xs:documentation>
> -                </xs:annotation>
> -            </xs:attribute>
> -            <xs:attribute name="view-size" type="xs:string" use="required">
> -                <xs:annotation>
> -                    <xs:documentation>Should resolve into a positive integer.</xs:documentation>
> -                </xs:annotation>
> -            </xs:attribute>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="use-iterator" />
> -    <xs:element name="order-by">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="field-name" use="required" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="select-field">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="field-name" use="required" />
> -        </xs:complexType>
> -    </xs:element>
> -
> -    <xs:element name="call-parent-actions" substitutionGroup="AllActions" />
>   </xs:schema>
>
> Modified: ofbiz/site/dtds/widget-menu.xsd
> URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-menu.xsd?rev=1649676&r1=1649675&r2=1649676&view=diff
> ==============================================================================
> --- ofbiz/site/dtds/widget-menu.xsd (original)
> +++ ofbiz/site/dtds/widget-menu.xsd Mon Jan  5 21:51:13 2015
> @@ -18,6 +18,7 @@ specific language governing permissions
>   under the License.
>   -->
>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
> +    <xs:include schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" />
>       <xs:element name="menus">
>           <xs:complexType>
>               <xs:sequence>
> @@ -96,7 +97,32 @@ under the License.
>       <xs:element name="menu-item">
>           <xs:complexType>
>               <xs:sequence>
> -                <xs:element minOccurs="0" ref="condition" />
> +                <xs:element name="condition" minOccurs="0">
> +                    <xs:complexType>
> +                        <xs:complexContent>
> +                            <xs:extension base="ConditionRootType">
> +                                <xs:attribute type="xs:string" name="pass-style">
> +                                    <xs:annotation>
> +                                        <xs:documentation>
> +                                            If a pass-style provided and the condition passes, the widget-style of
> +                                            the parent menu-item is set with the pass-style. If no pass-style is given,
> +                                            the widget-style is not changed.
> +                                        </xs:documentation>
> +                                    </xs:annotation>
> +                                </xs:attribute>
> +                                <xs:attribute type="xs:string" name="disabled-style">
> +                                    <xs:annotation>
> +                                        <xs:documentation>
> +                                            If a disabled-style provided and the condition fails, the disabled-style of
> +                                            the parent menu-item is set with the disabled-style and processing is allowed to continue.
> +                                            If no disabled-style is given, the widget-style is not changed and the menu-item is not rendered.
> +                                        </xs:documentation>
> +                                    </xs:annotation>
> +                                </xs:attribute>
> +                            </xs:extension>
> +                        </xs:complexContent>
> +                    </xs:complexType>
> +                </xs:element>
>                   <xs:element minOccurs="0" ref="actions" />
>                   <xs:element minOccurs="0" ref="link" />
>                   <xs:element minOccurs="0" maxOccurs="unbounded" ref="menu-item" />
> @@ -294,8 +320,6 @@ under the License.
>           </xs:complexType>
>       </xs:element>
>   
> -    <!-- ================ ACTIONS ================ -->
> -    <xs:element name="AllActions" abstract="true"/>
>       <xs:element name="actions">
>           <xs:complexType>
>               <xs:sequence>
> @@ -303,27 +327,20 @@ under the License.
>               </xs:sequence>
>           </xs:complexType>
>       </xs:element>
> -    <xs:element name="property-map" substitutionGroup="AllActions">
> +    <xs:element name="entity-and" substitutionGroup="AllActions">
>           <xs:complexType>
> -            <xs:attribute type="xs:string" name="resource" use="required" />
> -            <xs:attribute type="xs:string" name="map-name" use="required" />
> -            <xs:attribute name="global" default="false">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="true" />
> -                        <xs:enumeration value="false" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="property-to-field" substitutionGroup="AllActions">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="resource" use="required" />
> -            <xs:attribute type="xs:string" name="property" use="required" />
> -            <xs:attribute type="xs:string" name="field" use="required" />
> -            <xs:attribute type="xs:string" name="default" />
> -            <xs:attribute name="no-locale" default="false">
> +            <xs:sequence>
> +                <xs:element maxOccurs="unbounded" ref="field-map" />
> +                <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" />
> +                <xs:element minOccurs="0" maxOccurs="unbounded" ref="order-by" />
> +                <xs:choice minOccurs="0">
> +                    <xs:element ref="limit-range" />
> +                    <xs:element ref="limit-view" />
> +                    <xs:element ref="use-iterator" />
> +                </xs:choice>
> +            </xs:sequence>
> +            <xs:attribute type="xs:string" name="entity-name" use="required" />
> +            <xs:attribute name="use-cache" default="false">
>                   <xs:simpleType>
>                       <xs:restriction base="xs:token">
>                           <xs:enumeration value="true" />
> @@ -331,166 +348,45 @@ under the License.
>                       </xs:restriction>
>                   </xs:simpleType>
>               </xs:attribute>
> -            <xs:attribute type="xs:string" name="arg-list-name" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="script" substitutionGroup="AllActions">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="location" use="required" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="set" substitutionGroup="AllActions">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="field" use="required" />
> -            <xs:attribute type="xs:string" name="from-field" />
> -            <xs:attribute type="xs:string" name="value" />
> -            <xs:attribute type="xs:string" name="default-value" />
> -            <xs:attribute name="global" default="false">
> +            <xs:attribute name="filter-by-date" default="false">
>                   <xs:simpleType>
>                       <xs:restriction base="xs:token">
>                           <xs:enumeration value="true" />
>                           <xs:enumeration value="false" />
> +                        <xs:enumeration value="by-name" />
>                       </xs:restriction>
>                   </xs:simpleType>
>               </xs:attribute>
> -            <xs:attribute name="type" default="String">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="PlainString" />
> -                        <xs:enumeration value="String" />
> -                        <xs:enumeration value="BigDecimal" />
> -                        <xs:enumeration value="Double" />
> -                        <xs:enumeration value="Float" />
> -                        <xs:enumeration value="List" />
> -                        <xs:enumeration value="Long" />
> -                        <xs:enumeration value="Integer" />
> -                        <xs:enumeration value="Date" />
> -                        <xs:enumeration value="Time" />
> -                        <xs:enumeration value="Timestamp" />
> -                        <xs:enumeration value="Boolean" />
> -                        <xs:enumeration value="Object" />
> -                        <xs:enumeration value="NewList" />
> -                        <xs:enumeration value="NewMap" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -            <xs:attribute name="to-scope" default="screen">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="screen" />
> -                        <xs:enumeration value="user" />
> -                        <xs:enumeration value="application" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -            <xs:attribute name="from-scope" default="screen">
> +            <xs:attribute type="xs:string" name="list" use="required" />
> +            <xs:attribute name="result-set-type" default="scroll">
>                   <xs:simpleType>
>                       <xs:restriction base="xs:token">
> -                        <xs:enumeration value="screen" />
> -                        <xs:enumeration value="user" />
> -                        <xs:enumeration value="application" />
> +                        <xs:enumeration value="forward" />
> +                        <xs:enumeration value="scroll" />
>                       </xs:restriction>
>                   </xs:simpleType>
>               </xs:attribute>
>           </xs:complexType>
>       </xs:element>
> -
> -    <!-- ================ CONDITIONS ================ -->
> -    <xs:element name="AllConditionals" abstract="true"/>
> -    <xs:element name="condition">
> -        <xs:complexType>
> -            <xs:sequence>
> -                <xs:element minOccurs="1" maxOccurs="1" ref="AllConditionals" />
> -            </xs:sequence>
> -            <xs:attribute type="xs:string" name="pass-style">
> -                <xs:annotation>
> -                    <xs:documentation>
> -                        If a pass-style provided and the condition passes, the widget-style of
> -                        the parent menu-item is set with the pass-style. If no pass-style is given,
> -                        the widget-style is not changed.
> -                </xs:documentation>
> -                </xs:annotation>
> -            </xs:attribute>
> -            <xs:attribute type="xs:string" name="disabled-style">
> -                <xs:annotation>
> -                    <xs:documentation>
> -                        If a disabled-style provided and the condition fails, the disabled-style of
> -                        the parent menu-item is set with the disabled-style and processing is allowed to continue.
> -                        If no disabled-style is given, the widget-style is not changed and the menu-item is not rendered.
> -                </xs:documentation>
> -                </xs:annotation>
> -            </xs:attribute>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="and" substitutionGroup="AllConditionals">
> -        <xs:complexType>
> -            <xs:sequence>
> -                <xs:element maxOccurs="unbounded" ref="AllConditionals"/>
> -            </xs:sequence>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="xor" substitutionGroup="AllConditionals">
> -        <xs:complexType>
> -            <xs:sequence>
> -                <xs:element maxOccurs="unbounded" ref="AllConditionals"/>
> -            </xs:sequence>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="or" substitutionGroup="AllConditionals">
> +    <xs:element name="entity-condition" substitutionGroup="AllActions">
>           <xs:complexType>
>               <xs:sequence>
> -                <xs:element maxOccurs="unbounded" ref="AllConditionals"/>
> +                <xs:choice minOccurs="0">
> +                    <xs:element ref="condition-expr" />
> +                    <xs:element ref="condition-list" />
> +                    <xs:element ref="condition-object" />
> +                </xs:choice>
> +                <xs:element minOccurs="0" ref="having-condition-list" />
> +                <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" />
> +                <xs:element minOccurs="0" maxOccurs="unbounded" ref="order-by" />
> +                <xs:choice minOccurs="0">
> +                    <xs:element ref="limit-range" />
> +                    <xs:element ref="limit-view" />
> +                    <xs:element ref="use-iterator" />
> +                </xs:choice>
>               </xs:sequence>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="not" substitutionGroup="AllConditionals">
> -        <xs:complexType>
> -            <xs:sequence>
> -                <xs:element ref="AllConditionals"/>
> -            </xs:sequence>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="if-service-permission" substitutionGroup="AllConditionals">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="service-name" use="required" />
> -            <xs:attribute type="xs:string" name="resource-description" use="optional" />
> -            <xs:attribute name="main-action" use="optional">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="CREATE" />
> -                        <xs:enumeration value="UPDATE" />
> -                        <xs:enumeration value="DELETE" />
> -                        <xs:enumeration value="VIEW" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="if-has-permission" substitutionGroup="AllConditionals">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="permission" use="required" />
> -            <xs:attribute type="xs:string" name="action" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="if-entity-permission" substitutionGroup="AllConditionals">
> -        <xs:complexType>
> -            <xs:choice minOccurs="0">
> -                <xs:element minOccurs="0" maxOccurs="1" ref="permission-condition-getter" />
> -                <xs:element minOccurs="0" maxOccurs="1" ref="related-role-getter" />
> -                <xs:element minOccurs="0" maxOccurs="1" ref="auxiliary-value-getter" />
> -            </xs:choice>
>               <xs:attribute type="xs:string" name="entity-name" use="required" />
> -            <xs:attribute type="xs:string" name="entity-id" use="required">
> -                <xs:annotation>
> -                    <xs:documentation>Can have multiple pipe separated values, but don't use spaces.</xs:documentation>
> -                </xs:annotation>
> -            </xs:attribute>
> -            <xs:attribute type="xs:string" name="target-operation" use="required">
> -                <xs:annotation>
> -                    <xs:documentation>Can have multiple pipe separated values, but don't use spaces.</xs:documentation>
> -                </xs:annotation>
> -            </xs:attribute>
> -            <xs:attribute name="display-fail-cond" default="false">
> +            <xs:attribute name="use-cache" default="false">
>                   <xs:simpleType>
>                       <xs:restriction base="xs:token">
>                           <xs:enumeration value="true" />
> @@ -498,130 +394,33 @@ under the License.
>                       </xs:restriction>
>                   </xs:simpleType>
>               </xs:attribute>
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="permission-condition-getter">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="entity-name" />
> -            <xs:attribute type="xs:string" name="operation-field-name" />
> -            <xs:attribute type="xs:string" name="role-field-name" />
> -            <xs:attribute type="xs:string" name="auxiliary-field-name" />
> -            <xs:attribute type="xs:string" name="status-field-name" />
> -            <xs:attribute type="xs:string" name="privilege-field-name" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="related-role-getter">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="entity-name" />
> -            <xs:attribute type="xs:string" name="role-entity-name" />
> -            <xs:attribute type="xs:string" name="role-type-field-name" />
> -            <xs:attribute type="xs:string" name="party-field-name" />
> -            <xs:attribute type="xs:string" name="owner-entity-field-name" />
> -            <xs:attribute type="xs:string" name="entity-id-name" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="auxiliary-value-getter">
> -        <xs:complexType>
> -            <xs:attribute type="xs:string" name="entity-name" />
> -            <xs:attribute type="xs:string" name="auxiliary-field-name" />
> -            <xs:attribute type="xs:string" name="entity-id-name" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="if-validate-method" substitutionGroup="AllConditionals">
> -        <xs:annotation>
> -            <xs:documentation>Calls a static Java method that takes a String and returns a boolean.</xs:documentation>
> -        </xs:annotation>
> -        <xs:complexType>
> -            <xs:attribute name="field" use="required" />
> -            <xs:attribute name="method" use="required" />
> -            <xs:attribute name="class" default="org.ofbiz.base.util.UtilValidate" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="if-compare" substitutionGroup="AllConditionals">
> -        <xs:complexType>
> -            <xs:attribute name="field" use="required" />
> -            <xs:attribute name="operator" use="required">
> -                <xs:simpleType>
> -                    <xs:restriction base="xs:token">
> -                        <xs:enumeration value="less" />
> -                        <xs:enumeration value="greater" />
> -                        <xs:enumeration value="less-equals" />
> -                        <xs:enumeration value="greater-equals" />
> -                        <xs:enumeration value="equals" />
> -                        <xs:enumeration value="not-equals" />
> -                        <xs:enumeration value="contains" />
> -                    </xs:restriction>
> -                </xs:simpleType>
> -            </xs:attribute>
> -            <xs:attribute name="value" use="required" />
> -            <xs:attribute name="type" default="String">
> +            <xs:attribute name="filter-by-date" default="false">
>                   <xs:simpleType>
>                       <xs:restriction base="xs:token">
> -                        <xs:enumeration value="PlainString" />
> -                        <xs:enumeration value="String" />
> -                        <xs:enumeration value="BigDecimal" />
> -                        <xs:enumeration value="Double" />
> -                        <xs:enumeration value="Float" />
> -                        <xs:enumeration value="Long" />
> -                        <xs:enumeration value="Integer" />
> -                        <xs:enumeration value="Date" />
> -                        <xs:enumeration value="Time" />
> -                        <xs:enumeration value="Timestamp" />
> -                        <xs:enumeration value="Boolean" />
> -                        <xs:enumeration value="Object" />
> +                        <xs:enumeration value="true" />
> +                        <xs:enumeration value="false" />
> +                        <xs:enumeration value="by-name" />
>                       </xs:restriction>
>                   </xs:simpleType>
>               </xs:attribute>
> -            <xs:attribute name="format" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="if-compare-field" substitutionGroup="AllConditionals">
> -        <xs:complexType>
> -            <xs:attribute name="field" use="required" />
> -            <xs:attribute name="operator" use="required">
> +            <xs:attribute name="distinct" default="false">
>                   <xs:simpleType>
>                       <xs:restriction base="xs:token">
> -                        <xs:enumeration value="less" />
> -                        <xs:enumeration value="greater" />
> -                        <xs:enumeration value="less-equals" />
> -                        <xs:enumeration value="greater-equals" />
> -                        <xs:enumeration value="equals" />
> -                        <xs:enumeration value="not-equals" />
> -                        <xs:enumeration value="contains" />
> +                        <xs:enumeration value="true" />
> +                        <xs:enumeration value="false" />
>                       </xs:restriction>
>                   </xs:simpleType>
>               </xs:attribute>
> -            <xs:attribute name="to-field" />
> -            <xs:attribute name="type" default="String">
> +            <xs:attribute type="xs:string" name="delegator-name" />
> +            <xs:attribute type="xs:string" name="list" use="required" />
> +            <xs:attribute name="result-set-type" default="scroll">
>                   <xs:simpleType>
>                       <xs:restriction base="xs:token">
> -                        <xs:enumeration value="PlainString" />
> -                        <xs:enumeration value="String" />
> -                        <xs:enumeration value="BigDecimal" />
> -                        <xs:enumeration value="Double" />
> -                        <xs:enumeration value="Float" />
> -                        <xs:enumeration value="Long" />
> -                        <xs:enumeration value="Integer" />
> -                        <xs:enumeration value="Date" />
> -                        <xs:enumeration value="Time" />
> -                        <xs:enumeration value="Timestamp" />
> -                        <xs:enumeration value="Boolean" />
> -                        <xs:enumeration value="Object" />
> +                        <xs:enumeration value="forward" />
> +                        <xs:enumeration value="scroll" />
>                       </xs:restriction>
>                   </xs:simpleType>
>               </xs:attribute>
> -            <xs:attribute name="format" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="if-regexp" substitutionGroup="AllConditionals">
> -        <xs:complexType>
> -            <xs:attribute name="field" use="required" />
> -            <xs:attribute name="expr" use="required" />
> -        </xs:complexType>
> -    </xs:element>
> -    <xs:element name="if-empty" substitutionGroup="AllConditionals">
> -        <xs:complexType>
> -            <xs:attribute name="field" use="required" />
>           </xs:complexType>
>       </xs:element>
>   </xs:schema>
>
>
>