Author: jeremias
Date: Fri Jan 30 10:19:42 2009
New Revision: 739227

URL: http://svn.apache.org/viewvc?rev=739227&view=rev
Log:
Updated XML Schema for the new intermediate format.
Fixed the ID prefix for the URIAction to conform to the "ID" XML Schema 
datatype.

Added:
    
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-nav.xsd
   (with props)
Modified:
    
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-content.xsd
    
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-datatypes.xsd
    
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng.xsd
    
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/java/org/apache/fop/render/intermediate/extensions/URIAction.java

Modified: 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-content.xsd
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-content.xsd?rev=739227&r1=739226&r2=739227&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-content.xsd
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-content.xsd
 Fri Jan 30 10:19:42 2009
@@ -20,15 +20,26 @@
   targetNamespace="http://xmlgraphics.apache.org/fop/intermediate";
   xmlns:mf="http://xmlgraphics.apache.org/fop/intermediate";>
   <xs:include schemaLocation="fop-intermediate-format-ng-datatypes.xsd"/>
+  <xs:import namespace="http://www.w3.org/XML/1998/namespace";
+    schemaLocation="http://www.w3.org/2001/xml.xsd"/>
   <xs:complexType name="contentType">
     <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element name="box">
+      <xs:element name="viewport">
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="mf:contentType">
               <xs:attribute name="transform" type="xs:string"/>
               <xs:attributeGroup ref="mf:sizeAtts"/>
-              <xs:attribute name="clip" type="xs:boolean" default="false"/>
+              <xs:attribute name="clip-rect" type="mf:rectangleType"/>
+            </xs:extension>
+          </xs:complexContent>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="g">
+        <xs:complexType>
+          <xs:complexContent>
+            <xs:extension base="mf:contentType">
+              <xs:attribute name="transform" type="xs:string"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
@@ -40,7 +51,7 @@
           <xs:attribute name="variant" type="mf:fontVariantType"/>
           <xs:attribute name="weight" type="mf:fontWeightType"/>
           <xs:attribute name="stretch" type="mf:fontStretchType"/>
-          <xs:attribute name="size" type="xs:positiveInteger"/>
+          <xs:attribute name="size" type="mf:lengthType"/>
           <xs:attribute name="color" type="mf:colorType"/>
         </xs:complexType>
       </xs:element>
@@ -48,50 +59,47 @@
         <xs:complexType>
           <xs:simpleContent>
             <xs:extension base="xs:string">
-              <xs:attribute name="x" use="required">
-                <xs:simpleType>
-                  <xs:list itemType="xs:integer"/>
-                </xs:simpleType>
-              </xs:attribute>
-              <xs:attribute name="y" use="required">
+              <xs:attribute name="x" use="required" type="mf:lengthType"/>
+              <xs:attribute name="y" use="required" type="mf:lengthType"/>
+              <xs:attribute name="dx">
                 <xs:simpleType>
-                  <xs:list itemType="xs:integer"/>
+                  <xs:list itemType="mf:lengthType"/>
                 </xs:simpleType>
               </xs:attribute>
+              <xs:attribute ref="xml:space"/>
             </xs:extension>
           </xs:simpleContent>
         </xs:complexType>
       </xs:element>
-      <xs:element name="clip-path">
-        <xs:complexType>
-          <xs:attribute name="d" type="mf:pathDataType" use="required"/>
-        </xs:complexType>  
-      </xs:element>
-      <xs:element name="draw-path">
+      <xs:element name="clip-rect">
         <xs:complexType>
-          <xs:attribute name="d" type="mf:pathDataType" use="required"/>
-          <xs:attributeGroup ref="mf:fillStrokeAtts"/>
+          <xs:attributeGroup ref="mf:rectAtts"/>
         </xs:complexType>
       </xs:element>
-      <xs:element name="clip-rect">
+      <xs:element name="rect">
         <xs:complexType>
           <xs:attributeGroup ref="mf:rectAtts"/>
+          <xs:attributeGroup ref="mf:fillAtts"/>
         </xs:complexType>
       </xs:element>
-      <xs:element name="draw-rect">
+      <xs:element name="line">
         <xs:complexType>
-          <xs:attributeGroup ref="mf:rectAtts"/>
-          <xs:attributeGroup ref="mf:fillStrokeAtts"/>
+          <xs:attribute name="x1" use="required" type="mf:lengthType"/>
+          <xs:attribute name="y1" use="required" type="mf:lengthType"/>
+          <xs:attribute name="x2" use="required" type="mf:lengthType"/>
+          <xs:attribute name="y2" use="required" type="mf:lengthType"/>
+          <xs:attribute name="color" use="required" type="mf:colorType"/>
+          <xs:attribute name="stroke-width" use="required" 
type="mf:lengthType"/>
+          <xs:attribute name="style" use="required" type="mf:ruleStyle"/>
         </xs:complexType>
       </xs:element>
-      <xs:element name="draw-border-line">
+      <xs:element name="border-rect">
         <xs:complexType>
-          <xs:attribute name="x1" type="xs:integer" use="required"/>
-          <xs:attribute name="y1" type="xs:integer" use="required"/>
-          <xs:attribute name="x2" type="xs:integer" use="required"/>
-          <xs:attribute name="y2" type="xs:integer" use="required"/>
-          <xs:attribute name="width" type="xs:integer" use="required"/>
-          <xs:attribute name="style" type="mf:borderStyle" default="solid"/>
+          <xs:attributeGroup ref="mf:rectAtts"/>
+          <xs:attribute name="start" type="mf:borderDef"/>
+          <xs:attribute name="end" type="mf:borderDef"/>
+          <xs:attribute name="before" type="mf:borderDef"/>
+          <xs:attribute name="after" type="mf:borderDef"/>
         </xs:complexType>
       </xs:element>
       <xs:element name="image">
@@ -100,7 +108,7 @@
             <xs:extension base="xs:anyType">
               <!-- Either use element content with any namespace or xlink:href 
-->
               <xs:attributeGroup ref="mf:rectAtts"/>
-              <xs:anyAttribute namespace="http://www.w3.org/1999/xlink"; 
processContents="skip"/>
+              <xs:attributeGroup ref="mf:foreignAtts"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
@@ -108,16 +116,25 @@
     </xs:choice>
   </xs:complexType>
   <xs:attributeGroup name="sizeAtts">
-    <xs:attribute name="width" type="xs:positiveInteger" use="required"/>
-    <xs:attribute name="height" type="xs:positiveInteger" use="required"/>
+    <xs:attribute name="width" type="mf:lengthType" use="required"/>
+    <xs:attribute name="height" type="mf:lengthType" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="posAtts">
+    <xs:attribute name="x" type="mf:lengthType" default="0"/>
+    <xs:attribute name="y" type="mf:lengthType" default="0"/>
   </xs:attributeGroup>
   <xs:attributeGroup name="rectAtts">
-    <xs:attribute name="x" type="xs:integer" default="0"/>
-    <xs:attribute name="y" type="xs:integer" default="0"/>
+    <xs:attributeGroup ref="mf:posAtts"/>
     <xs:attributeGroup ref="mf:sizeAtts"/>
   </xs:attributeGroup>
-  <xs:attributeGroup name="fillStrokeAtts">
+  <xs:attributeGroup name="fillAtts">
+    <xs:attribute name="fill" type="xs:string" default="none"/>
+  </xs:attributeGroup>
+  <!--xs:attributeGroup name="fillStrokeAtts">
     <xs:attribute name="fill" type="xs:string" default="none"/>
     <xs:attribute name="stroke" type="xs:string" default="none"/>
+  </xs:attributeGroup-->
+  <xs:attributeGroup name="foreignAtts">
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
   </xs:attributeGroup>
 </xs:schema>

Modified: 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-datatypes.xsd
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-datatypes.xsd?rev=739227&r1=739226&r2=739227&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-datatypes.xsd
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-datatypes.xsd
 Fri Jan 30 10:19:42 2009
@@ -22,8 +22,8 @@
   <xs:simpleType name="colorType">
     <xs:restriction base="xs:string"/>
   </xs:simpleType>
-  <xs:simpleType name="pathDataType">
-    <xs:restriction base="xs:string"/>
+  <xs:simpleType name="lengthType">
+    <xs:restriction base="xs:int"/>
   </xs:simpleType>
   <xs:simpleType name="fontStyleType">
     <xs:restriction base="xs:string">
@@ -77,4 +77,30 @@
       <xs:enumeration value="outset"/>
     </xs:restriction>
   </xs:simpleType>
+  <xs:simpleType name="ruleStyle">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="solid"/>
+      <xs:enumeration value="dotted"/>
+      <xs:enumeration value="dashed"/>
+      <xs:enumeration value="double"/>
+      <xs:enumeration value="groove"/>
+      <xs:enumeration value="ridge"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="borderDef">
+    <xs:restriction base="xs:string">
+      <!-- TODO refine me: \w+ will not be good enough for CMYK color, for 
example
+      <xs:pattern 
value="\((solid|dotted|dashed|double|groove|ridge|inset|outset),\w+,\d+(,collapse-(inner|outer))?"/>
+      -->
+      <xs:pattern 
value="\((solid|dotted|dashed|double|groove|ridge|inset|outset),.+)"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="lengthListType">
+    <xs:list itemType="mf:lengthType"/>
+  </xs:simpleType>
+  <xs:simpleType name="rectangleType">
+    <xs:restriction base="mf:lengthListType">
+      <xs:length value="4"/>
+    </xs:restriction>
+  </xs:simpleType>
 </xs:schema>

Added: 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-nav.xsd
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-nav.xsd?rev=739227&view=auto
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-nav.xsd
 (added)
+++ 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-nav.xsd
 Fri Jan 30 10:19:42 2009
@@ -0,0 +1,65 @@
+<?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.
+-->
+<!-- $Id$ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
+    elementFormDefault="qualified"
+    
targetNamespace="http://xmlgraphics.apache.org/fop/intermediate/document-navigation";
+    
xmlns:nav="http://xmlgraphics.apache.org/fop/intermediate/document-navigation";
+    xmlns:if="http://xmlgraphics.apache.org/fop/intermediate";>
+  <xs:import schemaLocation="fop-intermediate-format-ng-datatypes.xsd"
+    namespace="http://xmlgraphics.apache.org/fop/intermediate"/>
+  <xs:element name="link">
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:extension base="nav:actionType">
+          <xs:attribute name="rect" type="if:rectangleType"/>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:complexType name="actionType">
+    <xs:choice>
+      <xs:element ref="nav:goto-uri"/>
+      <xs:element ref="nav:goto-xy"/>
+    </xs:choice>
+  </xs:complexType>
+  <xs:element name="goto-uri">
+    <xs:complexType>
+      <xs:attributeGroup ref="nav:idAtts"/>
+      <xs:attribute name="uri" type="xs:anyURI" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="goto-xy">
+    <xs:complexType>
+      <xs:attributeGroup ref="nav:refDef"/>
+      <xs:attribute name="page-index" type="xs:int"/>
+      <xs:attributeGroup ref="nav:posAtts"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:attributeGroup name="posAtts">
+    <xs:attribute name="x" type="if:lengthType" default="0"/>
+    <xs:attribute name="y" type="if:lengthType" default="0"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="idAtts">
+    <xs:attribute name="id" type="xs:ID"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="refDef">
+    <xs:attributeGroup ref="nav:idAtts"/>
+    <xs:attribute name="idref" type="xs:IDREF"/>
+  </xs:attributeGroup>
+</xs:schema>

Propchange: 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-nav.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-nav.xsd
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng.xsd
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng.xsd?rev=739227&r1=739226&r2=739227&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng.xsd
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/documentation/intermediate-format-ng/fop-intermediate-format-ng.xsd
 Fri Jan 30 10:19:42 2009
@@ -18,15 +18,21 @@
 <!-- $Id$ -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
elementFormDefault="qualified"
   targetNamespace="http://xmlgraphics.apache.org/fop/intermediate";
-  xmlns:mf="http://xmlgraphics.apache.org/fop/intermediate";>
+  xmlns:mf="http://xmlgraphics.apache.org/fop/intermediate";
+  
xmlns:nav="http://xmlgraphics.apache.org/fop/intermediate/document-navigation";>
+  <xs:import 
namespace="http://xmlgraphics.apache.org/fop/intermediate/document-navigation";
+    schemaLocation="fop-intermediate-format-ng-nav.xsd"/>
   <xs:import namespace="adobe:ns:meta/" schemaLocation="xmp-metadata.xsd"/>
+  <xs:import 
namespace="http://xmlgraphics.apache.org/fop/intermediate/document-navigation";
+    schemaLocation="fop-intermediate-format-ng-nav.xsd"/>
   <xs:include schemaLocation="fop-intermediate-format-ng-datatypes.xsd"/>
   <xs:include schemaLocation="fop-intermediate-format-ng-content.xsd"/>
   <xs:element name="document">
     <xs:complexType>
       <xs:sequence>
         <xs:element ref="mf:header"/>
-        <xs:element ref="mf:page-sequence"/>
+        <xs:element ref="mf:page-sequence" minOccurs="1" 
maxOccurs="unbounded"/>
+        <xs:element ref="mf:trailer"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
@@ -38,6 +44,7 @@
       </xs:choice>
     </xs:complexType>
   </xs:element>
+  <xs:element name="trailer" type="mf:anyContent"/>
   <xs:element name="bookmark-tree">
     <xs:complexType>
       <xs:sequence minOccurs="1" maxOccurs="unbounded">
@@ -91,38 +98,36 @@
   <xs:element name="page-sequence">
     <xs:complexType>
       <xs:sequence>
-        <xs:element ref="mf:page"/>
+        <xs:element ref="mf:page" minOccurs="1" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute name="id" type="xs:ID"/>
+      <xs:attributeGroup ref="mf:foreignAtts"/>
     </xs:complexType>
   </xs:element>
   <xs:element name="page">
     <xs:complexType>
       <xs:sequence>
-        <xs:element name="page-header">
-          <xs:complexType>
-            <xs:choice minOccurs="1" maxOccurs="unbounded">
-              <xs:any processContents="skip"/>
-            </xs:choice>
-          </xs:complexType>
-        </xs:element>
+        <xs:element name="page-header" type="mf:anyContent"/>
         <xs:element name="content" type="mf:contentType"/>
         <xs:element name="page-trailer" minOccurs="0">
           <xs:complexType>
-            <xs:sequence>
-              <xs:element name="target" minOccurs="0" maxOccurs="unbounded">
-                <xs:complexType>
-                  <xs:attribute name="x" use="required" type="xs:integer"/>
-                  <xs:attribute name="y" use="required" type="xs:integer"/>
-                  <xs:attribute name="name" use="required" type="xs:ID"/>
-                </xs:complexType>
-              </xs:element>
-            </xs:sequence>
+            <xs:choice minOccurs="0" maxOccurs="unbounded">
+              <xs:element ref="nav:link"/>
+              <xs:element ref="nav:goto-xy"/>
+            </xs:choice>
           </xs:complexType>
         </xs:element>
       </xs:sequence>
       <xs:attribute name="index" type="xs:nonNegativeInteger" use="required"/>
       <xs:attribute name="name" type="xs:string"/>
+      <xs:attribute name="page-master-name" type="xs:string"/>
+      <xs:attributeGroup ref="mf:sizeAtts"/>
+      <xs:attributeGroup ref="mf:foreignAtts"/>
     </xs:complexType>
   </xs:element>
+  <xs:complexType name="anyContent">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:any processContents="skip"/>
+    </xs:choice>
+  </xs:complexType>
 </xs:schema>

Modified: 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/java/org/apache/fop/render/intermediate/extensions/URIAction.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/java/org/apache/fop/render/intermediate/extensions/URIAction.java?rev=739227&r1=739226&r2=739227&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/java/org/apache/fop/render/intermediate/extensions/URIAction.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/java/org/apache/fop/render/intermediate/extensions/URIAction.java
 Fri Jan 30 10:19:42 2009
@@ -83,7 +83,7 @@
 
     /** {...@inheritdoc} */
     public String getIDPrefix() {
-        return "fop:" + GOTO_URI.getLocalName();
+        return "fop-" + GOTO_URI.getLocalName();
     }
 
     /** {...@inheritdoc} */



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to