Propchange: ofbiz/trunk/framework/widget/dtd/widget-form-ns.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/framework/widget/dtd/widget-form-ns.xsd
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/framework/widget/dtd/widget-form-ns.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xsd

Added: ofbiz/trunk/framework/widget/dtd/widget-menu-ns.xsd
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-menu-ns.xsd?rev=1746302&view=auto
==============================================================================
--- ofbiz/trunk/framework/widget/dtd/widget-menu-ns.xsd (added)
+++ ofbiz/trunk/framework/widget/dtd/widget-menu-ns.xsd Tue May 31 16:48:09 2016
@@ -0,0 +1,266 @@
+<?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" xmlns="http://ofbiz.apache.org/Widget-Menu"; 
targetNamespace="http://ofbiz.apache.org/Widget-Menu";>
+    <xs:include 
schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd"; />
+    <xs:element name="menus">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="menu"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="menu">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" ref="actions" />
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="menu-item" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="name" use="required" />
+            <xs:attribute name="type" default="simple">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="simple" />
+                        <xs:enumeration value="cascade" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="id" />
+            <xs:attribute type="xs:string" name="title" />
+            <xs:attribute type="xs:string" name="tooltip" />
+            <xs:attribute type="xs:string" name="default-entity-name" />
+            <xs:attribute type="xs:string" name="default-title-style" />
+            <xs:attribute type="xs:string" name="default-widget-style" />
+            <xs:attribute type="xs:string" name="default-tooltip-style" />
+            <xs:attribute type="xs:string" name="default-selected-style" />
+            <xs:attribute type="xs:string" name="default-align-style" />
+            <xs:attribute type="xs:string" name="extra-index" />
+            <xs:attribute name="orientation" default="horizontal">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="vertical" />
+                        <xs:enumeration value="horizontal" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="extends" />
+            <xs:attribute type="xs:string" name="extends-resource" />
+            <xs:attribute type="xs:string" name="default-menu-item-name" />
+            <xs:attribute type="xs:string" 
name="default-associated-content-id" />
+            <xs:attribute name="default-hide-if-selected" 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="menu-width" />
+            <xs:attribute type="xs:string" name="default-cell-width" />
+            <xs:attribute type="xs:string" name="default-disabled-title-style" 
/>
+            <xs:attribute type="xs:string" 
name="selected-menuitem-context-field-name" />
+            <xs:attribute type="xs:string" name="menu-container-style">
+                <xs:annotation>
+                    <xs:documentation>The style of the container that encloses 
the menu items. This
+                    attribute is ignored when the id attribute is not 
empty.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="default-align" default="left">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="left" />
+                        <xs:enumeration value="right" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="fill-style" />
+            <xs:attribute type="xs:string" name="default-permission-operation" 
/>
+            <xs:attribute type="xs:string" 
name="default-permission-entity-action" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="menu-item">
+        <xs:complexType>
+            <xs:sequence>
+                <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" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="name" use="required" />
+            <xs:attribute type="xs:string" name="title" />
+            <xs:attribute type="xs:string" name="parent-portal-page-value">
+                <xs:annotation>
+                    <xs:documentation>an expanded value of the 
parentPortalPageId in the Portal entity, will insert buttons using the portalId 
as the menuitem name portalPageName as the buttom title</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="tooltip" />
+            <xs:attribute type="xs:string" name="title-style" />
+            <xs:attribute type="xs:string" name="widget-style" />
+            <xs:attribute type="xs:string" name="align-style" />
+            <xs:attribute type="xs:string" name="tooltip-style" />
+            <xs:attribute type="xs:string" name="selected-style" />
+            <xs:attribute type="xs:string" name="position" default="1" />
+            <xs:attribute type="xs:string" name="associated-content-id" />
+            <xs:attribute type="xs:string" name="hide-if-selected" />
+            <xs:attribute type="xs:string" name="cell-width" />
+            <xs:attribute type="xs:string" name="disable-if-empty" />
+            <xs:attribute type="xs:string" name="disabled-title-style" />
+            <xs:attribute type="xs:string" name="target-window" />
+            <xs:attribute type="xs:string" name="sub-menu" />
+            <xs:attribute name="align">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="left" />
+                        <xs:enumeration value="right" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="link" type="link"/>
+
+    <xs:element name="actions">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="AllActions"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="entity-and" substitutionGroup="AllActions">
+        <xs:complexType>
+            <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" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <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 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="forward" />
+                        <xs:enumeration value="scroll" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="entity-condition" substitutionGroup="AllActions">
+        <xs:complexType>
+            <xs:sequence>
+                <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: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" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <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="distinct" 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="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="forward" />
+                        <xs:enumeration value="scroll" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+</xs:schema>

Propchange: ofbiz/trunk/framework/widget/dtd/widget-menu-ns.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/framework/widget/dtd/widget-menu-ns.xsd
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/framework/widget/dtd/widget-menu-ns.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xsd

Added: ofbiz/trunk/framework/widget/dtd/widget-screen-ns.xsd
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-screen-ns.xsd?rev=1746302&view=auto
==============================================================================
--- ofbiz/trunk/framework/widget/dtd/widget-screen-ns.xsd (added)
+++ ofbiz/trunk/framework/widget/dtd/widget-screen-ns.xsd Tue May 31 16:48:09 
2016
@@ -0,0 +1,659 @@
+<?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" xmlns="http://ofbiz.apache.org/Widget-Screen"; 
targetNamespace="http://ofbiz.apache.org/Widget-Screen";>
+    <xs:include 
schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd"; />
+    <xs:element name="screens">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="screen" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="screen">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="section" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="name" use="required" />
+            <xs:attribute type="xs:string" name="transaction-timeout" 
use="optional">
+                <xs:annotation>
+                    <xs:documentation>Transaction timeout in 
seconds</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="use-transaction" default="true">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <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:complexType>
+    </xs:element>
+    <xs:element name="section" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="condition" type="ScreenConditionRootType" 
minOccurs="0" />
+                <xs:element minOccurs="0" ref="actions" />
+                <xs:element minOccurs="0" ref="widgets" />
+                <xs:element minOccurs="0" ref="fail-widgets" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="name" />
+        </xs:complexType>
+    </xs:element>
+
+    <!-- ================ CONDITIONS ================ -->
+
+    <xs:complexType name="ScreenConditionRootType">
+        <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:element ref="if-empty-section" />
+        </xs:choice>
+    </xs:complexType>
+
+    <xs:element name="if-empty-section" substitutionGroup="AllConditionals">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="section-name" use="required" 
/>
+        </xs:complexType>
+    </xs:element>
+
+    <!-- ================ ACTIONS ================ -->
+
+    <xs:element name="actions">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="AllActions" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="service" substitutionGroup="AllActions">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="field-map" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="service-name" use="required" 
/>
+            <xs:attribute type="xs:string" name="result-map" />
+            <xs:attribute type="xs:string" name="auto-field-map" 
default="true">
+                <xs:annotation>
+                    <xs:documentation>This can be "true", "false" or the name 
of a Map in the context to use as the source Map for the service 
context.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="entity-and" substitutionGroup="AllActions">
+        <xs:complexType>
+            <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" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <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 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="forward" />
+                        <xs:enumeration value="scroll" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="entity-condition" substitutionGroup="AllActions">
+        <xs:complexType>
+            <xs:sequence>
+                <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: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" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <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="distinct" 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="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="forward" />
+                        <xs:enumeration value="scroll" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+
+    <!-- ================ WIDGETS ================ -->
+
+    <xs:element name="AllWidgets" abstract="true" />
+    <xs:element name="widgets">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="AllWidgets" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="fail-widgets">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="AllWidgets" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+
+    <xs:element name="column-container" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="1" maxOccurs="unbounded" name="column">
+                    <xs:complexType>
+                        <xs:sequence>
+                            <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="AllWidgets" />
+                        </xs:sequence>
+                        <xs:attribute type="xs:string" name="id" />
+                        <xs:attribute type="xs:string" name="style" />
+                    </xs:complexType>
+                </xs:element>
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="id" />
+            <xs:attribute type="xs:string" name="style" />
+        </xs:complexType>
+    </xs:element>
+
+    <xs:element name="container" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="AllWidgets" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="id" />
+            <xs:attribute type="xs:string" name="style" />
+            <xs:attribute type="xs:string" name="auto-update-target">
+                <xs:annotation>
+                    <xs:documentation>The URL to be called for periodic 
asynchronous area updates.
+                        Some widget rendering environments support 
asynchronous updates.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="auto-update-interval">
+                <xs:annotation>
+                    <xs:documentation>The auto-update interval, in 
seconds.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="horizontal-separator" substitutionGroup="AllWidgets">
+        <xs:complexType mixed="true">
+            <xs:attribute type="xs:string" name="id" />
+            <xs:attribute type="xs:string" name="name" />
+            <xs:attribute type="xs:string" name="style" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="image" substitutionGroup="AllWidgets">
+        <xs:complexType mixed="true">
+            <xs:attribute type="xs:string" name="src" />
+            <xs:attribute type="xs:string" name="id" />
+            <xs:attribute type="xs:string" name="style" />
+            <xs:attribute type="xs:string" name="width" />
+            <xs:attribute type="xs:string" name="height" />
+            <xs:attribute type="xs:string" name="border" />
+            <xs:attribute type="xs:string" name="alt" />
+            <xs:attribute name="url-mode" default="content">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="ofbiz" />
+                        <xs:enumeration value="content" />
+                        <xs:enumeration value="raw" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="label" substitutionGroup="AllWidgets">
+        <xs:complexType mixed="true">
+            <xs:attribute type="xs:string" name="text" />
+            <xs:attribute type="xs:string" name="id" />
+            <xs:attribute type="xs:string" name="style" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="link" type="link" substitutionGroup="AllWidgets"/>
+
+    <xs:element name="screenlet" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="AllWidgets" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="title">
+                <xs:annotation>
+                    <xs:documentation>Title text to be placed in the screenlet 
title bar.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="id" type="xs:string" />
+            <xs:attribute name="name" type="xs:string" />
+            <xs:attribute name="collapsible" 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="initially-collapsed" type="xs:string" 
default="false">
+                <xs:annotation>
+                    <xs:documentation>When set to true, screenlet will be 
collapsed initially. Can be an expanded string to get the value from a 
variable. Defaults to false.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="save-collapsed" default="true">
+                <xs:annotation>
+                    <xs:documentation>When set to true, screenlet collapse 
status is saved as user preference. Defaults to true.</xs:documentation>
+                </xs:annotation>
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute name="padded" default="true">
+                <xs:annotation>
+                    <xs:documentation>When set to true, screenlet content will 
be padded. Defaults to true.</xs:documentation>
+                </xs:annotation>
+                <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="navigation-menu-name">
+                <xs:annotation>
+                    <xs:documentation>Name of the screenlet include-menu sub 
element that will be used for screenlet navigation.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="navigation-form-name">
+                <xs:annotation>
+                    <xs:documentation>Name of the screenlet include-form sub 
element that will be used for screenlet navigation. The form's pagination menu 
will be included in the screenlet title bar.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="tab-menu-name">
+                <xs:annotation>
+                    <xs:documentation>Name of the screenlet include-menu sub 
element that will be used for the screenlet tab bar.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+
+    <!-- ================ WIDGETS - Includers ================ -->
+
+    <xs:element name="content" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="content-id" />
+            <xs:attribute type="xs:string" name="dataresource-id" />
+            <xs:attribute type="xs:string" name="edit-request" />
+            <xs:attribute type="xs:string" name="edit-container-style" 
default="editWrapper" />
+            <xs:attribute type="xs:string" name="enable-edit-name" 
default="enableEdit" />
+            <xs:attribute name="xml-escape" 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="width">
+                <xs:annotation>
+                    <xs:documentation>Used if non-html content to specify 
width of iframe.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="height">
+                <xs:annotation>
+                    <xs:documentation>Used if non-html content to specify 
height of iframe.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="border">
+                <xs:annotation>
+                    <xs:documentation>Used if non-html content to specify 
border of iframe.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="decorator-screen" substitutionGroup="AllWidgets">
+        <xs:annotation>
+            <xs:documentation>
+                Renders the named screen and includes the children of this 
elements at the point where it finds the decorator-section-include tag.
+                Note that because of the recursive nature of this tag the 
share-scope attribute is not availalbe.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="decorator-section" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="name" use="required" />
+            <xs:attribute type="xs:string" name="location" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="decorator-section">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="AllWidgets" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="name" use="required" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="decorator-section-include" 
substitutionGroup="AllWidgets">
+        <xs:annotation>
+            <xs:documentation>This is just a place holder to tell the renderer 
to include the parent container's contents at this point.</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="name" use="required" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="include-form" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="name" use="required" />
+            <xs:attribute type="xs:string" name="location" use="required" />
+            <xs:attribute name="share-scope" 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="include-grid" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="name" use="required" />
+            <xs:attribute type="xs:string" name="location" use="required" />
+            <xs:attribute name="share-scope" 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="include-menu" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="name" use="required" />
+            <xs:attribute type="xs:string" name="location" use="required" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="include-screen" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="name" use="required" />
+            <xs:attribute type="xs:string" name="location" />
+            <xs:attribute name="share-scope" 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="include-tree" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="name" use="required" />
+            <xs:attribute type="xs:string" name="location" use="required" />
+            <xs:attribute name="share-scope" 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="include-portal-page" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="id" />
+            <xs:attribute name="conf-mode" default="false">
+                <xs:annotation>
+                    <xs:documentation>Show the portal in configuration 
mode.</xs:documentation>
+                </xs:annotation>
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="true" />
+                        <xs:enumeration value="false" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute name="use-private" default="true">
+                <xs:annotation>
+                    <xs:documentation>If a derived private PortalPage exists 
for the actual UserLogin than show the private PortalPage instead of the 
original.</xs:documentation>
+                </xs:annotation>
+                <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="sub-content" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="content-id" use="required" />
+            <xs:attribute type="xs:string" name="map-key" use="required" />
+            <xs:attribute type="xs:string" name="edit-request" />
+            <xs:attribute type="xs:string" name="edit-container-style" 
default="editWrapper" />
+            <xs:attribute type="xs:string" name="enable-edit-name" 
default="enableEdit" />
+            <xs:attribute name="xml-escape" 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="iterate-section" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="section" 
/>
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="entry" use="required" />
+            <xs:attribute type="xs:string" name="list" use="required" />
+            <xs:attribute type="xs:string" name="key" />
+            <xs:attribute type="xs:string" name="view-size" />
+            <xs:attribute type="xs:string" name="paginate-target" />
+            <xs:attribute type="xs:string" name="paginate" 
default="${paginate}">
+                <xs:annotation>
+                    <xs:documentation>Indicate if this section is paginated or 
not, true by default.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+
+
+    <!-- ============== Platform Specific Elements =============== -->
+    <xs:element name="platform-specific" substitutionGroup="AllWidgets">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" ref="html" />
+                <xs:element minOccurs="0" ref="swing" />
+                <xs:element minOccurs="0" ref="xsl-fo" />
+                <xs:element minOccurs="0" ref="xml" />
+                <xs:element minOccurs="0" ref="text" />
+                <xs:element minOccurs="0" ref="csv" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <!-- ============== HTML Specific Elements =============== -->
+    <xs:element name="HtmlWidgets" abstract="true" />
+    <xs:element name="html">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="HtmlWidgets" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="xsl-fo">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="HtmlWidgets" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="xml">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="HtmlWidgets" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="xls">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="HtmlWidgets" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="text">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="HtmlWidgets" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="csv">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="HtmlWidgets" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="html-template" substitutionGroup="HtmlWidgets">
+        <xs:complexType>
+            <xs:attributeGroup ref="attlist.html-template" />
+        </xs:complexType>
+    </xs:element>
+    <xs:attributeGroup name="attlist.html-template">
+        <xs:attribute type="xs:string" name="location" use="required" />
+    </xs:attributeGroup>
+    <xs:element name="html-template-decorator" substitutionGroup="HtmlWidgets">
+        <xs:annotation>
+            <xs:documentation>
+                We don't really want to encourage the use of the 
html-template-decorator, should be done on the screen level.
+                To include the sections in the decorator template just use the 
"render(sectionName)" method "sections" object, FTL example: 
${sections.render("main")}.
+                For more
+                efficient use the sections.render(sectionName, writer) method 
should be used, in FTL this would be in a transform or something.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" 
ref="html-template-decorator-section" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="location" use="required" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="html-template-decorator-section">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="AllWidgets" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="name" use="required" />
+        </xs:complexType>
+    </xs:element>
+    <!-- ============== Swing Specific Elements =============== -->
+    <xs:element name="swing">
+        <xs:complexType />
+    </xs:element>
+</xs:schema>

Propchange: ofbiz/trunk/framework/widget/dtd/widget-screen-ns.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/framework/widget/dtd/widget-screen-ns.xsd
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/framework/widget/dtd/widget-screen-ns.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xsd

Added: ofbiz/trunk/framework/widget/dtd/widget-tree-ns.xsd
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-tree-ns.xsd?rev=1746302&view=auto
==============================================================================
--- ofbiz/trunk/framework/widget/dtd/widget-tree-ns.xsd (added)
+++ ofbiz/trunk/framework/widget/dtd/widget-tree-ns.xsd Tue May 31 16:48:09 2016
@@ -0,0 +1,251 @@
+<?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" xmlns="http://ofbiz.apache.org/Widget-Tree"; 
targetNamespace="http://ofbiz.apache.org/Widget-Tree";>
+    <xs:include 
schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd"; />
+    <xs:element name="trees">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="tree"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="tree">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="node" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="name" use="required" />
+            <xs:attribute type="xs:string" name="root-node-name" 
use="required" />
+            <xs:attribute name="default-render-style" default="simple">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="simple" />
+                        <xs:enumeration value="follow-trail" />
+                        <xs:enumeration value="show-peers" />
+                        <xs:enumeration value="expand-collapse" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="default-wrap-style" />
+            <xs:attribute type="xs:string" name="expand-collapse-request" />
+            <xs:attribute type="xs:string" name="trail-name" />
+            <xs:attribute type="xs:string" name="open-depth" default="0" />
+            <xs:attribute type="xs:string" name="post-trail-open-depth" 
default="0" />
+            <xs:attribute type="xs:string" name="entity-name" />
+            <xs:attribute name="force-child-check" 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="node">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="condition" type="ConditionRootType" 
minOccurs="0" />
+                <xs:choice minOccurs="0">
+                    <xs:element ref="actions" />
+                    <xs:element ref="entity-one" />
+                    <xs:element ref="service" />
+                </xs:choice>
+                <xs:choice minOccurs="0">
+                    <xs:element ref="include-screen" />
+                    <xs:element ref="label" />
+                    <xs:element ref="link" />
+                </xs:choice>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="sub-node" 
/>
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="name" use="required" />
+            <xs:attribute type="xs:string" name="wrap-style" />
+            <xs:attribute name="render-style">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="simple" />
+                        <xs:enumeration value="follow-trail" />
+                        <xs:enumeration value="show-peers" />
+                        <xs:enumeration value="expand-collapse" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="entry-name" />
+            <xs:attribute type="xs:string" name="entity-name" />
+            <xs:attribute type="xs:string" name="join-field-name" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="sub-node">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:choice>
+                    <xs:element ref="actions" />
+                    <xs:element ref="entity-and" />
+                    <xs:element ref="service" />
+                    <xs:element ref="entity-condition" />
+                </xs:choice>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="out-field-map" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="node-name" use="required" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="include-screen">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="name" use="required" />
+            <xs:attribute type="xs:string" name="location" use="required" />
+            <xs:attribute name="share-scope" 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="label">
+        <xs:complexType mixed="true">
+            <xs:attribute type="xs:string" name="text" />
+            <xs:attribute type="xs:string" name="id" />
+            <xs:attribute type="xs:string" name="style" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="link" type="link"/>
+    <xs:element name="actions">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="AllActions"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="service">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" 
ref="field-map" />
+            </xs:sequence>
+            <xs:attribute type="xs:string" name="service-name" use="required" 
/>
+            <xs:attribute type="xs:string" name="result-map" />
+            <xs:attribute type="xs:string" name="auto-field-map" 
default="true">
+                <xs:annotation>
+                    <xs:documentation>This can be "true", "false" or the name 
of a Map in the context to use as the source Map for the service 
context.</xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute type="xs:string" name="result-map-list" />
+            <xs:attribute type="xs:string" name="result-map-value" />
+            <xs:attribute type="xs:string" name="value" />
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="entity-and">
+        <xs:complexType>
+            <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:sequence>
+            <xs:attribute name="entity-name" type="xs:string" use="required" />
+            <xs:attribute name="list" type="xs:string" />
+            <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="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="result-set-type" default="scroll">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="forward" />
+                        <xs:enumeration value="scroll" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="entity-condition">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:choice>
+                    <xs:element ref="condition-expr" />
+                    <xs:element ref="condition-list" />
+                </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:attribute name="entity-name" 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="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="distinct" 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="delegator-name" type="xs:string" />
+            <xs:attribute name="list" type="xs:string" />
+            <xs:attribute name="result-set-type" default="scroll">
+                <xs:simpleType>
+                    <xs:restriction base="xs:token">
+                        <xs:enumeration value="forward" />
+                        <xs:enumeration value="scroll" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="out-field-map">
+        <xs:complexType>
+            <xs:attribute type="xs:string" name="field-name" use="required" />
+            <xs:attribute type="xs:string" name="to-field-name" />
+        </xs:complexType>
+    </xs:element>
+</xs:schema>
\ No newline at end of file

Propchange: ofbiz/trunk/framework/widget/dtd/widget-tree-ns.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/framework/widget/dtd/widget-tree-ns.xsd
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/framework/widget/dtd/widget-tree-ns.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xsd

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetFactory.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetFactory.java?rev=1746302&r1=1746301&r2=1746302&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetFactory.java 
(original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetFactory.java Tue 
May 31 16:48:09 2016
@@ -29,6 +29,7 @@ import java.util.concurrent.ConcurrentHa
 import org.ofbiz.base.util.Assert;
 import org.ofbiz.base.util.Debug;
 import org.ofbiz.base.util.UtilGenerics;
+import org.ofbiz.base.util.UtilXml;
 import org.ofbiz.widget.model.IterateSectionWidget;
 import org.ofbiz.widget.model.ModelScreen;
 import org.ofbiz.widget.model.ModelScreenWidget;
@@ -69,9 +70,10 @@ public class WidgetFactory {
      */
     public static ModelScreenWidget getModelScreenWidget(ModelScreen 
modelScreen, Element element) {
         Assert.notNull("modelScreen", modelScreen, "element", element);
-        Constructor<? extends ModelScreenWidget> widgetConst = 
screenWidgets.get(element.getTagName());
+        String tagName = UtilXml.getTagNameIgnorePrefix(element);
+        Constructor<? extends ModelScreenWidget> widgetConst = 
screenWidgets.get(tagName);
         if (widgetConst == null) {
-            throw new IllegalArgumentException("ModelScreenWidget class not 
found for element " + element.getTagName());
+            throw new IllegalArgumentException("ModelScreenWidget class not 
found for element " + tagName);
         }
         try {
             return widgetConst.newInstance(modelScreen, element);

Modified: 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/model/AbstractModelAction.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/model/AbstractModelAction.java?rev=1746302&r1=1746301&r2=1746302&view=diff
==============================================================================
--- 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/model/AbstractModelAction.java
 (original)
+++ 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/model/AbstractModelAction.java
 Tue May 31 16:48:09 2016
@@ -91,25 +91,26 @@ public abstract class AbstractModelActio
      * @return A new <code>ModelAction</code> instance
      */
     public static ModelAction newInstance(ModelWidget modelWidget, Element 
actionElement) {
-        if ("set".equals(actionElement.getNodeName())) {
+        String nodeName = UtilXml.getNodeNameIgnorePrefix(actionElement);
+        if ("set".equals(nodeName)) {
             return new SetField(modelWidget, actionElement);
-        } else if ("property-map".equals(actionElement.getNodeName())) {
+        } else if ("property-map".equals(nodeName)) {
             return new PropertyMap(modelWidget, actionElement);
-        } else if ("property-to-field".equals(actionElement.getNodeName())) {
+        } else if ("property-to-field".equals(nodeName)) {
             return new PropertyToField(modelWidget, actionElement);
-        } else if ("script".equals(actionElement.getNodeName())) {
+        } else if ("script".equals(nodeName)) {
             return new Script(modelWidget, actionElement);
-        } else if ("service".equals(actionElement.getNodeName())) {
+        } else if ("service".equals(nodeName)) {
             return new Service(modelWidget, actionElement);
-        } else if ("entity-one".equals(actionElement.getNodeName())) {
+        } else if ("entity-one".equals(nodeName)) {
             return new EntityOne(modelWidget, actionElement);
-        } else if ("entity-and".equals(actionElement.getNodeName())) {
+        } else if ("entity-and".equals(nodeName)) {
             return new EntityAnd(modelWidget, actionElement);
-        } else if ("entity-condition".equals(actionElement.getNodeName())) {
+        } else if ("entity-condition".equals(nodeName)) {
             return new EntityCondition(modelWidget, actionElement);
-        } else if ("get-related-one".equals(actionElement.getNodeName())) {
+        } else if ("get-related-one".equals(nodeName)) {
             return new GetRelatedOne(modelWidget, actionElement);
-        } else if ("get-related".equals(actionElement.getNodeName())) {
+        } else if ("get-related".equals(nodeName)) {
             return new GetRelated(modelWidget, actionElement);
         } else {
             throw new IllegalArgumentException("Action element not supported 
with name: " + actionElement.getNodeName());

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/model/FieldInfo.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/model/FieldInfo.java?rev=1746302&r1=1746301&r2=1746302&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/model/FieldInfo.java 
(original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/model/FieldInfo.java Tue 
May 31 16:48:09 2016
@@ -26,6 +26,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.ofbiz.base.util.Debug;
+import org.ofbiz.base.util.UtilXml;
 import org.ofbiz.widget.renderer.FormStringRenderer;
 import org.w3c.dom.Element;
 
@@ -135,7 +136,7 @@ public abstract class FieldInfo {
     /** XML Constructor */
     protected FieldInfo(Element element, ModelFormField modelFormField) {
         this.fieldSource = FieldInfo.SOURCE_EXPLICIT;
-        this.fieldType = findFieldTypeFromName(element.getTagName());
+        this.fieldType = 
findFieldTypeFromName(UtilXml.getTagNameIgnorePrefix(element));
         this.modelFormField = modelFormField;
     }
 

Modified: 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/model/ModelFormFieldBuilder.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/model/ModelFormFieldBuilder.java?rev=1746302&r1=1746301&r2=1746302&view=diff
==============================================================================
--- 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/model/ModelFormFieldBuilder.java
 (original)
+++ 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/model/ModelFormFieldBuilder.java
 Tue May 31 16:48:09 2016
@@ -165,7 +165,7 @@ public class ModelFormFieldBuilder {
         Element childElement = null;
         List<? extends Element> subElements = 
UtilXml.childElementList(fieldElement);
         for (Element subElement : subElements) {
-            String subElementName = subElement.getTagName();
+            String subElementName = UtilXml.getTagNameIgnorePrefix(subElement);
             if ("on-field-event-update-area".equals(subElementName)) {
                 UpdateArea updateArea = new UpdateArea(subElement);
                 if ("change".equals(updateArea.getEventType()))

Modified: 
ofbiz/trunk/specialpurpose/example/widget/example/ExampleCompoundWidgets.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/example/widget/example/ExampleCompoundWidgets.xml?rev=1746302&r1=1746301&r2=1746302&view=diff
==============================================================================
--- 
ofbiz/trunk/specialpurpose/example/widget/example/ExampleCompoundWidgets.xml 
(original)
+++ 
ofbiz/trunk/specialpurpose/example/widget/example/ExampleCompoundWidgets.xml 
Tue May 31 16:48:09 2016
@@ -19,97 +19,103 @@ under the License.
 -->
 
 <!-- This document serves as an example for Compound Screen Widget feature -->
-<compound-widgets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/compound-widgets.xsd";>
-
-    <site-conf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/site-conf.xsd";>
-        <request-map uri="CompoundWidgets1">
-            <security https="true" auth="true"/>
-            <event type="simple" invoke="CompoundWidgetsFunc" 
path="component://example/widget/example/ExampleCompoundWidgets.xml"/>
-            <response name="success" type="view" value="CompoundWidgets1"/>
-        </request-map>
-        <request-map uri="CompoundWidgets2"><security https="true" 
auth="true"/><response name="success" type="view" 
value="CompoundWidgets2"/></request-map>
-        
-        <view-map name="CompoundWidgets1" type="screen" 
page="component://example/widget/example/ExampleCompoundWidgets.xml#CompoundWidgets1"/>
-        <view-map name="CompoundWidgets2" type="screen" 
page="component://example/widget/example/ExampleCompoundWidgets.xml#CompoundWidgets2"/>
-    </site-conf>
-
-    <menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-menu.xsd";>
-        <menu name="CompoundWidgetsMenu" extends="CommonTabBarMenu" 
extends-resource="component://common/widget/CommonMenus.xml">
-            <menu-item name="Example1" title="${uiLabelMap.ExampleExample} 1">
-                <link target="CompoundWidgets1"/>
-            </menu-item>
-            <menu-item name="Example2" title="${uiLabelMap.ExampleExample} 2">
-                <link target="CompoundWidgets2"/>
-            </menu-item>
-        </menu>
-    </menus>
-
-    <screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd";>
-        <screen name="CompoundWidgets1">
-            <section>
-                <actions>
-                    <set field="headerItem" value="ExampleCompoundWidgets" />
-                    <set field="tabButtonItem" value="Example1"/>
-                </actions>
-                <widgets>
-                    <decorator-screen name="main-decorator" 
location="${parameters.mainDecoratorLocation}">
-                        <decorator-section name="pre-body">
-                            <include-menu name="CompoundWidgetsMenu" 
location="component://example/widget/example/ExampleCompoundWidgets.xml" />
-                        </decorator-section>
-                        <decorator-section name="body">
-                            <section>
-                                <widgets>
-                                    <container style="clear" />
-                                    <label>Demo For Compound Screen 
Widget</label>
-                                    <include-form 
location="component://example/widget/example/ExampleCompoundWidgets.xml" 
name="CompoundWidgetsForm1"/>
-                                </widgets>
-                            </section>
-                        </decorator-section>
-                    </decorator-screen>
-                </widgets>
-            </section>
-        </screen>
+<compound-widgets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+        xmlns:sc="http://ofbiz.apache.org/Site-Conf";
+        xmlns:sm="http://ofbiz.apache.org/Simple-Method";
+        xmlns:wf="http://ofbiz.apache.org/Widget-Form";
+        xmlns:wt="http://ofbiz.apache.org/Widget-Tree";
+        xmlns:wm="http://ofbiz.apache.org/Widget-Menu";
+        xmlns:ws="http://ofbiz.apache.org/Widget-Screen";
+        
xsi:noNamespaceSchemaLocation="../../../../framework/widget/dtd/compound-widgets.xsd">
+    
+    <sc:site-conf>
+        <sc:request-map uri="CompoundWidgets1">
+            <sc:security https="true" auth="true"/>
+            <sc:event type="simple" invoke="CompoundWidgetsFunc" 
path="component://example/widget/example/ExampleCompoundWidgets.xml"/>
+            <sc:response name="success" type="view" value="CompoundWidgets1"/>
+        </sc:request-map>
+        <sc:request-map uri="CompoundWidgets2"><sc:security https="true" 
auth="true"/><sc:response name="success" type="view" 
value="CompoundWidgets2"/></sc:request-map>
+
+        <sc:view-map name="CompoundWidgets1" type="screen" 
page="component://example/widget/example/ExampleCompoundWidgets.xml#CompoundWidgets1"/>
+        <sc:view-map name="CompoundWidgets2" type="screen" 
page="component://example/widget/example/ExampleCompoundWidgets.xml#CompoundWidgets2"/>
+    </sc:site-conf>
+
+    <wm:menus>
+        <wm:menu name="CompoundWidgetsMenu" extends="CommonTabBarMenu" 
extends-resource="component://common/widget/CommonMenus.xml">
+            <wm:menu-item name="Example1" title="${uiLabelMap.ExampleExample} 
1">
+                <wm:link target="CompoundWidgets1"/>
+            </wm:menu-item>
+            <wm:menu-item name="Example2" title="${uiLabelMap.ExampleExample} 
2">
+                <wm:link target="CompoundWidgets2"/>
+            </wm:menu-item>
+        </wm:menu>
+    </wm:menus>
+
+    <ws:screens>
+        <ws:screen name="CompoundWidgets1">
+            <ws:section>
+                <ws:actions>
+                    <ws:set field="headerItem" value="ExampleCompoundWidgets" 
/>
+                    <ws:set field="tabButtonItem" value="Example1"/>
+                </ws:actions>
+                <ws:widgets>
+                    <ws:decorator-screen name="main-decorator" 
location="${parameters.mainDecoratorLocation}">
+                        <ws:decorator-section name="pre-body">
+                            <ws:include-menu name="CompoundWidgetsMenu" 
location="component://example/widget/example/ExampleCompoundWidgets.xml" />
+                        </ws:decorator-section>
+                        <ws:decorator-section name="body">
+                            <ws:section>
+                                <ws:widgets>
+                                    <ws:container style="clear" />
+                                    <ws:label>Demo For Compound Screen 
Widget</ws:label>
+                                        <ws:include-form 
location="component://example/widget/example/ExampleCompoundWidgets.xml" 
name="CompoundWidgetsForm1"/>
+                                </ws:widgets>
+                            </ws:section>
+                        </ws:decorator-section>
+                    </ws:decorator-screen>
+                </ws:widgets>
+            </ws:section>
+        </ws:screen>
         
-        <screen name="CompoundWidgets2">
-            <section>
-                <actions>
-                    <set field="headerItem" value="ExampleCompoundWidgets" />
-                    <set field="tabButtonItem" value="Example2"/>
-                </actions>
-                <widgets>
-                    <decorator-screen name="main-decorator" 
location="${parameters.mainDecoratorLocation}">
-                        <decorator-section name="pre-body">
-                            <include-menu name="CompoundWidgetsMenu" 
location="component://example/widget/example/ExampleCompoundWidgets.xml" />
-                        </decorator-section>
-                        <decorator-section name="body">
-                            <section>
-                                <widgets>
-                                    <container style="clear" />
-                                    <label>Demo For Compound Screen 
Widget</label>
-                                    <include-form 
location="component://example/widget/example/ExampleCompoundWidgets.xml" 
name="CompoundWidgetsForm2"/>
-                                </widgets>
-                            </section>
-                        </decorator-section>
-                    </decorator-screen>
-                </widgets>
-            </section>
-        </screen>
-    </screens>
-
-    <forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd";>
-        <form name="CompoundWidgetsForm1">
-            <field name="exampleName" 
title="${uiLabelMap.FormFieldTitle_exampleName} 1" required-field="true"><text 
/></field>
-        </form>
-        
-        <form name="CompoundWidgetsForm2">
-            <field name="exampleName" 
title="${uiLabelMap.FormFieldTitle_exampleName} 2" required-field="true"><text 
/></field>
-        </form>
-    </forms>
-
-    <simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd";>
-        <simple-method method-name="CompoundWidgetsFunc">
-            <log message="CompoundWidgetsFunc runs" level="info"/>
-        </simple-method>
-    </simple-methods>
-
+        <ws:screen name="CompoundWidgets2">
+            <ws:section>
+                <ws:actions>
+                    <ws:set field="headerItem" value="ExampleCompoundWidgets" 
/>
+                    <ws:set field="tabButtonItem" value="Example2"/>
+                </ws:actions>
+                <ws:widgets>
+                    <ws:decorator-screen name="main-decorator" 
location="${parameters.mainDecoratorLocation}">
+                        <ws:decorator-section name="pre-body">
+                            <ws:include-menu name="CompoundWidgetsMenu" 
location="component://example/widget/example/ExampleCompoundWidgets.xml" />
+                        </ws:decorator-section>
+                        <ws:decorator-section name="body">
+                            <ws:section>
+                                <ws:widgets>
+                                    <ws:container style="clear" />
+                                    <ws:label>Demo For Compound Screen 
Widget</ws:label>
+                                    <ws:include-form 
location="component://example/widget/example/ExampleCompoundWidgets.xml" 
name="CompoundWidgetsForm2"/>
+                                </ws:widgets>
+                            </ws:section>
+                        </ws:decorator-section>
+                    </ws:decorator-screen>
+                </ws:widgets>
+            </ws:section>
+        </ws:screen>
+    </ws:screens>
+    
+    <wf:forms>
+        <wf:form name="CompoundWidgetsForm1">
+            <wf:field name="exampleName" 
title="${uiLabelMap.FormFieldTitle_exampleName} 1" 
required-field="true"><wf:text /></wf:field>
+        </wf:form>
+        <wf:form name="CompoundWidgetsForm2">
+            <wf:field name="exampleName" 
title="${uiLabelMap.FormFieldTitle_exampleName} 2" 
required-field="true"><wf:text /></wf:field>
+        </wf:form>
+    </wf:forms>
+    
+    <sm:simple-methods>
+        <sm:simple-method method-name="CompoundWidgetsFunc">
+            <sm:log message="CompoundWidgetsFunc runs" sm:level="info"/>
+        </sm:simple-method>
+    </sm:simple-methods>
+    
 </compound-widgets>


Reply via email to