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>