You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by rw...@apache.org on 2005/12/27 02:50:33 UTC

svn commit: r359157 [2/2] - in /portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1: components/page-manager/src/java/JETSPEED-INF/castor/ components/page-manager/src/java/JETSPEED-INF/ojb/ components/page-manager/src/java/org/apache/jetspeed/om/folder/i...

Added: portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/guide-psml-dtd.xml
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/guide-psml-dtd.xml?rev=359157&view=auto
==============================================================================
--- portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/guide-psml-dtd.xml (added)
+++ portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/guide-psml-dtd.xml Mon Dec 26 17:50:11 2005
@@ -0,0 +1,914 @@
+<?xml version="1.0"?>
+<!--
+Copyright 2005 The Apache Software Foundation
+
+Licensed 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.
+-->
+<document>
+  <properties>
+    <title>Guide to PSML DTDs and XML Schema</title>
+    <subtitle>Guide to PSML DTDs and XML Schema</subtitle>
+    <authors>
+      <person name="Randy Watler" email="rwatler@apache.org"/>
+    </authors>
+  </properties>
+  <body>
+<section name="PSML DTDs and XML Schema">
+<p>
+The following PSML DTDs and XML Schema are included to further define the XML documents defined in these guides:
+<ul>
+    <li><a href="guide-psml.html">Guide to PSML</a></li>
+    <li><a href="guide-security-declarative-psml.html">Guide to declarative security through PSML</a></li>
+    <li><a href="guide-menus-declarative-psml.html">Guide to declarative menus in PSML</a></li>
+</ul>
+</p>
+<p>
+The DTDs and XML Schema included here are organized by PSML document:
+<ul>
+	<li><a href="#Page">Page, (*.psml)</a></li>
+	<li><a href="#Folder">Folder Metadata, (folder.metadata)</a></li>
+	<li><a href="#Link">Link, (*.link)</a></li>
+	<li><a href="#Page_Security">Page Security, (page.security)</a></li>
+</ul>
+</p>
+</section>
+
+<section name='Page'>
+<p><a href="guide-psml.html#Page">Page</a> documents, (*.psml), are described by the following DTD:</p>
+<source><![CDATA[
+<!-- top level page element -->
+
+<!ELEMENT page ( defaults | fragment | menu | metadata | security-constraints | short-title | title )* >
+<!ATTLIST page hidden ( false | true ) #IMPLIED >
+<!ATTLIST page version NMTOKEN #IMPLIED >
+
+<!-- page child elements -->
+
+<!ELEMENT defaults EMPTY >
+<!ATTLIST defaults layout-decorator NMTOKEN #REQUIRED >
+<!ATTLIST defaults portlet-decorator NMTOKEN #IMPLIED >
+<!ATTLIST defaults skin NMTOKEN #IMPLIED >
+
+<!ELEMENT exclude ( #PCDATA ) >
+
+<!ELEMENT fragment ( fragment | preference | property | security-constraints )* >
+<!ATTLIST fragment decorator NMTOKEN #IMPLIED >
+<!ATTLIST fragment id NMTOKEN #REQUIRED >
+<!ATTLIST fragment name NMTOKEN #REQUIRED >
+<!ATTLIST fragment skin NMTOKEN #IMPLIED >
+<!ATTLIST fragment state NMTOKEN #IMPLIED >
+<!ATTLIST fragment type ( layout | portlet ) #REQUIRED >
+
+<!ELEMENT groups ( #PCDATA ) >
+
+<!ELEMENT include ( #PCDATA ) >
+<!ATTLIST include nest ( false | true ) #IMPLIED >
+
+<!ELEMENT menu ( exclude | include | menu | metadata | options | separator | short-title | title )* >
+<!ATTLIST menu depth NMTOKEN #IMPLIED >
+<!ATTLIST menu name NMTOKEN #IMPLIED >
+<!ATTLIST menu options CDATA #IMPLIED >
+<!ATTLIST menu order CDATA #IMPLIED >
+<!ATTLIST menu paths ( false | true ) #IMPLIED >
+<!ATTLIST menu profile NMTOKEN #IMPLIED >
+<!ATTLIST menu regexp ( false | true ) #IMPLIED >
+<!ATTLIST menu skin NMTOKEN #IMPLIED >
+
+<!ELEMENT metadata ( #PCDATA ) >
+<!ATTLIST metadata name ( short-title | text | title ) #REQUIRED >
+<!ATTLIST metadata xml:lang NMTOKEN #REQUIRED >
+
+<!ELEMENT options ( #PCDATA ) >
+<!ATTLIST options depth NMTOKEN #IMPLIED >
+<!ATTLIST options order CDATA #IMPLIED >
+<!ATTLIST options paths ( false | true ) #IMPLIED >
+<!ATTLIST options profile NMTOKEN #IMPLIED >
+<!ATTLIST options regexp ( false | true ) #IMPLIED >
+<!ATTLIST options skin NMTOKEN #IMPLIED >
+
+<!ELEMENT owner ( #PCDATA ) >
+
+<!ELEMENT permissions ( #PCDATA ) >
+
+<!ELEMENT preference ( value+ ) >
+<!ATTLIST preference name NMTOKEN #REQUIRED >
+<!ATTLIST preference readOnly ( false | true ) #IMPLIED >
+
+<!ELEMENT property EMPTY >
+<!ATTLIST property layout NMTOKEN #IMPLIED >
+<!ATTLIST property name ( column | row | sizes ) #REQUIRED >
+<!ATTLIST property value CDATA #REQUIRED >
+
+<!ELEMENT roles ( #PCDATA ) >
+
+<!ELEMENT security-constraint ( groups | permissions | roles | users )* >
+
+<!ELEMENT security-constraints ( owner | security-constraint | security-constraints-ref )* >
+
+<!ELEMENT security-constraints-ref ( #PCDATA ) >
+
+<!ELEMENT separator ( #PCDATA | metadata | text | title )* >
+<!ATTLIST separator skin NMTOKEN #IMPLIED >
+
+<!ELEMENT short-title ( #PCDATA ) >
+
+<!ELEMENT text ( #PCDATA ) >
+
+<!ELEMENT title ( #PCDATA ) >
+
+<!ELEMENT users ( #PCDATA ) >
+
+<!ELEMENT value ( #PCDATA ) >
+]]></source>
+<p><a href="guide-psml.html#Page">Page</a> documents, (*.psml), are described by the following XML Schema:</p>
+<source><![CDATA[
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+  <!-- top level page element -->
+
+  <xs:element name="page">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="defaults" minOccurs="0" />
+        <xs:element ref="fragment" />
+        <xs:element ref="menu" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="metadata" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="security-constraints" minOccurs="0" />
+        <xs:element ref="short-title" minOccurs="0" />
+        <xs:element ref="title" minOccurs="0" />
+      </xs:choice>
+      <xs:attribute name="version" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="hidden" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="false" />
+            <xs:enumeration value="true" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <!-- page child elements -->
+
+  <xs:element name="defaults">
+    <xs:complexType>
+      <xs:attribute name="portlet-decorator" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="skin" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="layout-decorator" type="xs:NMTOKEN" use="optional" />
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="exclude">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="fragment">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="fragment" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="preference" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="property" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="security-constraints" minOccurs="0" />
+      </xs:choice>
+      <xs:attribute name="decorator" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
+      <xs:attribute name="type" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="layout" />
+            <xs:enumeration value="portlet" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="state" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="skin" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="id" type="xs:NMTOKEN" use="required" />
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="groups">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="include">
+    <xs:complexType mixed="true">
+      <xs:attribute name="nest" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="false" />
+            <xs:enumeration value="true" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="menu">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="include" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="menu" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="metadata" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="options" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="separator" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="short-title" minOccurs="0" />
+        <xs:element ref="title" minOccurs="0" />
+      </xs:choice>
+      <xs:attribute name="order" type="xs:string" use="optional" />
+      <xs:attribute name="options" type="xs:string" use="optional" />
+      <xs:attribute name="name" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="profile" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="regexp" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="false" />
+            <xs:enumeration value="true" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="skin" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="paths" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="false" />
+            <xs:enumeration value="true" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="depth" type="xs:NMTOKEN" use="optional" />
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="metadata">
+    <xs:complexType mixed="true">
+      <xs:attribute name="name" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="short-title" />
+            <xs:enumeration value="text" />
+            <xs:enumeration value="title" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="options">
+    <xs:complexType mixed="true">
+      <xs:attribute name="order" type="xs:string" use="optional" />
+      <xs:attribute name="profile" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="regexp" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="false" />
+            <xs:enumeration value="true" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="skin" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="paths" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="false" />
+            <xs:enumeration value="true" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="depth" type="xs:NMTOKEN" use="optional" />
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="owner">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="permissions">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="preference">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="value" maxOccurs="unbounded" />
+      </xs:sequence>
+      <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
+      <xs:attribute name="readOnly" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="false" />
+            <xs:enumeration value="true" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="property">
+    <xs:complexType>
+      <xs:attribute name="name" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="column" />
+            <xs:enumeration value="row" />
+            <xs:enumeration value="sizes" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="layout" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="value" type="xs:string" use="required" />
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="roles">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="security-constraint">
+    <xs:complexType>
+      <xs:choice maxOccurs="4">
+        <xs:element ref="groups" minOccurs="0" />
+        <xs:element ref="permissions" minOccurs="0" />
+        <xs:element ref="roles" minOccurs="0" />
+        <xs:element ref="users" minOccurs="0" />
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="security-constraints">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="owner" minOccurs="0" />
+        <xs:element ref="security-constraint" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="security-constraints-ref" minOccurs="0" maxOccurs="unbounded" />
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="security-constraints-ref">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="separator">
+    <xs:complexType mixed="true">
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="metadata" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="text" minOccurs="0" />
+        <xs:element ref="title" minOccurs="0" />
+      </xs:choice>
+      <xs:attribute name="skin" type="xs:NMTOKEN" use="optional" />
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="short-title">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="text">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="title">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="users">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="value">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+</xs:schema>
+]]></source>
+</section>
+
+<section name='Folder'>
+<p><a href="guide-psml.html#Folder">Folder Metadata</a> documents, (folder.metadata), are described by the following DTD:</p>
+<source><![CDATA[
+<!-- top level folder element -->
+
+<!ELEMENT folder ( default-page | defaults | document-order | menu | metadata | security-constraints | short-title | title )* >
+<!ATTLIST folder hidden ( false | true ) #IMPLIED >
+<!ATTLIST folder version NMTOKEN #IMPLIED >
+
+<!-- folder child elements -->
+
+<!ELEMENT default-page ( #PCDATA ) >
+
+<!ELEMENT defaults EMPTY >
+<!ATTLIST defaults layout-decorator NMTOKEN #REQUIRED >
+<!ATTLIST defaults portlet-decorator NMTOKEN #IMPLIED >
+<!ATTLIST defaults skin NMTOKEN #IMPLIED >
+
+<!ELEMENT document-order ( #PCDATA ) >
+
+<!ELEMENT exclude ( #PCDATA ) >
+
+<!ELEMENT groups ( #PCDATA ) >
+
+<!ELEMENT include ( #PCDATA ) >
+<!ATTLIST include nest ( false | true ) #IMPLIED >
+
+<!ELEMENT menu ( exclude | include | menu | metadata | options | separator | short-title | title )* >
+<!ATTLIST menu depth NMTOKEN #IMPLIED >
+<!ATTLIST menu name NMTOKEN #IMPLIED >
+<!ATTLIST menu options CDATA #IMPLIED >
+<!ATTLIST menu order CDATA #IMPLIED >
+<!ATTLIST menu paths ( false | true ) #IMPLIED >
+<!ATTLIST menu profile NMTOKEN #IMPLIED >
+<!ATTLIST menu regexp ( false | true ) #IMPLIED >
+<!ATTLIST menu skin NMTOKEN #IMPLIED >
+
+<!ELEMENT metadata ( #PCDATA ) >
+<!ATTLIST metadata name ( short-title | text | title ) #REQUIRED >
+<!ATTLIST metadata xml:lang NMTOKEN #REQUIRED >
+
+<!ELEMENT options ( #PCDATA ) >
+<!ATTLIST options depth NMTOKEN #IMPLIED >
+<!ATTLIST options order CDATA #IMPLIED >
+<!ATTLIST options paths ( false | true ) #IMPLIED >
+<!ATTLIST options profile NMTOKEN #IMPLIED >
+<!ATTLIST options regexp ( false | true ) #IMPLIED >
+<!ATTLIST options skin NMTOKEN #IMPLIED >
+
+<!ELEMENT owner ( #PCDATA ) >
+
+<!ELEMENT permissions ( #PCDATA ) >
+
+<!ELEMENT roles ( #PCDATA ) >
+
+<!ELEMENT security-constraint ( groups | permissions | roles | users )* >
+
+<!ELEMENT security-constraints ( owner | security-constraint | security-constraints-ref )* >
+
+<!ELEMENT security-constraints-ref ( #PCDATA ) >
+
+<!ELEMENT separator ( #PCDATA | metadata | text | title )* >
+<!ATTLIST separator skin NMTOKEN #IMPLIED >
+
+<!ELEMENT short-title ( #PCDATA ) >
+
+<!ELEMENT text ( #PCDATA ) >
+
+<!ELEMENT title ( #PCDATA ) >
+
+<!ELEMENT users ( #PCDATA ) >
+]]></source>
+<p><a href="guide-psml.html#Folder">Folder Metadata</a> documents, (folder.metadata), are described by the following XML Schema:</p>
+<source><![CDATA[
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+  <!-- top level folder element -->
+
+  <xs:element name="folder">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="default-page" minOccurs="0" />
+        <xs:element ref="defaults" minOccurs="0" />
+        <xs:element ref="document-order" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="menu" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="metadata minOccurs="0" maxOccurs="unbounded"" />
+        <xs:element ref="security-constraints" minOccurs="0" />
+        <xs:element ref="short-title" minOccurs="0" />
+        <xs:element ref="title" minOccurs="0" />
+      </xs:choice>
+      <xs:attribute name="version" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="hidden" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="false" />
+            <xs:enumeration value="true" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <!-- folder child elements -->
+
+  <xs:element name="default-page">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="defaults">
+    <xs:complexType>
+      <xs:attribute name="portlet-decorator" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="skin" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="layout-decorator" type="xs:NMTOKEN" use="optional" />
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="document-order">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="exclude">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="groups">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="include">
+    <xs:complexType mixed="true">
+      <xs:attribute name="nest" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="false" />
+            <xs:enumeration value="true" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="menu">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="include" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="menu" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="metadata" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="options" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="separator" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="short-title" minOccurs="0" />
+        <xs:element ref="title" minOccurs="0" />
+      </xs:choice>
+      <xs:attribute name="order" type="xs:string" use="optional" />
+      <xs:attribute name="options" type="xs:string" use="optional" />
+      <xs:attribute name="name" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="profile" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="regexp" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="false" />
+            <xs:enumeration value="true" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="skin" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="paths" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="false" />
+            <xs:enumeration value="true" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="depth" type="xs:NMTOKEN" use="optional" />
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="metadata">
+    <xs:complexType mixed="true">
+      <xs:attribute name="name" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="short-title" />
+            <xs:enumeration value="text" />
+            <xs:enumeration value="title" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="options">
+    <xs:complexType mixed="true">
+      <xs:attribute name="order" type="xs:string" use="optional" />
+      <xs:attribute name="profile" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="regexp" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="false" />
+            <xs:enumeration value="true" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="skin" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="paths" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="false" />
+            <xs:enumeration value="true" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="depth" type="xs:NMTOKEN" use="optional" />
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="owner">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="permissions">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="roles">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="security-constraint">
+    <xs:complexType>
+      <xs:choice maxOccurs="4">
+        <xs:element ref="groups" minOccurs="0" />
+        <xs:element ref="permissions" minOccurs="0" />
+        <xs:element ref="roles" minOccurs="0" />
+        <xs:element ref="users" minOccurs="0" />
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="security-constraints">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="owner" minOccurs="0" />
+        <xs:element ref="security-constraint" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="security-constraints-ref" minOccurs="0" maxOccurs="unbounded" />
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="security-constraints-ref">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="separator">
+    <xs:complexType mixed="true">
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="metadata" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="text" minOccurs="0" />
+        <xs:element ref="title" minOccurs="0" />
+      </xs:choice>
+      <xs:attribute name="skin" type="xs:NMTOKEN" use="optional" />
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="short-title">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="text">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="title">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="users">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+</xs:schema>
+]]></source>
+</section>
+
+<section name='Link'>
+<p><a href="guide-psml.html#Link">Link</a> documents, (*.link), are described by the following DTD:</p>
+<source><![CDATA[
+<!-- top level link element -->
+
+<!ELEMENT link ( metadata | security-constraints | short-title | title | url )* >
+<!ATTLIST link target NMTOKEN #REQUIRED >
+<!ATTLIST link version NMTOKEN #IMPLIED >
+<!ATTLIST link skin NMTOKEN #IMPLIED >
+
+<!-- link child elements -->
+
+<!ELEMENT groups ( #PCDATA ) >
+
+<!ELEMENT metadata ( #PCDATA ) >
+<!ATTLIST metadata name ( short-title | title ) #REQUIRED >
+<!ATTLIST metadata xml:lang NMTOKEN #REQUIRED >
+
+<!ELEMENT owner ( #PCDATA ) >
+
+<!ELEMENT permissions ( #PCDATA ) >
+
+<!ELEMENT roles ( #PCDATA ) >
+
+<!ELEMENT security-constraint ( groups | permissions | roles | users )* >
+
+<!ELEMENT security-constraints ( owner | security-constraint | security-constraints-ref )* >
+
+<!ELEMENT security-constraints-ref ( #PCDATA ) >
+
+<!ELEMENT short-title ( #PCDATA ) >
+
+<!ELEMENT title ( #PCDATA ) >
+
+<!ELEMENT url ( #PCDATA ) >
+
+<!ELEMENT users ( #PCDATA ) >
+]]></source>
+<p><a href="guide-psml.html#Link">Link</a> documents, (*.link), are described by the following XML Schema:</p>
+<source><![CDATA[
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+  <!-- top level link element -->
+
+  <xs:element name="link">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="metadata" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="security-constraints" minOccurs="0" />
+        <xs:element ref="short-title" minOccurs="0" />
+        <xs:element ref="title" minOccurs="0" />
+        <xs:element ref="url" />
+      </xs:choice>
+      <xs:attribute name="version" type="xs:NMTOKEN" use="optional" />
+      <xs:attribute name="target" type="xs:NMTOKEN" use="required" />
+      <xs:attribute name="skin" type="xs:NMTOKEN" use="optional" />
+    </xs:complexType>
+  </xs:element>
+
+  <!-- link child elements -->
+
+  <xs:element name="groups">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="metadata">
+    <xs:complexType mixed="true">
+      <xs:attribute name="name" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:NMTOKEN">
+            <xs:enumeration value="short-title" />
+            <xs:enumeration value="title" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="owner">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="permissions">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="roles">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="security-constraint">
+    <xs:complexType>
+      <xs:choice maxOccurs="4">
+        <xs:element ref="groups" minOccurs="0" />
+        <xs:element ref="permissions" minOccurs="0" />
+        <xs:element ref="roles" minOccurs="0" />
+        <xs:element ref="users" minOccurs="0" />
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="security-constraints">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="owner" minOccurs="0" />
+        <xs:element ref="security-constraint" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="security-constraints-ref" minOccurs="0" maxOccurs="unbounded" />
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="security-constraints-ref">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="short-title">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="title">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="url">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="users">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+</xs:schema>
+]]></source>
+</section>
+
+<section name='Page Security'>
+<p><a href="guide-psml.html#Global_Page_Security">Page Security</a> documents, (page.security), are described by the following DTD:</p>
+<source><![CDATA[
+<!-- top level page-security element -->
+
+<!ELEMENT page-security ( global-security-constraints-ref | security-constraints-def )* >
+<!ATTLIST page-security version NMTOKEN #IMPLIED >
+
+<!-- page-security child elements -->
+
+<!ELEMENT global-security-constraints-ref ( #PCDATA ) >
+
+<!ELEMENT groups ( #PCDATA ) >
+
+<!ELEMENT permissions ( #PCDATA ) >
+
+<!ELEMENT roles ( #PCDATA ) >
+
+<!ELEMENT security-constraint ( groups | permissions | roles | users )* >
+
+<!ELEMENT security-constraints-def ( security-constraint ) >
+<!ATTLIST security-constraints-def name NMTOKEN #REQUIRED >
+
+<!ELEMENT users ( #PCDATA ) >
+]]></source>
+<p><a href="guide-psml.html#Global_Page_Security">Page Security</a> documents, (page.security), are described by the following XML Schema:</p>
+<source><![CDATA[
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+  <!-- top level page-security element -->
+
+  <xs:element name="page-security">
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="global-security-constraints-ref" minOccurs="0" maxOccurs="unbounded" />
+        <xs:element ref="security-constraints-def" minOccurs="0" maxOccurs="unbounded" />
+      </xs:choice>
+      <xs:attribute name="version" type="xs:NMTOKEN" use="optional" />
+    </xs:complexType>
+  </xs:element>
+
+  <!-- page-security child elements -->
+
+  <xs:element name="global-security-constraints-ref">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="groups">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="permissions">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="roles">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+  <xs:element name="security-constraint">
+    <xs:complexType>
+      <xs:choice maxOccurs="4">
+        <xs:element ref="groups" minOccurs="0" />
+        <xs:element ref="permissions" minOccurs="0" />
+        <xs:element ref="roles" minOccurs="0" />
+        <xs:element ref="users" minOccurs="0" />
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="security-constraints-def">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="security-constraint" maxOccurs="unbounded" />
+      </xs:sequence>
+      <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="users">
+    <xs:complexType mixed="true" />
+  </xs:element>
+
+</xs:schema>
+]]></source>
+</section>
+
+</body>
+</document>

Propchange: portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/guide-psml-dtd.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/guide-psml.xml
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/guide-psml.xml?rev=359157&r1=359156&r2=359157&view=diff
==============================================================================
--- portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/guide-psml.xml (original)
+++ portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/guide-psml.xml Mon Dec 26 17:50:11 2005
@@ -28,7 +28,6 @@
 <ul>
     <li><a href="#Page">Page</a></li>          
     <ul>
-        <li><a href="#Defaults">Defaults</a></li>     
         <li><a href="#Layout_Fragments">Layout Fragments</a></li>    
         <li><a href="#Portlet_Fragments">Portlet Fragments</a></li>    
         <li><a href="#Fragment_Properties">Fragment Properties</a></li>
@@ -38,8 +37,10 @@
     <li><a href="#Link">Link</a></li>          
     <li><a href="#Global_Page_Security">Global Page Security</a></li>          
     <li><a href="#PSML_Titles_and_Metadata">Titles and Metadata</a></li>
+    <li><a href="#PSML_Defaults">Defaults</a></li>     
     <li><a href="#PSML_Security_Constraints">Security Constraints</a></li>        
     <li><a href="#PSML_Menus">Menus</a></li>        
+    <li><a href="guide-psml-dtd.html#PSML_DTDs">PSML Document DTDs</a></li>        
 </ul>
     
 <p>
@@ -104,6 +105,9 @@
   <metadata name="title" xml:lang="fr">Répertoire racine</metadata>
   <metadata name="title" xml:lang="es">Carpeta raiz</metadata>
 
+  <!-- default page decorations -->
+  <defaults layout-decorator="tigris" portlet-decorator="tigris"/>
+
   <!-- order of documents in folder -->
   <document-order>Jetspeed2.link</document-order>
   <document-order>Jetspeed2Wiki.link</document-order>
@@ -216,8 +220,8 @@
     <td>Optional simple element containing text of the default short title for the page. The short title, if available, is used as menu text in some decorators. If not specified, the title text is used.</td>
     </tr>
     <tr>
-    <td><a href="#Defaults">defaults</a></td>
-    <td>Specifies the decorations for the page and its fragments. Defaults are required for each page.</td>
+    <td><a href="#PSML_Defaults">defaults?</a></td>
+    <td>Specifies the decorations for the page and its fragments. Optional defaults can be inherited from parent folders, but layout decorations are required for each page either specified explicitly or in a parent folder.</td>
     </tr>
     <tr>
     <td><a href="#Layout_Fragments">fragment</a></td>
@@ -239,41 +243,6 @@
 <p>Example: <a href="#PSML">see intoductory examples above.</a></p>  
 </section>
 
-<section name='Defaults'>
-<p>
-The <a href="#Page">page</a> &lt;defaults&gt; element defines the default layout decorator and default portlet decorator.
-The default layout decorator is applied to all layout fragments which do NOT have a decorator attribute.
-The default portlet decorator is applied to all portlet fragments which do NOT have a decorator attribute.
-There are three valid attributes on the defaults element:
-</p>
-<table>
-    <tr>
-    <th>Attribute</th>
-    <th>Description</th>
-    </tr>
-    <tr>
-    <td>layout-decorator</td>
-    <td>The name of the layout decorator used to render the page. This attribute is required.</td>    
-    </tr>
-    <tr>
-    <td>portlet-decorator</td>
-    <td>The name of the default portlet decorator used to render the page fragments. This attribute is optional, but is almost always set.</td>
-    </tr>
-    <tr>
-    <td>skin</td>
-    <td>A general purpose decorator attribute that can be referenced in the decorators to control page and fragment presentation. Not currently used by Jetspeed2.</td>    
-    </tr>
-</table>
-<p>Example:</p>  
-<source><![CDATA[
-<page>
-  ...
-  <defaults skin="orange" layout-decorator="tigris" portlet-decorator="tigris"/>
-  ...
-</page>
-]]></source>
-</section>
-
 <section name='Layout Fragments'>
 <p>
 The <a href="#Page">page</a> layout &lt;fragment&gt; element is a hierarchical container used to hold <a href="#Portlet_Fragments">portlet fragments</a> and nested layout fragments.
@@ -391,7 +360,7 @@
     </tr>
     <tr>
     <td>decorator</td>
-    <td>The name of the default portlet decorator used to render the fragments. This attribute is optional, but if it is not specified, the <a href="#Defaults">defaults</a> for the page must specify a default portlet decorator.</td>
+    <td>The name of the default portlet decorator used to render the fragments. This attribute is optional, but if it is not specified, the <a href="#PSML_Defaults">defaults</a> for the page must specify a default portlet decorator.</td>
     </tr>
     <tr>
     <td>state</td>
@@ -477,9 +446,10 @@
 
 <section name='Preferences'>
 <p>
-The <a href="#Portlet_Fragments">portlet fragment</a> &lt;preference&gt; elements allows for the defining of portlet preferences.  
-This provides an eaiser avenue for the setting of default portlet prefences for a portlet
-instance on a page without having to duplicate a portlet definition within
+The <a href="#Portlet_Fragments">portlet fragment</a> &lt;preference&gt; elements allow for the defining of default
+portlet preference values.  
+This provides an easier avenue for the setting of default portlet preferences for a portlet
+instance on a page without having to duplicate portlet definitions within
 the portlet application's portlet.xml.
 </p>
 <p>
@@ -560,10 +530,13 @@
     <td>Optional simple element containing text of the default short title for the folder. The short title, if available, is used as menu text in some decorators. If not specified, the title text is used.</td>
     </tr>
     <tr>
+    <td><a href="#PSML_Defaults">defaults?</a></td>
+    <td>Optionally specifies the decorations for the folder or subfolder pages and their fragments. Layout decorations are required for each page either specified explicitly in the individual pages or in a parent folder.</td>
+    </tr>
+    <tr>
     <td>default-page?</td>
     <td>Optional simple element containing text with the default page or subfolder name for the folder. The default page is used when the folder is directly referenced in the portal. The name of any <a href="#Page">page</a> or folder in this folder, (including '..' for the parent folder), can be specified. If no default page is set, the page named 'default-page.psml' will be used; if 'default-page.psml' does not exist, the first page in the folder will become the default.</td>
     </tr>
-
     <tr>
     <td>document-order*</td>
     <td>An optional collection of simple elements containing text names used to define a sort order for <a href="#Page">page</a>, subfolder, and <a href="#Link">link</a> members. Members with matching names will be arranged in the order these elements are defined. Other members will be sorted by their names and will appear in menus and other lists after the matching members. Regular expressions for name matching are not supported.</td>
@@ -589,7 +562,7 @@
 <p>
 The &lt;link&gt; element is a simple container to hold other PSML elements associated with a portal link used to reference content external to the portal site.
 This element is persisted as a file with a '.link' extension in the appropriate file system directory associated with the parent <a href="#Folder">folder</a>.
-There are two valid attributes for the link element:
+There are three valid attributes for the link element:
 </p>
 <table>
     <tr>
@@ -604,6 +577,10 @@
     <td>version</td>
     <td>A general purpose version tracking attribute. Not currently used by Jetspeed2.</td>
     </tr>
+    <tr>
+    <td>skin</td>
+    <td>A general purpose decorator attribute that can be referenced in the portlet decorators to control link presentation. <a href="#Menus">Menu</a> option elements for the link will adopt this skin value if not otherwise specified. Not currently used by Jetspeed2.</td>    
+    </tr>
 </table>
 <p>
 The &lt;link&gt; element contains a number of other PSML elements:
@@ -700,6 +677,42 @@
   <metadata name="title" xml:lang="fr">Ma Premiere Page de PSML</metadata>
   <metadata name="title" xml:lang="es">¡Bienvenido a Jetspeed 2!</metadata>
   <metadata name="title" xml:lang="hu">Köszönti a Jetspeed 2!</metadata>
+  ...
+</page>
+]]></source>
+</section>
+
+<section name='PSML Defaults'>
+<p>
+The <a href="#Page">page</a> and <a href="#Folder">folder</a> &lt;defaults&gt; element defines the default layout
+decorator and default portlet decorator. The default layout decorator is applied to all top level layout fragments
+which do NOT have a decorator attribute. The default portlet decorator is applied to all portlet fragments which do NOT
+have a decorator attribute. Defaults may be inherited from parent folder default elements. There are three valid
+attributes on the defaults element:
+</p>
+<table>
+    <tr>
+    <th>Attribute</th>
+    <th>Description</th>
+    </tr>
+    <tr>
+    <td>layout-decorator</td>
+    <td>The name of the layout decorator used to render the page. This attribute is required, but may be inherited from a parent folder..</td>
+    </tr>
+    <tr>
+    <td>portlet-decorator</td>
+    <td>The name of the default portlet decorator used to render the page fragments. This attribute is optional, but is almost always set. This attribute too may be inherited from parent folders.</td>
+    </tr>
+    <tr>
+    <td>skin</td>
+    <td>A general purpose decorator attribute that can be referenced in the decorators to control page and folder presentation. <a href="#Menus">Menu</a> option elements for the page and folder will adopt this skin value if not otherwise specified. Not currently used by Jetspeed2.</td>    
+    </tr>
+</table>
+<p>Example:</p>  
+<source><![CDATA[
+<page>
+  ...
+  <defaults skin="orange" layout-decorator="tigris" portlet-decorator="tigris"/>
   ...
 </page>
 ]]></source>

Modified: portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/guide-security-declarative-psml.xml
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/guide-security-declarative-psml.xml?rev=359157&r1=359156&r2=359157&view=diff
==============================================================================
--- portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/guide-security-declarative-psml.xml (original)
+++ portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/guide-security-declarative-psml.xml Mon Dec 26 17:50:11 2005
@@ -33,6 +33,7 @@
     <li><a href="#Page Constraints">Page Constraints</a></li>    
     <li><a href="#Fragment Constraints">Fragment Constraints</a></li>    
     <li><a href="#Spring Configuration">Spring Configuration</a></li>    
+    <li><a href="guide-psml-dtd.html#PSML_DTDs">PSML Document DTDs</a></li>        
 </ul>
 </p>
 <p>

Modified: portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/index.xml
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/index.xml?rev=359157&r1=359156&r2=359157&view=diff
==============================================================================
--- portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/index.xml (original)
+++ portals/jetspeed-2/branches/JETSPEED-BRANCH-2.0.1/xdocs/guides/index.xml Mon Dec 26 17:50:11 2005
@@ -47,7 +47,7 @@
 			<li><a href="guide-security.html">Guide to configuring Jetspeed-2 security</a></li>
 			<li><a href="guide-sso.html">Guide to using Jetspeed-2 single sign-on</a></li>
 			<li><a href="guide-user-attributes.html">Guide to defining user attributes (PLT.17 user information configuration)</a></li>
-			<li><a href="guide-profilers.html">Guide to using profilers</a></li>
+			<li><a href="guide-profiler.html">Guide to using profilers</a></li>
 			
 		</ul>
 		</subsection>



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org