diff --git a/build.third_step0-jdk11.gradle b/build.third_step0-jdk11.gradle new file mode 100644 index 000000000..8885765cd --- /dev/null +++ b/build.third_step0-jdk11.gradle @@ -0,0 +1,117 @@ +apply plugin: 'java' +apply plugin: 'maven-publish' +def classesDir='build/classes/main' +tasks.withType(JavaCompile){ + options.encoding = 'UTF-8' + destinationDir = file(classesDir) +} + +configurations.all { + resolutionStrategy.cacheChangingModulesFor 0, 'seconds' +} +//源码版本 +sourceCompatibility=11 +//构建的class版本 +targetCompatibility=11 + + +//解压lib下的jar到classes文件夹 +version='10.0' +jar{ + baseName="fine-third" + zip64 true +} + +repositories { + mavenCentral() + maven { url "http://mvn.finedevelop.com/repository/maven-public/" } +} + + +sourceSets{ + main{ + java{ + srcDirs=[] + } + } + +} + +//获取什么分支名 +FileTree files =fileTree(dir:'./',include:'build*.gradle') +def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf (java.io.File.separator)) +def branchName=buildDir.substring(buildDir.lastIndexOf (java.io.File.separator)+1) + +def srcDir="." +def MVN_BRANCH = branchVariable.toUpperCase() + +// @branch - 分支信息 +def maven_version="${version}-${MVN_BRANCH}-SNAPSHOT" +def jar_version = version + +configurations { + thirdjar + sigar +} + +dependencies { + // thirdjar "com.fr.third:fine-third-base:10.0-BASE-SNAPSHOT" + // sigar "com.fr.third:sigar:1.6.0" + testCompile 'junit:junit:4.12' +} + + +publishing { + publications { + third(MavenPublication) { + groupId "com.fr.third" + artifactId "fine-third" + version maven_version + from components.java + } + } + repositories { + maven { + + url "http://mvn.finedevelop.com/repository/fanruan/" + credentials { + username = findProperty("NEXUS_USERNAME") + password = findProperty("NEXUS_PASSWORD") + } + + } + } +} + +task unpack(type:Copy) { + delete classesDir + destinationDir=file(classesDir) + println(configurations.thirdjar.singleFile) + // from { + // zipTree(configurations.thirdjar.singleFile) + // } + // from { + // zipTree(configurations.sigar.singleFile) + // } + from { + zipTree("fine-quartz/lib/c3p0-0.9.1.1.jar") + } + from { + zipTree("fine-spring/lib/aopalliance-1.0.jar") + } + from { + zipTree("fine-poi/lib/curvesapi-1.03.jar") + } + from { + zipTree("fine-freehep/lib/fine-font-10.0.jar") + } + fileTree(dir:"build/libs",include:"**/*.jar").each { + File file -> from { + zipTree(file) + } + } + +} + +jar.dependsOn unpack + diff --git a/build.third_step1-jdk11.gradle b/build.third_step1-jdk11.gradle index 08d34bf78..5879f42b9 100644 --- a/build.third_step1-jdk11.gradle +++ b/build.third_step1-jdk11.gradle @@ -6,9 +6,9 @@ tasks.withType(JavaCompile){ } //源码版本 -sourceCompatibility=1.7 +sourceCompatibility=11 //构建的class版本 -targetCompatibility=1.7 +targetCompatibility=11 def jarname="fine-third-10.0.jar" def classesDir='build/classes/1' diff --git a/build.third_step1.gradle b/build.third_step1.gradle index f6a97f427..bc63554c2 100644 --- a/build.third_step1.gradle +++ b/build.third_step1.gradle @@ -82,7 +82,7 @@ sourceSets{ "${srcDir}/fine-third-default/fine-sjsxp/src/main/java", "${srcDir}/fine-third-default/fine-stax/src/main/java", "${srcDir}/fine-third-default/fine-sun-jpeg/src/main/java", - "${srcDir}/fine-third-jdk8/xml-apis/src/main/java" + // "${srcDir}/fine-third-jdk8/xml-apis/src/main/java" ] } } @@ -185,7 +185,7 @@ task copyFiles(type:Copy,dependsOn:'compileJava'){ with dataContent.call("${srcDir}/fine-third-default/fine-sjsxp/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-stax/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-sun-jpeg/src/main/java") - with dataContent.call("${srcDir}/fine-third-jdk8/xml-apis/src/main/java") + // with dataContent.call("${srcDir}/fine-third-jdk8/xml-apis/src/main/java") into "${classesDir}" } } diff --git a/build.third_step2-jdk11.gradle b/build.third_step2-jdk11.gradle new file mode 100644 index 000000000..102341f25 --- /dev/null +++ b/build.third_step2-jdk11.gradle @@ -0,0 +1,130 @@ + +apply plugin: 'java' +tasks.withType(JavaCompile){ + options.encoding = 'UTF-8' + destinationDir = file('build/classes/2') +} + +//源码版本 +sourceCompatibility=11 +//构建的class版本 +targetCompatibility=11 + +def jarname="fine-third-10.0.jar" +def classesDir='build/classes/2' +//解压lib下的jar到classes文件夹 +jar{ + baseName="fine-third_2-10.0" +} + +def srcDir="." + +//设置源码路径 +sourceSets{ + main{ + java{ + srcDirs=[ + "${srcDir}/fine-bcprov-old/src/main/java", + "${srcDir}/fine-byte-buddy/src", + "${srcDir}/fine-cglib/src", + "${srcDir}/fine-commons-fileupload/src", + "${srcDir}/fine-httpcomponents/http-client/fluent-hc/src/main/java", + "${srcDir}/fine-httpcomponents/http-client/httpclient/src/main/java", + "${srcDir}/fine-httpcomponents/http-client/httpclient/src/main/java-deprecated", + "${srcDir}/fine-httpcomponents/http-client/httpclient-win/src/main/java", + "${srcDir}/fine-httpcomponents/http-client/httpmime/src/main/java", + "${srcDir}/fine-httpcomponents/http-client/httpmime/src/main/java-deprecated", + "${srcDir}/fine-httpcomponents/http-core/httpcore/src/main/java", + "${srcDir}/fine-httpcomponents/http-core/httpcore/src/main/java-deprecated", + "${srcDir}/fine-httpcomponents/http-core/httpcore-ab/src/main/java", + "${srcDir}/fine-httpcomponents/http-core/httpcore-nio/src/main/java", + "${srcDir}/fine-httpcomponents/http-core/httpcore-nio/src/main/java-deprecated", + "${srcDir}/fine-jai/src/main/java", + "${srcDir}/fine-kryo/src", + "${srcDir}/fine-log4j/src", + "${srcDir}/fine-poi/src", + "${srcDir}/fine-poi-old/src/main/java", + "${srcDir}/fine-redisson/src", + "${srcDir}/fine-xmlgraphics/xmlgraphics-batik/src/main/java", + "${srcDir}/fine-xmlgraphics/xmlgraphics-commons/src/main/java" + ] + } + } + +} + +sourceSets.main.output.classesDir = file('build/classes/2') +repositories{ + mavenCentral() + maven { url "http://mvn.finedevelop.com/repository/maven-public/" } +} + +//获取什么分支名 +FileTree files =fileTree(dir:'./',include:'build.*.gradle') +def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf (java.io.File.separator)) +def branchName=buildDir.substring(buildDir.lastIndexOf (java.io.File.separator)+1) +def MVN_BRANCH = branchVariable.toUpperCase() + +//指定依赖 +dependencies{ + compile fileTree(dir:"${srcDir}/fine-byte-buddy/lib",include:'**/*.jar') + compile fileTree(dir:"${srcDir}/fine-commons-fileupload/lib",include:'**/*.jar') + compile fileTree(dir:"${srcDir}/fine-httpcomponents/http-client/lib",include:'**/*.jar') + compile fileTree(dir:"${srcDir}/fine-httpcomponents/http-core/lib",include: '**/*.jar') + compile fileTree(dir:"${srcDir}/fine-poi/lib",include: '**/*.jar') + compile fileTree(dir:"${srcDir}/fine-poi-old/lib",include: '**/*.jar') + compile fileTree(dir:"${srcDir}/fine-redisson/lib",include: '**/*.jar') + compile fileTree(dir:"${srcDir}/fine-xmlgraphics/xmlgraphics-batik/lib",include: '**/*.jar') + compile fileTree(dir:"${srcDir}/fine-xmlgraphics/xmlgraphics-commons/lib",include: '**/*.jar') + compile fileTree(dir:"${srcDir}/build/libs/",include:'**/*.jar') + compile fileTree(dir:System.getenv("JAVA_HOME"),include:"lib/tools.jar") + compile group: "com.fr.third.server", name: "servlet-api", version: "3.0" + testCompile 'junit:junit:4.12' +} + +//指明无法编译文件所在路径 +def dataContent ={def dir -> + copySpec{ + from ("${dir}"){ + exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' + } + } + +} + + + +task copyFiles(type:Copy,dependsOn:'compileJava'){ + copy{ + println "------------------------------------------------copyfiles" + with dataContent.call("${srcDir}/fine-bcprov-old/src/main/java") + with dataContent.call("${srcDir}/fine-byte-buddy/src") + with dataContent.call("${srcDir}/fine-cglib/src") + with dataContent.call("${srcDir}/fine-cglib/resources") + with dataContent.call("${srcDir}/fine-commons-fileupload/src") + with dataContent.call("${srcDir}/fine-httpcomponents/http-client/fluent-hc/src/main/java") + with dataContent.call("${srcDir}/fine-httpcomponents/http-client/httpclient/src/main/java") + with dataContent.call("${srcDir}/fine-httpcomponents/http-client/httpclient/src/main/java-deprecated") + with dataContent.call("${srcDir}/fine-httpcomponents/http-client/httpclient-win/src/main/java") + with dataContent.call("${srcDir}/fine-httpcomponents/http-client/httpmime/src/main/java") + with dataContent.call("${srcDir}/fine-httpcomponents/http-client/httpmime/src/main/java-deprecated") + with dataContent.call("${srcDir}/fine-httpcomponents/http-core/httpcore/src/main/java") + with dataContent.call("${srcDir}/fine-httpcomponents/http-core/httpcore/src/main/java-deprecated") + with dataContent.call("${srcDir}/fine-httpcomponents/http-core/httpcore-ab/src/main/java") + with dataContent.call("${srcDir}/fine-httpcomponents/http-core/httpcore-nio/src/main/java") + with dataContent.call("${srcDir}/fine-httpcomponents/http-core/httpcore-nio/src/main/java-deprecated") + with dataContent.call("${srcDir}/fine-jai/src/main/java") + with dataContent.call("${srcDir}/fine-kryo/src") + with dataContent.call("${srcDir}/fine-log4j/src") + with dataContent.call("${srcDir}/fine-log4j/resources") + with dataContent.call("${srcDir}/fine-poi/src") + with dataContent.call("${srcDir}/fine-poi-old/src") + with dataContent.call("${srcDir}/fine-redisson/src") + with dataContent.call("${srcDir}/fine-xmlgraphics/xmlgraphics-batik/src/main/java") + with dataContent.call("${srcDir}/fine-xmlgraphics/xmlgraphics-batik/src/main/resources") + with dataContent.call("${srcDir}/fine-xmlgraphics/xmlgraphics-commons/src/main/java") + into "${classesDir}" + } +} + +jar.dependsOn copyFiles diff --git a/build.third_step3-jdk11.gradle b/build.third_step3-jdk11.gradle new file mode 100644 index 000000000..30d126db7 --- /dev/null +++ b/build.third_step3-jdk11.gradle @@ -0,0 +1,81 @@ + +apply plugin: 'java' +tasks.withType(JavaCompile){ + options.encoding = 'UTF-8' + destinationDir = file('build/classes/3') +} + +//源码版本 +sourceCompatibility=11 +//构建的class版本 +targetCompatibility=11 + +def jarname="fine-third-10.0.jar" +def classesDir='build/classes/3' +//解压lib下的jar到classes文件夹 +jar{ + baseName="fine-third_3-10.0" +} + +def srcDir="." + +//设置源码路径 +sourceSets{ + main{ + java{ + srcDirs=[ + "${srcDir}/fine-itext/src", + "${srcDir}/fine-javassist/src/main/java", + "${srcDir}/fine-jedis/src", + "${srcDir}/fine-jboss-logging/src" + ] + } + } + +} +sourceSets.main.output.classesDir = file('build/classes/3') + +repositories{ + mavenCentral() + maven { url "http://mvn.finedevelop.com/repository/maven-public/" } +} + +//获取什么分支名 +FileTree files =fileTree(dir:'./',include:'build.*.gradle') +def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf (java.io.File.separator)) +def branchName=buildDir.substring(buildDir.lastIndexOf (java.io.File.separator)+1) +def MVN_BRANCH = branchVariable.toUpperCase() + +//指定依赖 +dependencies{ + compile fileTree(dir:"${srcDir}/fine-jboss-logging/lib",include:'**/*.jar') + compile fileTree(dir:"${srcDir}/build/libs/",include:'**/*.jar') + compile fileTree(dir:System.getenv("JAVA_HOME"),include:"lib/tools.jar") + compile group: "com.fr.third.server", name: "servlet-api", version: "3.0" + testCompile 'junit:junit:4.12' +} + +//指明无法编译文件所在路径 +def dataContent ={def dir -> + copySpec{ + from ("${dir}"){ + exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' + } + } + +} + + + +task copyFiles(type:Copy,dependsOn:'compileJava'){ + copy{ + println "------------------------------------------------copyfiles" + with dataContent.call("${srcDir}/fine-itext/src") + with dataContent.call("${srcDir}/fine-javassist/src/main/java") + with dataContent.call("${srcDir}/fine-jedis/src") + with dataContent.call("${srcDir}/fine-jboss-logging/src") + into "${classesDir}" + } +} + +jar.dependsOn copyFiles diff --git a/build.third_step4-jdk11.gradle b/build.third_step4-jdk11.gradle new file mode 100644 index 000000000..bfe83ea81 --- /dev/null +++ b/build.third_step4-jdk11.gradle @@ -0,0 +1,84 @@ + +apply plugin: 'java' +tasks.withType(JavaCompile){ + options.encoding = 'UTF-8' + destinationDir = file('build/classes/4') +} + +//源码版本 +sourceCompatibility=11 +//构建的class版本 +targetCompatibility=11 + +def jarname="fine-third-10.0.jar" +def classesDir='build/classes/4' +//解压lib下的jar到classes文件夹 +jar{ + baseName="fine-third_4-10.0" +} + +def srcDir="." + +//设置源码路径 +sourceSets{ + main{ + java{ + srcDirs=[ + "${srcDir}/fine-itext-old/src", + "${srcDir}/fine-hibernate/src", + "${srcDir}/fine-spring/src" + ] + } + } + +} + +sourceSets.main.output.classesDir = file('build/classes/4') + +repositories{ + mavenCentral() + maven { url "http://mvn.finedevelop.com/repository/maven-public/" } +} + +//获取什么分支名 +FileTree files =fileTree(dir:'./',include:'build.*.gradle') +def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf (java.io.File.separator)) +def branchName=buildDir.substring(buildDir.lastIndexOf (java.io.File.separator)+1) +def MVN_BRANCH = branchVariable.toUpperCase() + +//指定依赖 +dependencies{ + compile fileTree(dir:"${srcDir}/fine-hibernate/lib",include:'**/*.jar') + compile fileTree(dir:"${srcDir}/fine-spring/lib",include:'**/*.jar') + compile fileTree(dir:"${srcDir}/build/libs/",include:'**/*.jar') + compile fileTree(dir:System.getenv("JAVA_HOME"),include:"lib/tools.jar") + compile group: "com.fr.third.server", name: "servlet-api", version: "3.0" + testCompile 'junit:junit:4.12' +} + + +//指明无法编译文件所在路径 +def dataContent ={def dir -> + copySpec{ + from ("${dir}"){ + exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' + } + } + +} + + + +task copyFiles(type:Copy,dependsOn:'compileJava'){ + copy{ + println "------------------------------------------------copyfiles" + with dataContent.call("${srcDir}/fine-itext-old/src") + with dataContent.call("${srcDir}/fine-hibernate/src") + with dataContent.call("${srcDir}/fine-hibernate/resources") + with dataContent.call("${srcDir}/fine-spring/src") + with dataContent.call("${srcDir}/fine-spring/resources") + into "${classesDir}" + } +} + +jar.dependsOn copyFiles diff --git a/build.third_step5-jdk11.gradle b/build.third_step5-jdk11.gradle new file mode 100644 index 000000000..16d85ce56 --- /dev/null +++ b/build.third_step5-jdk11.gradle @@ -0,0 +1,79 @@ + +apply plugin: 'java' +tasks.withType(JavaCompile){ + options.encoding = 'UTF-8' + destinationDir = file('build/classes/5') +} + +//源码版本 +sourceCompatibility=11 +//构建的class版本 +targetCompatibility=11 + +def jarname="fine-third-10.0.jar" +def classesDir='build/classes/5' +//解压lib下的jar到classes文件夹 +jar{ + baseName="fine-third_5-10.0" +} + +def srcDir="." + +//设置源码路径 +sourceSets{ + main{ + java{ + srcDirs=[ + "${srcDir}/fine-druid/src" + "${srcDir}/fine-socketio/src" + ] + } + } + +} +sourceSets.main.output.classesDir = file('build/classes/5') + +repositories{ + mavenCentral() + maven { url "http://mvn.finedevelop.com/repository/maven-public/" } +} + +//获取什么分支名 +FileTree files =fileTree(dir:'./',include:'build.*.gradle') +def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf (java.io.File.separator)) +def branchName=buildDir.substring(buildDir.lastIndexOf (java.io.File.separator)+1) +def MVN_BRANCH = branchVariable.toUpperCase() + +//指定依赖 +dependencies{ + compile fileTree(dir:"${srcDir}/fine-druid/lib",include:'ojdbc7-12.1.0.jar') + compile fileTree(dir:"${srcDir}/fine-druid/lib",include:'**/*.jar') + compile fileTree(dir:"${srcDir}/fine-socketio/lib",include:'**/*.jar') + compile fileTree(dir:"${srcDir}/build/libs/",include:'**/*.jar') + compile fileTree(dir:System.getenv("JAVA_HOME"),include:"lib/tools.jar") + compile group: "com.fr.third.server", name: "servlet-api", version: "3.0" + testCompile 'junit:junit:4.12' +} + +//指明无法编译文件所在路径 +def dataContent ={def dir -> + copySpec{ + from ("${dir}"){ + exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' + } + } + +} + + + +task copyFiles(type:Copy,dependsOn:'compileJava'){ + copy{ + println "------------------------------------------------copyfiles" + with dataContent.call("${srcDir}/fine-druid/src") + with dataContent.call("${srcDir}/fine-socketio/src") + into "${classesDir}" + } +} + +jar.dependsOn copyFiles diff --git a/build.third_step6-jdk11.gradle b/build.third_step6-jdk11.gradle new file mode 100644 index 000000000..72d9ebc6d --- /dev/null +++ b/build.third_step6-jdk11.gradle @@ -0,0 +1,76 @@ + +apply plugin: 'java' +tasks.withType(JavaCompile){ + options.encoding = 'UTF-8' + destinationDir = file('build/classes/6') +} + +//源码版本 +sourceCompatibility=11 +//构建的class版本 +targetCompatibility=11 + +def jarname="fine-third-10.0.jar" +def classesDir='build/classes/6' +// def ftpreport='E:/ftp/share/report/' +//解压lib下的jar到classes文件夹 +jar{ + baseName="fine-third_6-10.0" +} + +def srcDir="." + +//设置源码路径 +sourceSets{ + main{ + java{ + srcDirs=[ + "${srcDir}/fine-quartz/src" + ] + } + } + +} +sourceSets.main.output.classesDir = file('build/classes/6') + +repositories{ + mavenCentral() + maven { url "http://mvn.finedevelop.com/repository/maven-public/" } +} + +//获取什么分支名 +FileTree files =fileTree(dir:'./',include:'build*.gradle') +def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf (java.io.File.separator)) +def branchName=buildDir.substring(buildDir.lastIndexOf (java.io.File.separator)+1) +def MVN_BRANCH = branchVariable.toUpperCase() + +//指定依赖 +dependencies{ + compile fileTree(dir:"${srcDir}/fine-quartz/lib",include:'**/*.jar') + compile fileTree(dir:"${srcDir}/build/libs/",include:'**/*.jar') + compile fileTree(dir:System.getenv("JAVA_HOME"),include:"lib/tools.jar") + compile group: "com.fr.third.server", name: "servlet-api", version: "3.0" + testCompile 'junit:junit:4.12' +} + +//指明无法编译文件所在路径 +def dataContent ={def dir -> + copySpec{ + from ("${dir}"){ + exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' + } + } + +} + + + +task copyFiles(type:Copy,dependsOn:'compileJava'){ + copy{ + println "------------------------------------------------copyfiles" + with dataContent.call("${srcDir}/fine-quartz/src") + into "${classesDir}" + } +} + +jar.dependsOn copyFiles diff --git a/build.third_step7-jdk11.gradle b/build.third_step7-jdk11.gradle new file mode 100644 index 000000000..b9eb50668 --- /dev/null +++ b/build.third_step7-jdk11.gradle @@ -0,0 +1,77 @@ + +apply plugin: 'java' +tasks.withType(JavaCompile){ + options.encoding = 'UTF-8' + destinationDir = file('build/classes/7') +} + +//源码版本 +sourceCompatibility=11 +//构建的class版本 +targetCompatibility=11 + +def jarname="fine-third-10.0.jar" +def classesDir='build/classes/7' +// def ftpreport='E:/ftp/share/report/' +//解压lib下的jar到classes文件夹 +jar{ + baseName="fine-third_7-10.0" +} + +def srcDir="." + +//设置源码路径 +sourceSets{ + main{ + java{ + srcDirs=[ + "${srcDir}/fine-ehcache/src" + ] + } + } + +} +sourceSets.main.output.classesDir = file('build/classes/7') + +repositories{ + mavenCentral() + maven { url "http://mvn.finedevelop.com/repository/maven-public/" } +} + +//获取什么分支名 +FileTree files =fileTree(dir:'./',include:'build*.gradle') +def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf (java.io.File.separator)) +def branchName=buildDir.substring(buildDir.lastIndexOf (java.io.File.separator)+1) +def MVN_BRANCH = branchVariable.toUpperCase() + +//指定依赖 +dependencies{ + compile fileTree(dir:"${srcDir}/fine-ehcache/lib",include:'**/*.jar') + compile fileTree(dir:"${srcDir}/build/libs/",include:'**/*.jar') + compile fileTree(dir:System.getenv("JAVA_HOME"),include:"lib/tools.jar") + compile group: "com.fr.third.server", name: "servlet-api", version: "3.0" + testCompile 'junit:junit:4.12' +} + +//指明无法编译文件所在路径 +def dataContent ={def dir -> + copySpec{ + from ("${dir}"){ + exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' + } + } + +} + + + +task copyFiles(type:Copy,dependsOn:'compileJava'){ + copy{ + println "------------------------------------------------copyfiles" + with dataContent.call("${srcDir}/fine-ehcache/src") + with dataContent.call("${srcDir}/fine-ehcache/recources") + into "${classesDir}" + } +} + +jar.dependsOn copyFiles diff --git a/fine-xmlgraphics/xmlgraphics-batik/lib/xml-apis-1.3.04.jar b/fine-xmlgraphics/xmlgraphics-batik/lib/xml-apis-1.3.04.jar deleted file mode 100644 index d42c0ea6c..000000000 Binary files a/fine-xmlgraphics/xmlgraphics-batik/lib/xml-apis-1.3.04.jar and /dev/null differ diff --git a/fine-xmlgraphics/xmlgraphics-batik/lib/xml-apis-ext-1.3.04.jar b/fine-xmlgraphics/xmlgraphics-batik/lib/xml-apis-ext-1.3.04.jar deleted file mode 100644 index a7869d68a..000000000 Binary files a/fine-xmlgraphics/xmlgraphics-batik/lib/xml-apis-ext-1.3.04.jar and /dev/null differ diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/AttributeCondition.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/AttributeCondition.java new file mode 100644 index 000000000..8026a9baa --- /dev/null +++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/AttributeCondition.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 1999 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + * + * $Id: AttributeCondition.java 477010 2006-11-20 02:54:38Z mrglavas $ + */ +package org.w3c.css.sac; + +/** + * @version $Revision: 477010 $ + * @author Philippe Le Hegaret + * @see Condition#SAC_ATTRIBUTE_CONDITION + * @see Condition#SAC_ONE_OF_ATTRIBUTE_CONDITION + * @see Condition#SAC_BEGIN_HYPHEN_ATTRIBUTE_CONDITION + * @see Condition#SAC_ID_CONDITION + * @see Condition#SAC_CLASS_CONDITION + * @see Condition#SAC_PSEUDO_CLASS_CONDITION + */ +public interface AttributeCondition extends Condition { + + /** + * Returns the + * namespace + * URI of this attribute condition. + *
NULL
if :
+ *
NULL
if :
+ *
this attribute condition can match any attribute. + *
this attribute is a class attribute. + *
this attribute is an id attribute. + *
this attribute is a pseudo-class attribute. + *
true
if the attribute must have an explicit value
+ * in the original document, false
otherwise.
+ */
+ public boolean getSpecified();
+
+ /**
+ * Returns the value of the attribute.
+ * If this attribute is a class or a pseudo class attribute, you'll get
+ * the class name (or psedo class name) without the '.' or ':'.
+ */
+ public String getValue();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/CSSException.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/CSSException.java
new file mode 100644
index 000000000..864f5498a
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/CSSException.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 1999 World Wide Web Consortium
+ * (Massachusetts Institute of Technology, Institut National de Recherche
+ * en Informatique et en Automatique, Keio University).
+ * All Rights Reserved. http://www.w3.org/Consortium/Legal/
+ *
+ * The original version of this interface comes from SAX :
+ * http://www.megginson.com/SAX/
+ *
+ * $Id: CSSException.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * @version $Revision: 477010 $
+ * @author Philippe Le Hegaret
+ */
+public class CSSException extends RuntimeException {
+
+ protected String s;
+
+ /**
+ * this error is unspecified.
+ */
+ public static final short SAC_UNSPECIFIED_ERR = 0;
+
+ /**
+ * If the operation is not supported
+ */
+ public static final short SAC_NOT_SUPPORTED_ERR = 1;
+
+ /**
+ * If an invalid or illegal string is specified
+ */
+ public static final short SAC_SYNTAX_ERR = 2;
+
+ /*
+ * Default message for unspecified error.
+ */
+ protected static final String S_SAC_UNSPECIFIED_ERR
+ = "unknown error";
+ /*
+ * Default message for not supported error.
+ */
+ protected static final String S_SAC_NOT_SUPPORTED_ERR
+ = "not supported";
+ /*
+ * Default message for syntax error.
+ */
+ protected static final String S_SAC_SYNTAX_ERR
+ = "syntax error";
+
+ /**
+ * The internal exception.
+ */
+ protected Exception e;
+
+ protected short code;
+
+ /**
+ * Creates a new CSSException
+ */
+ public CSSException() {
+ }
+
+ /**
+ * Creates a new CSSException
+ */
+ public CSSException(String s) {
+ this.code = SAC_UNSPECIFIED_ERR;
+ this.s = s;
+ }
+
+ /**
+ * Creates a new CSSException with an embeded exception.
+ * @param a the embeded exception.
+ */
+ public CSSException(Exception e) {
+ this.code = SAC_UNSPECIFIED_ERR;
+ this.e = e;
+ }
+
+ /**
+ * Creates a new CSSException with a specific code.
+ * @param a the embeded exception.
+ */
+ public CSSException(short code) {
+ this.code = code;
+ }
+
+ /**
+ * Creates a new CSSException with an embeded exception and a specified
+ * message.
+ * @param code the specified code.
+ * @param e the embeded exception.
+ */
+ public CSSException(short code, String s, Exception e) {
+ this.code = code;
+ this.s = s;
+ this.e = e;
+ }
+
+ /**
+ * Returns the detail message of this throwable object.
+ *
+ * @return the detail message of this Throwable, or null if this Throwable
+ * does not have a detail message.
+ */
+ public String getMessage() {
+ if (s != null) {
+ return s;
+ } else if (e != null) {
+ return e.getMessage();
+ } else {
+ switch (code) {
+ case SAC_UNSPECIFIED_ERR:
+ return S_SAC_UNSPECIFIED_ERR;
+ case SAC_NOT_SUPPORTED_ERR:
+ return S_SAC_NOT_SUPPORTED_ERR;
+ case SAC_SYNTAX_ERR:
+ return S_SAC_SYNTAX_ERR;
+ default:
+ return null;
+ }
+ }
+ }
+
+ /**
+ * returns the error code for this exception.
+ */
+ public short getCode() {
+ return code;
+ }
+
+ /**
+ * Returns the internal exception if any, null otherwise.
+ */
+ public Exception getException() {
+ return e;
+ }
+
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/CSSParseException.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/CSSParseException.java
new file mode 100644
index 000000000..2e63f36ce
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/CSSParseException.java
@@ -0,0 +1,173 @@
+/*
+ * Copyright (c) 1999 World Wide Web Consortium
+ * (Massachusetts Institute of Technology, Institut National de Recherche
+ * en Informatique et en Automatique, Keio University).
+ * All Rights Reserved. http://www.w3.org/Consortium/Legal/
+ *
+ * The original version of this interface comes from SAX :
+ * http://www.megginson.com/SAX/
+ *
+ * $Id: CSSParseException.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * Encapsulate a CSS parse error or warning.
+ *
+ * This exception will include information for locating the error + * in the original CSS document. Note that although the application + * will receive a CSSParseException as the argument to the handlers + * in the ErrorHandler interface, the application is not actually + * required to throw the exception; instead, it can simply read the + * information in it and take a different action.
+ * + *Since this exception is a subclass of CSSException, it + * inherits the ability to wrap another exception.
+ * + * @version $Revision: 477010 $ + * @author Philippe Le Hegaret + */ +public class CSSParseException extends CSSException { + + private String uri; + private int lineNumber; + private int columnNumber; + + /** + * Create a new CSSParseException from a message and a Locator. + * + *This constructor is especially useful when an application is + * creating its own exception from within a DocumentHandler + * callback.
+ * + * @param message The error or warning message. + * @param locator The locator object for the error or warning. + * @see Locator + * @see Parser#setLocale + */ + public CSSParseException(String message, Locator locator) { + super(message); + this.code = SAC_SYNTAX_ERR; + this.uri = locator.getURI(); + this.lineNumber = locator.getLineNumber(); + this.columnNumber = locator.getColumnNumber(); + } + + + /** + + * Wrap an existing exception in a CSSParseException. + * + *This constructor is especially useful when an application is + * creating its own exception from within a DocumentHandler + * callback, and needs to wrap an existing exception that is not a + * subclass of CSSException.
+ * + * @param message The error or warning message, or null to + * use the message from the embedded exception. + * @param locator The locator object for the error or warning. + * @param e Any exception + * @see Locator + * @see Parser#setLocale + */ + public CSSParseException(String message, Locator locator, + Exception e) { + super(SAC_SYNTAX_ERR, message, e); + this.uri = locator.getURI(); + this.lineNumber = locator.getLineNumber(); + this.columnNumber = locator.getColumnNumber(); + } + + + /** + * Create a new CSSParseException. + * + *This constructor is most useful for parser writers.
+ * + *the parser must resolve the URI fully before creating the exception.
+ * + * @param message The error or warning message. + * @param uri The URI of the document that generated the error or warning. + * @param lineNumber The line number of the end of the text that + * caused the error or warning. + * @param columnNumber The column number of the end of the text that + * cause the error or warning. + * @see Parser#setLocale + */ + public CSSParseException(String message, String uri, + int lineNumber, int columnNumber) { + super(message); + this.code = SAC_SYNTAX_ERR; + this.uri = uri; + this.lineNumber = lineNumber; + this.columnNumber = columnNumber; + } + + /** + * Create a new CSSParseException with an embedded exception. + * + *This constructor is most useful for parser writers who + * need to wrap an exception that is not a subclass of + * CSSException.
+ * + *The parser must resolve the URI fully before creating the + * exception.
+ * + * @param message The error or warning message, or null to use + * the message from the embedded exception. + * @param uri The URI of the document that generated + * the error or warning. + * @param lineNumber The line number of the end of the text that + * caused the error or warning. + * @param columnNumber The column number of the end of the text that + * cause the error or warning. + * @param e Another exception to embed in this one. + * @see Parser#setLocale + */ + public CSSParseException(String message, String uri, + int lineNumber, int columnNumber, Exception e) { + super(SAC_SYNTAX_ERR, message, e); + this.uri = uri; + this.lineNumber = lineNumber; + this.columnNumber = columnNumber; + } + + /** + * Get the URI of the document where the exception occurred. + * + *The URI will be resolved fully.
+ * + * @return A string containing the URI, or null + * if none is available. + * @see Locator#getURI + */ + public String getURI() { + return this.uri; + } + + + /** + * The line number of the end of the text where the exception occurred. + * + * @return An integer representing the line number, or -1 + * if none is available. + * @see Locator#getLineNumber + */ + public int getLineNumber() { + return this.lineNumber; + } + + + /** + * The column number of the end of the text where the exception occurred. + * + *The first column in a line is position 1.
+ * + * @return An integer representing the column number, or -1 + * if none is available. + * @see Locator#getColumnNumber + */ + public int getColumnNumber() { + return this.columnNumber; + } +} diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/CharacterDataSelector.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/CharacterDataSelector.java new file mode 100644 index 000000000..4f5bf7cc9 --- /dev/null +++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/CharacterDataSelector.java @@ -0,0 +1,24 @@ +/* + * (c) COPYRIGHT 1999 World Wide Web Consortium + * (Massachusetts Institute of Technology, Institut National de Recherche + * en Informatique et en Automatique, Keio University). + * All Rights Reserved. http://www.w3.org/Consortium/Legal/ + * + * $Id: CharacterDataSelector.java 477010 2006-11-20 02:54:38Z mrglavas $ + */ +package org.w3c.css.sac; + +/** + * @version $Revision: 477010 $ + * @author Philippe Le Hegaret + * @see Selector#SAC_TEXT_NODE_SELECTOR + * @see Selector#SAC_CDATA_SECTION_NODE_SELECTOR + * @see Selector#SAC_COMMENT_NODE_SELECTOR + */ +public interface CharacterDataSelector extends SimpleSelector { + + /** + * Returns the character data. + */ + public String getData(); +} diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/CombinatorCondition.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/CombinatorCondition.java new file mode 100644 index 000000000..6cafac2e0 --- /dev/null +++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/CombinatorCondition.java @@ -0,0 +1,28 @@ +/* + * (c) COPYRIGHT 1999 World Wide Web Consortium + * (Massachusetts Institute of Technology, Institut National de Recherche + * en Informatique et en Automatique, Keio University). + * All Rights Reserved. http://www.w3.org/Consortium/Legal/ + * + * $Id: CombinatorCondition.java 477010 2006-11-20 02:54:38Z mrglavas $ + */ +package org.w3c.css.sac; + +/** + * @version $Revision: 477010 $ + * @author Philippe Le Hegaret + * @see Condition#SAC_AND_CONDITION + * @see Condition#SAC_OR_CONDITION + */ +public interface CombinatorCondition extends Condition { + + /** + * Returns the first condition. + */ + public Condition getFirstCondition(); + + /** + * Returns the second condition. + */ + public Condition getSecondCondition(); +} diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/Condition.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/Condition.java new file mode 100644 index 000000000..92d7c4042 --- /dev/null +++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/Condition.java @@ -0,0 +1,140 @@ +/* + * Copyright (c) 1999 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + * + * $Id: Condition.java 477010 2006-11-20 02:54:38Z mrglavas $ + */ +package org.w3c.css.sac; + +/** + * @version $Revision: 477010 $ + * @author Philippe Le Hegaret + */ +public interface Condition { + + /** + * This condition checks exactly two conditions. + * example: + *+ * .part1:lang(fr) + *+ * @see CombinatorCondition + */ + public static final short SAC_AND_CONDITION = 0; + + /** + * This condition checks one of two conditions. + * @see CombinatorCondition + */ + public static final short SAC_OR_CONDITION = 1; + + /** + * This condition checks that a condition can't be applied to a node. + * @see NegativeCondition + */ + public static final short SAC_NEGATIVE_CONDITION = 2; + + /** + * This condition checks a specified position. + * example: + *
+ * :first-child + *+ * @see PositionalCondition + */ + public static final short SAC_POSITIONAL_CONDITION = 3; + + /** + * This condition checks an attribute. + * example: + *
+ * [simple] + * [restart="never"] + *+ * @see AttributeCondition + */ + public static final short SAC_ATTRIBUTE_CONDITION = 4; + /** + * This condition checks an id attribute. + * example: + *
+ * #myId + *+ * @see AttributeCondition + */ + public static final short SAC_ID_CONDITION = 5; + /** + * This condition checks the language of the node. + * example: + *
+ * :lang(fr) + *+ * @see LangCondition + */ + public static final short SAC_LANG_CONDITION = 6; + /** + * This condition checks for a value in a space-separated values in a + * specified attribute + * example: + *
+ * [values~="10"] + *+ * @see AttributeCondition + */ + public static final short SAC_ONE_OF_ATTRIBUTE_CONDITION = 7; + /** + * This condition checks if the value is in a hypen-separated list of values + * in a specified attribute. + * example: + *
+ * [languages|="fr"] + *+ * @see AttributeCondition + */ + public static final short SAC_BEGIN_HYPHEN_ATTRIBUTE_CONDITION = 8; + /** + * This condition checks for a specified class. + * example: + *
+ * .example + *+ * @see AttributeCondition + */ + public static final short SAC_CLASS_CONDITION = 9; + /** + * This condition checks for the link pseudo class. + * example: + *
+ * :link + * :visited + * :hover + *+ * @see AttributeCondition + */ + public static final short SAC_PSEUDO_CLASS_CONDITION = 10; + /** + * This condition checks if a node is the only one in the node list. + */ + public static final short SAC_ONLY_CHILD_CONDITION = 11; + /** + * This condition checks if a node is the only one of his type. + */ + public static final short SAC_ONLY_TYPE_CONDITION = 12; + /** + * This condition checks the content of a node. + * @see ContentCondition + */ + public static final short SAC_CONTENT_CONDITION = 13; + + /** + * An integer indicating the type of
Condition
.
+ */
+ public short getConditionType();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/ConditionFactory.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/ConditionFactory.java
new file mode 100644
index 000000000..0ed996b91
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/ConditionFactory.java
@@ -0,0 +1,197 @@
+/*
+ * Copyright (c) 1999 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ *
+ * $Id: ConditionFactory.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * @version $Revision: 477010 $
+ * @author Philippe Le Hegaret
+ */
+public interface ConditionFactory {
+
+ /**
+ * Creates an and condition
+ *
+ * @param first the first condition
+ * @param second the second condition
+ * @return A combinator condition
+ * @exception CSSException if this exception is not supported.
+ */
+ CombinatorCondition createAndCondition(Condition first, Condition second)
+ throws CSSException;
+
+ /**
+ * Creates an or condition
+ *
+ * @param first the first condition
+ * @param second the second condition
+ * @return A combinator condition
+ * @exception CSSException if this exception is not supported.
+ */
+ CombinatorCondition createOrCondition(Condition first, Condition second)
+ throws CSSException;
+
+ /**
+ * Creates a negative condition
+ *
+ * @param condition the condition
+ * @return A negative condition
+ * @exception CSSException if this exception is not supported.
+ */
+ NegativeCondition createNegativeCondition(Condition condition)
+ throws CSSException;
+
+ /**
+ * Creates a positional condition
+ *
+ * @param position the position of the node in the list.
+ * @param typeNode true
if the list should contain
+ * only nodes of the same type (element, text node, ...).
+ * @param type true
true if the list should contain
+ * only nodes of the same node (for element, same localName
+ * and same namespaceURI).
+ * @return A positional condition
+ * @exception CSSException if this exception is not supported.
+ */
+ PositionalCondition createPositionalCondition(int position,
+ boolean typeNode,
+ boolean type)
+ throws CSSException;
+
+ /**
+ * Creates an attribute condition
+ *
+ * @param localName the localName of the attribute
+ * @param namespaceURI the namespace URI of the attribute
+ * @param specified true
if the attribute must be specified
+ * in the document.
+ * @param value the value of this attribute.
+ * @return An attribute condition
+ * @exception CSSException if this exception is not supported.
+ */
+ AttributeCondition createAttributeCondition(String localName,
+ String namespaceURI,
+ boolean specified,
+ String value)
+ throws CSSException;
+
+ /**
+ * Creates an id condition
+ *
+ * @param value the value of the id.
+ * @return An Id condition
+ * @exception CSSException if this exception is not supported.
+ */
+ AttributeCondition createIdCondition(String value)
+ throws CSSException;
+
+ /**
+ * Creates a lang condition
+ *
+ * @param value the value of the language.
+ * @return A lang condition
+ * @exception CSSException if this exception is not supported.
+ */
+ LangCondition createLangCondition(String lang)
+ throws CSSException;
+
+ /**
+ * Creates a "one of" attribute condition
+ *
+ * @param localName the localName of the attribute
+ * @param namespaceURI the namespace URI of the attribute
+ * @param specified true
if the attribute must be specified
+ * in the document.
+ * @param value the value of this attribute.
+ * @return A "one of" attribute condition
+ * @exception CSSException if this exception is not supported.
+ */
+ AttributeCondition createOneOfAttributeCondition(String localName,
+ String namespaceURI,
+ boolean specified,
+ String value)
+ throws CSSException;
+
+ /**
+ * Creates a "begin hyphen" attribute condition
+ *
+ * @param localName the localName of the attribute
+ * @param namespaceURI the namespace URI of the attribute
+ * @param specified true
if the attribute must be specified
+ * in the document.
+ * @param value the value of this attribute.
+ * @return A "begin hyphen" attribute condition
+ * @exception CSSException if this exception is not supported.
+ */
+ AttributeCondition createBeginHyphenAttributeCondition(String localName,
+ String namespaceURI,
+ boolean specified,
+ String value)
+ throws CSSException;
+
+ /**
+ * Creates a class condition
+ *
+ * @param localName the localName of the attribute
+ * @param namespaceURI the namespace URI of the attribute
+ * @param specified true
if the attribute must be specified
+ * in the document.
+ * @param value the name of the class.
+ * @return A class condition
+ * @exception CSSException if this exception is not supported.
+ */
+ AttributeCondition createClassCondition(String namespaceURI,
+ String value)
+ throws CSSException;
+
+ /**
+ * Creates a pseudo class condition
+ *
+ * @param namespaceURI the namespace URI of the attribute
+ * @param value the name of the pseudo class
+ * @return A pseudo class condition
+ * @exception CSSException if this exception is not supported.
+ */
+ AttributeCondition createPseudoClassCondition(String namespaceURI,
+ String value)
+ throws CSSException;
+
+ /**
+ * Creates a "only one" child condition
+ *
+ * @return A "only one" child condition
+ * @exception CSSException if this exception is not supported.
+ */
+ Condition createOnlyChildCondition() throws CSSException;
+
+
+ /**
+ * Creates a "only one" type condition
+ *
+ * @return A "only one" type condition
+ * @exception CSSException if this exception is not supported.
+ */
+ Condition createOnlyTypeCondition() throws CSSException;
+
+ /**
+ * Creates a content condition
+ *
+ * @param data the data in the content
+ * @return A content condition
+ * @exception CSSException if this exception is not supported.
+ */
+ ContentCondition createContentCondition(String data)
+ throws CSSException;
+
+
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/ConditionalSelector.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/ConditionalSelector.java
new file mode 100644
index 000000000..ccfb32915
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/ConditionalSelector.java
@@ -0,0 +1,28 @@
+/*
+ * (c) COPYRIGHT 1999 World Wide Web Consortium
+ * (Massachusetts Institute of Technology, Institut National de Recherche
+ * en Informatique et en Automatique, Keio University).
+ * All Rights Reserved. http://www.w3.org/Consortium/Legal/
+ *
+ * $Id: ConditionalSelector.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * @version $Revision: 477010 $
+ * @author Philippe Le Hegaret
+ * @see Selector#SAC_CONDITIONAL_SELECTOR
+ */
+public interface ConditionalSelector extends SimpleSelector {
+
+ /**
+ * Returns the simple selector.
+ * The simple selector can't be a ConditionalSelector
.
null
if this is the default namespace
+ * @param uri The URI for this namespace.
+ * @exception CSSException Any CSS exception, possibly wrapping another
+ * exception.
+ */
+ public void namespaceDeclaration(String prefix, String uri)
+ throws CSSException;
+
+ /**
+ * Receive notification of a import statement in the style sheet.
+ *
+ * @param uri The URI of the imported style sheet.
+ * @param media The intended destination media for style information.
+ * @param defaultNamepaceURI The default namespace URI for the imported
+ * style sheet.
+ * @exception CSSException Any CSS exception, possibly wrapping another
+ * exception.
+ */
+ public void importStyle(String uri, SACMediaList media,
+ String defaultNamespaceURI)
+ throws CSSException;
+
+ /**
+ * Receive notification of the beginning of a media statement.
+ *
+ * The Parser will invoke this method at the beginning of every media
+ * statement in the style sheet. there will be a corresponding endMedia()
+ * event for every startElement() event.
+ *
+ * @param media The intended destination media for style information.
+ * @exception CSSException Any CSS exception, possibly wrapping another
+ * exception.
+ */
+ public void startMedia(SACMediaList media) throws CSSException;
+
+ /**
+ * Receive notification of the end of a media statement.
+ *
+ * @param media The intended destination media for style information.
+ * @exception CSSException Any CSS exception, possibly wrapping another
+ * exception.
+ */
+ public void endMedia(SACMediaList media) throws CSSException;
+
+ /**
+ * Receive notification of the beginning of a page statement.
+ *
+ * The Parser will invoke this method at the beginning of every page
+ * statement in the style sheet. there will be a corresponding endPage()
+ * event for every startPage() event.
+ *
+ * @param name the name of the page (if any, null otherwise)
+ * @param pseudo_page the pseudo page (if any, null otherwise)
+ * @exception CSSException Any CSS exception, possibly wrapping another
+ * exception.
+ */
+ public void startPage(String name, String pseudo_page) throws CSSException;
+
+ /**
+ * Receive notification of the end of a media statement.
+ *
+ * @param media The intended destination medium for style information.
+ * @param pseudo_page the pseudo page (if any, null otherwise)
+ * @exception CSSException Any CSS exception, possibly wrapping another
+ * exception.
+ */
+ public void endPage(String name, String pseudo_page) throws CSSException;
+
+ /**
+ * Receive notification of the beginning of a font face statement.
+ *
+ * The Parser will invoke this method at the beginning of every font face
+ * statement in the style sheet. there will be a corresponding endFontFace()
+ * event for every startFontFace() event.
+ *
+ * @exception CSSException Any CSS exception, possibly wrapping another
+ * exception.
+ */
+ public void startFontFace() throws CSSException;
+
+ /**
+ * Receive notification of the end of a font face statement.
+ *
+ * @exception CSSException Any CSS exception, possibly wrapping another
+ * exception.
+ */
+ public void endFontFace() throws CSSException;
+
+ /**
+ * Receive notification of the beginning of a rule statement.
+ *
+ * @param selectors All intended selectors for all declarations.
+ * @exception CSSException Any CSS exception, possibly wrapping another
+ * exception.
+ */
+ public void startSelector(SelectorList selectors) throws CSSException;
+
+ /**
+ * Receive notification of the end of a rule statement.
+ *
+ * @param selectors All intended selectors for all declarations.
+ * @exception CSSException Any CSS exception, possibly wrapping another
+ * exception.
+ */
+ public void endSelector(SelectorList selectors) throws CSSException;
+
+ /**
+ * Receive notification of a declaration.
+ *
+ * @param name the name of the property.
+ * @param value the value of the property. All whitespace are stripped.
+ * @param important is this property important ?
+ * @exception CSSException Any CSS exception, possibly wrapping another
+ * exception.
+ */
+ public void property(String name, LexicalUnit value, boolean important)
+ throws CSSException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/ElementSelector.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/ElementSelector.java
new file mode 100644
index 000000000..7c06bf9f2
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/ElementSelector.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 1999 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ *
+ * $Id: ElementSelector.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * @version $Revision: 477010 $
+ * @author Philippe Le Hegaret
+ * @see Selector#SAC_ELEMENT_NODE_SELECTOR
+ */
+public interface ElementSelector extends SimpleSelector {
+
+ /**
+ * Returns the
+ * namespace
+ * URI of this element selector.
+ * NULL
if this element selector can match any namespace.
NULL
if this element selector can match any element.
If a CSS application needs to implement customized error + * handling, it must implement this interface and then register an + * instance with the CSS parser using the parser's setErrorHandler + * method. The parser will then report all errors and warnings + * through this interface.
+ * + *The parser shall use this interface instead of throwing an + * exception: it is up to the application whether to throw an + * exception for different types of errors and warnings. Note, + * however, that there is no requirement that the parser continue to + * provide useful information after a call to fatalError (in other + * words, a CSS driver class could catch an exception and report a + * fatalError).
+ * + *The HandlerBase class provides a default implementation of this + * interface, ignoring warnings and recoverable errors and throwing a + * SAXParseException for fatal errors. An application may extend + * that class rather than implementing the complete interface + * itself.
+ * + * @version $Revision: 477010 $ + * @author Philippe Le Hegaret + */ +public interface ErrorHandler { + + + /** + * Receive notification of a warning. + * + *CSS parsers will use this method to report conditions that + * are not errors or fatal errors as defined by the XML 1.0 + * recommendation. The default behaviour is to take no action.
+ * + *The CSS parser must continue to provide normal parsing events + * after invoking this method: it should still be possible for the + * application to process the document through to the end.
+ * + * @param exception The warning information encapsulated in a + * CSS parse exception. + * @exception CSSException Any CSS exception, possibly + * wrapping another exception. + * @see CSSParseException + */ + public void warning(CSSParseException exception) throws CSSException; + + /** + * Receive notification of a recoverable error. + * + *This corresponds to the definition of "error" in section 1.2 + * of the W3C XML 1.0 Recommendation. For example, a validating + * parser would use this callback to report the violation of a + * validity constraint. The default behaviour is to take no + * action.
+ * + *The CSS parser must continue to provide normal parsing events + * after invoking this method: it should still be possible for the + * application to process the document through to the end. If the + * application cannot do so, then the parser should report a fatal + * error even if the XML 1.0 recommendation does not require it to + * do so.
+ * + * @param exception The error information encapsulated in a + * CSS parse exception. + * @exception CSSException Any CSS exception, possibly + * wrapping another exception. + * @see CSSParseException + */ + public void error(CSSParseException exception) throws CSSException; + + /** + * Receive notification of a non-recoverable error. + * + *This corresponds to the definition of "fatal error" in + * section 1.2 of the W3C XML 1.0 Recommendation. For example, a + * parser would use this callback to report the violation of a + * well-formedness constraint.
+ * + *The application must assume that the document is unusable + * after the parser has invoked this method, and should continue + * (if at all) only for the sake of collecting addition error + * messages: in fact, CSS parsers are free to stop reporting any + * other events once this method has been invoked.
+ * + * @param exception The error information encapsulated in a + * CSS parse exception. + * @exception CSSException Any CSS exception, possibly + * wrapping another exception. + * @see CSSParseException + */ + public void fatalError(CSSParseException exception) throws CSSException; + +} diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/InputSource.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/InputSource.java new file mode 100644 index 000000000..3f443c3e0 --- /dev/null +++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/InputSource.java @@ -0,0 +1,258 @@ +/* + * Copyright (c) 1999 World Wide Web Consortium + * (Massachusetts Institute of Technology, Institut National de Recherche + * en Informatique et en Automatique, Keio University). + * All Rights Reserved. http://www.w3.org/Consortium/Legal/ + * + * The original version of this interface comes from SAX : + * http://www.megginson.com/SAX/ + * + * $Id: InputSource.java 477010 2006-11-20 02:54:38Z mrglavas $ + */ +package org.w3c.css.sac; + +import java.io.InputStream; +import java.io.Reader; + +/** + * A single input source for a CSS source. + * + *This class allows a CSS application to encapsulate information about an + * input source in a single object, which may include a URI, a byte stream + * (possibly with a specified encoding), and/or a character stream.
+ * + *The CSS parser will use the InputSource object to determine how + * to read CSS input. If there is a character stream available, the + * parser will read that stream directly; if not, the parser will use + * a byte stream, if available; if neither a character stream nor a + * byte stream is available, the parser will attempt to open a URI + * connection to the resource identified by the URI.
+ * + *An InputSource object belongs to the application: the CSS parser + * shall never modify it in any way (it may modify a copy if + * necessary).
+ * + * @version $Revision: 477010 $ + * @author Philippe Le Hegaret + */ +public class InputSource { + + private String uri; + private InputStream byteStream; + private String encoding; + private Reader characterStream; + private String title; + private String media; + + /** + * Zero-argument default constructor. + * + * @see #setURI + * @see #setByteStream + * @see #setCharacterStream + * @see #setEncoding + */ + public InputSource() { + } + + /** + * Create a new input source with a URI. + * + *The URI must be full resolved.
+ * + * @param uri The URI. + * @see #setURI + * @see #setByteStream + * @see #setEncoding + * @see #setCharacterStream + */ + public InputSource(String uri) { + setURI(uri); + } + + /** + * Create a new input source with a character stream. + * + *Application writers may use setURI() to provide a base + * for resolving relative URIs, and setPublicId to include a + * public identifier.
+ * + *The character stream shall not include a byte order mark.
+ * + * @see #setURI + * @see #setByteStream + * @see #setCharacterStream + */ + public InputSource(Reader characterStream) { + setCharacterStream(characterStream); + } + + /** + * Set the URI for this input source. + * + *The URI is optional if there is a byte stream or a character stream, + * but it is still useful to provide one, since the application can use it + * to resolve relative URIs and can include it in error messages and + * warnings (the parser will attempt to open a connection to the URI only + * if there is no byte stream or character stream specified).
+ * + *If the application knows the character encoding of the + * object pointed to by the URI, it can register + * the encoding using the setEncoding method.
+ * + *The URI must be fully resolved.
+ * + * @param uri The URI as a string. + * @see #setEncoding + * @see #getURI + * @see Locator#getURI + * @see CSSParseException#getURI + */ + public void setURI(String uri) { + this.uri = uri; + } + + /** + * Get the URI for this input source. + * + *The getEncoding method will return the character encoding + * of the object pointed to, or null if unknown.
+ * + *The URI will be fully resolved.
+ * + * @return The URI. + * @see #setURI + * @see #getEncoding + */ + public String getURI() { + return uri; + } + + /** + * Set the byte stream for this input source. + * + *The SAX parser will ignore this if there is also a character + * stream specified, but it will use a byte stream in preference + * to opening a URI connection itself.
+ * + *If the application knows the character encoding of the + * byte stream, it should set it with the setEncoding method.
+ * + * @param byteStream A byte stream containing an CSS document or + * other entity. + * @see #setEncoding + * @see #getByteStream + * @see #getEncoding + */ + public void setByteStream(InputStream byteStream) { + this.byteStream = byteStream; + } + + /** + * Get the byte stream for this input source. + * + *The getEncoding method will return the character + * encoding for this byte stream, or null if unknown.
+ * + * @return The byte stream, or null if none was supplied. + * @see #getEncoding + * @see #setByteStream + */ + public InputStream getByteStream() { + return byteStream; + } + + /** + * Set the character encoding, if known. + * + *The encoding must be a string acceptable for an + * CHARSET encoding declaration (see section 4.4 of the CSS + * recommendation Level 2).
+ * + *This method has no effect when the application provides a + * character stream.
+ * + * @param encoding A string describing the character encoding. + * @see #setURI + * @see #setByteStream + * @see #getEncoding + */ + public void setEncoding(String encoding) { + this.encoding = encoding; + } + + /** + * Get the character encoding for a byte stream or URI. + * + * @return The encoding, or null if none was supplied. + * @see #setByteStream + * @see #getURI + * @see #getByteStream + */ + public String getEncoding() { + return encoding; + } + + /** + * Set the character stream for this input source. + * + *If there is a character stream specified, the SAX parser + * will ignore any byte stream and will not attempt to open + * a URI connection to the URI.
+ * + * @param characterStream The character stream containing the + * CSS document or other entity. + * @see #getCharacterStream + */ + public void setCharacterStream(Reader characterStream) { + this.characterStream = characterStream; + } + + /** + * Get the character stream for this input source. + * + * @return The character stream, or null if none was supplied. + * @see #setCharacterStream + */ + public Reader getCharacterStream() { + return characterStream; + } + + /** + * Set the title for this input source. + * @param title The advisory title. See the title attribute definition + * for the LINK + * element in HTML 4.0, and the title pseudo-attribute for the XML + * style sheet processing instruction. + */ + public void setTitle(String title) { + this.title = title; + } + + /** + * Returns the title for this input source. + */ + public String getTitle() { + return title; + } + + /** + * Set the media for this input source. + * @param media A comma separated list with all media. + */ + public void setMedia(String media) { + this.media = media; + } + + /** + * Returns the media associated to the input source ornull
+ * if media are currently unknown.
+ * @return the media associated to this input source.
+ */
+ public String getMedia() {
+ if (media == null) {
+ return "all";
+ }
+ return media;
+ }
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/LangCondition.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/LangCondition.java
new file mode 100644
index 000000000..8a9a9e797
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/LangCondition.java
@@ -0,0 +1,21 @@
+/*
+ * (c) COPYRIGHT 1999 World Wide Web Consortium
+ * (Massachusetts Institute of Technology, Institut National de Recherche
+ * en Informatique et en Automatique, Keio University).
+ * All Rights Reserved. http://www.w3.org/Consortium/Legal/
+ *
+ * $Id: LangCondition.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * @version $Revision: 477010 $
+ * @author Philippe Le Hegaret
+ * @see Condition#SAC_LANG_CONDITION
+ */
+public interface LangCondition extends Condition {
+ /**
+ * Returns the language
+ */
+ public String getLang();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/LexicalUnit.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/LexicalUnit.java
new file mode 100644
index 000000000..f69d57324
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/LexicalUnit.java
@@ -0,0 +1,370 @@
+/*
+ * Copyright (c) 1999 World Wide Web Consortium
+ * (Massachusetts Institute of Technology, Institut National de Recherche
+ * en Informatique et en Automatique, Keio University).
+ * All Rights Reserved. http://www.w3.org/Consortium/Legal/
+ *
+ * $Id: LexicalUnit.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * This is a lexical unit for CSS values.
+ * Remarks: Not all the following lexical units are supported (or + * will be supported) by CSS. + *
All examples are CSS2 compliant.
+ *
+ * @version $Revision: 477010 $
+ * @author Philippe Le Hegaret
+ */
+public interface LexicalUnit {
+
+ /**
+ * ,
+ */
+ public static final short SAC_OPERATOR_COMMA = 0;
+ /**
+ * +
+ */
+ public static final short SAC_OPERATOR_PLUS = 1;
+ /**
+ * -
+ */
+ public static final short SAC_OPERATOR_MINUS = 2;
+ /**
+ * *
+ */
+ public static final short SAC_OPERATOR_MULTIPLY = 3;
+ /**
+ * /
+ */
+ public static final short SAC_OPERATOR_SLASH = 4;
+ /**
+ * %
+ */
+ public static final short SAC_OPERATOR_MOD = 5;
+ /**
+ * ^
+ */
+ public static final short SAC_OPERATOR_EXP = 6;
+ /**
+ * <
+ */
+ public static final short SAC_OPERATOR_LT = 7;
+ /**
+ * >
+ */
+ public static final short SAC_OPERATOR_GT = 8;
+ /**
+ * <=
+ */
+ public static final short SAC_OPERATOR_LE = 9;
+ /**
+ * >=
+ */
+ public static final short SAC_OPERATOR_GE = 10;
+ /**
+ * ~
+ */
+ public static final short SAC_OPERATOR_TILDE = 11;
+
+ /**
+ * identifier inherit
.
+ */
+ public static final short SAC_INHERIT = 12;
+ /**
+ * Integers.
+ * @see #getIntegerValue
+ */
+ public static final short SAC_INTEGER = 13;
+ /**
+ * reals.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_REAL = 14;
+ /**
+ * Relative lengthem
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_EM = 15;
+ /**
+ * Relative lengthex
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_EX = 16;
+ /**
+ * Relative length px
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_PIXEL = 17;
+ /**
+ * Absolute length in
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_INCH = 18;
+ /**
+ * Absolute length cm
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_CENTIMETER = 19;
+ /**
+ * Absolute length mm
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_MILLIMETER = 20;
+ /**
+ * Absolute length pt
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_POINT = 21;
+ /**
+ * Absolute length pc
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_PICA = 22;
+ /**
+ * Percentage.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_PERCENTAGE = 23;
+ /**
+ * URI: uri(...)
.
+ * @see #getStringValue
+ */
+ public static final short SAC_URI = 24;
+ /**
+ * function counter
.
+ * @see #getFunctionName
+ * @see #getParameters
+ */
+ public static final short SAC_COUNTER_FUNCTION = 25;
+ /**
+ * function counters
.
+ * @see #getFunctionName
+ * @see #getParameters
+ */
+ public static final short SAC_COUNTERS_FUNCTION = 26;
+ /**
+ * RGB Colors.
+ * rgb(0, 0, 0)
and #000
+ * @see #getFunctionName
+ * @see #getParameters
+ */
+ public static final short SAC_RGBCOLOR = 27;
+ /**
+ * Angle deg
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_DEGREE = 28;
+ /**
+ * Angle grad
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_GRADIAN = 29;
+ /**
+ * Angle rad
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_RADIAN = 30;
+ /**
+ * Time ms
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_MILLISECOND = 31;
+ /**
+ * Time s
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_SECOND = 32;
+ /**
+ * Frequency Hz
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_HERTZ = 33;
+ /**
+ * Frequency kHz
.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_KILOHERTZ = 34;
+
+ /**
+ * any identifier except inherit
.
+ * @see #getStringValue
+ */
+ public static final short SAC_IDENT = 35;
+ /**
+ * A string.
+ * @see #getStringValue
+ */
+ public static final short SAC_STRING_VALUE = 36;
+ /**
+ * Attribute: attr(...)
.
+ * @see #getStringValue
+ */
+ public static final short SAC_ATTR = 37;
+ /**
+ * function rect
.
+ * @see #getFunctionName
+ * @see #getParameters
+ */
+ public static final short SAC_RECT_FUNCTION = 38;
+ /**
+ * A unicode range. @@TO BE DEFINED
+ */
+ public static final short SAC_UNICODERANGE = 39;
+
+ /**
+ * sub expressions
+ * (a)
(a + b)
(normal/none)
+ * @see #getSubValues
+ */
+ public static final short SAC_SUB_EXPRESSION = 40;
+
+ /**
+ * unknown function.
+ * @see #getFunctionName
+ * @see #getParameters
+ */
+ public static final short SAC_FUNCTION = 41;
+ /**
+ * unknown dimension.
+ * @see #getFloatValue
+ * @see #getDimensionUnitText
+ */
+ public static final short SAC_DIMENSION = 42;
+
+ /**
+ * An integer indicating the type of LexicalUnit
.
+ */
+ public short getLexicalUnitType();
+
+ /**
+ * Returns the next value or null
if any.
+ */
+ public LexicalUnit getNextLexicalUnit();
+
+ /**
+ * Returns the previous value or null
if any.
+ */
+ public LexicalUnit getPreviousLexicalUnit();
+
+ /**
+ * Returns the integer value.
+ * @see #SAC_INTEGER
+ */
+ public int getIntegerValue();
+
+
+ /**
+ * Returns the float value.
+ *
If the type of LexicalUnit
is one of SAC_DEGREE,
+ * SAC_GRADIAN, SAC_RADIAN, SAC_MILLISECOND, SAC_SECOND, SAC_HERTZ
+ * or SAC_KILOHERTZ, the value can never be negative.
if this lexical unit represents a float, the dimension is an empty + * string.
+ * @see #SAC_REAL + * @see #SAC_DIMENSION + * @see #SAC_EM + * @see #SAC_EX + * @see #SAC_PIXEL + * @see #SAC_INCH + * @see #SAC_CENTIMETER + * @see #SAC_MILLIMETER + * @see #SAC_POINT + * @see #SAC_PICA + * @see #SAC_PERCENTAGE + * @see #SAC_DEGREE + * @see #SAC_GRADIAN + * @see #SAC_RADIAN + * @see #SAC_MILLISECOND + * @see #SAC_SECOND + * @see #SAC_HERTZ + * @see #SAC_KILOHERTZ + */ + public String getDimensionUnitText(); + + /** + * Returns the name of the function. + * @see #SAC_COUNTER_FUNCTION + * @see #SAC_COUNTERS_FUNCTION + * @see #SAC_RECT_FUNCTION + * @see #SAC_FUNCTION + * @see #SAC_RGBCOLOR + */ + public String getFunctionName(); + + /** + * The function parameters including operators (like the comma). + *#000
is converted to rgb(0, 0, 0)
+ * can return null
if SAC_FUNCTION
.
+ * @see #SAC_COUNTER_FUNCTION
+ * @see #SAC_COUNTERS_FUNCTION
+ * @see #SAC_RECT_FUNCTION
+ * @see #SAC_FUNCTION
+ * @see #SAC_RGBCOLOR
+ */
+ public LexicalUnit getParameters();
+
+ /**
+ * Returns the string value.
+ * If the type is SAC_URI
, the return value doesn't contain
+ * uri(....)
or quotes.
+ *
If the type is SAC_ATTR
, the return value doesn't contain
+ * attr(....)
.
+ *
+ * @see #SAC_URI
+ * @see #SAC_ATTR
+ * @see #SAC_IDENT
+ * @see #SAC_STRING_VALUE
+ * @see #SAC_UNICODERANGE @@TO BE DEFINED
+ */
+ public String getStringValue();
+
+ /**
+ * Returns a list of values inside the sub expression.
+ * @see #SAC_SUB_EXPRESSION
+ */
+ public LexicalUnit getSubValues();
+
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/Locator.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/Locator.java
new file mode 100644
index 000000000..8c7aad530
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/Locator.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 1999 World Wide Web Consortium
+ * (Massachusetts Institute of Technology, Institut National de Recherche
+ * en Informatique et en Automatique, Keio University).
+ * All Rights Reserved. http://www.w3.org/Consortium/Legal/
+ *
+ * The original version of this interface comes from SAX :
+ * http://www.megginson.com/SAX/
+ *
+ * $Id: Locator.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * Interface for associating a CSS event with a document location.
+ *
+ *
If a SAX parser provides location information to the SAX + * application, it does so by implementing this interface and then + * passing an instance to the application using the document + * handler's setDocumentLocator method. The application can use the + * object to obtain the location of any other document handler event + * in the CSS source document.
+ * + *Note that the results returned by the object will be valid only + * during the scope of each document handler method: the application + * will receive unpredictable results if it attempts to use the + * locator at any other time.
+ * + *CSS parsers are not required to supply a locator, but they are + * very strong encouraged to do so. If the parser supplies a + * locator, it must do so before reporting any other document events. + * If no locator has been set by the time the application receives + * the startDocument event, the application should assume that a + * locator is not available.
+ * + * @version $Revision: 477010 $ + * @author Philippe Le Hegaret + */ +public interface Locator { + + /** + * Return the URI for the current document event. + * + *The parser must resolve the URI fully before passing it to the + * application.
+ * + * @return A string containing the URI, or null + * if none is available. + */ + public String getURI(); + + /** + * Return the line number where the current document event ends. + * Note that this is the line position of the first character + * after the text associated with the document event. + * @return The line number, or -1 if none is available. + * @see #getColumnNumber + */ + public int getLineNumber(); + + /** + * Return the column number where the current document event ends. + * Note that this is the column number of the first + * character after the text associated with the document + * event. The first column in a line is position 1. + * @return The column number, or -1 if none is available. + * @see #getLineNumber + */ + public int getColumnNumber(); +} diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/NegativeCondition.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/NegativeCondition.java new file mode 100644 index 000000000..2725652ad --- /dev/null +++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/NegativeCondition.java @@ -0,0 +1,22 @@ +/* + * (c) COPYRIGHT 1999 World Wide Web Consortium + * (Massachusetts Institute of Technology, Institut National de Recherche + * en Informatique et en Automatique, Keio University). + * All Rights Reserved. http://www.w3.org/Consortium/Legal/ + * + * $Id: NegativeCondition.java 477010 2006-11-20 02:54:38Z mrglavas $ + */ +package org.w3c.css.sac; + +/** + * @version $Revision: 477010 $ + * @author Philippe Le Hegaret + * @see Condition#SAC_NEGATIVE_CONDITION + */ +public interface NegativeCondition extends Condition { + + /** + * Returns the condition. + */ + public Condition getCondition(); +} diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/NegativeSelector.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/NegativeSelector.java new file mode 100644 index 000000000..d338a289f --- /dev/null +++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/NegativeSelector.java @@ -0,0 +1,22 @@ +/* + * (c) COPYRIGHT 1999 World Wide Web Consortium + * (Massachusetts Institute of Technology, Institut National de Recherche + * en Informatique et en Automatique, Keio University). + * All Rights Reserved. http://www.w3.org/Consortium/Legal/ + * + * $Id: NegativeSelector.java 477010 2006-11-20 02:54:38Z mrglavas $ + */ +package org.w3c.css.sac; + +/** + * @version $Revision: 477010 $ + * @author Philippe Le Hegaret + * @see Selector#SAC_NEGATIVE_SELECTOR + */ +public interface NegativeSelector extends SimpleSelector { + + /** + * Returns the simple selector. + */ + public SimpleSelector getSimpleSelector(); +} diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/Parser.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/Parser.java new file mode 100644 index 000000000..0f0022d25 --- /dev/null +++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/Parser.java @@ -0,0 +1,221 @@ +/* + * Copyright (c) 1999 World Wide Web Consortium + * (Massachusetts Institute of Technology, Institut National de Recherche + * en Informatique et en Automatique, Keio University). + * All Rights Reserved. http://www.w3.org/Consortium/Legal/ + * + * The original version of this interface comes from SAX : + * http://www.megginson.com/SAX/ + * + * $Id: Parser.java 477010 2006-11-20 02:54:38Z mrglavas $ + */ +package org.w3c.css.sac; + +import java.io.IOException; +import java.util.Locale; + +/** + * Basic interface for CSS (Simple API for CSS) parsers. + * + *All CSS parsers must implement this basic interface: it allows + * applications to register handlers for different types of events + * and to initiate a parse from a URI, or a character stream.
+ * + *All CSS parsers must also implement a zero-argument constructor + * (though other constructors are also allowed).
+ * + *CSS parsers are reusable but not re-entrant: the application + * may reuse a parser object (possibly with a different input source) + * once the first parse has completed successfully, but it may not + * invoke the parse() methods recursively within a parse.
+ * + * @version $Revision: 477010 $ + * @author Philippe Le Hegaret + * @see DocumentHandler + * @see ErrorHandler + * @see InputSource + */ +public interface Parser { + + /** + * Allow an application to request a locale for errors and warnings. + * + *CSS parsers are not required to provide localisation for errors + * and warnings; if they cannot support the requested locale, + * however, they must throw a CSS exception. Applications may + * not request a locale change in the middle of a parse.
+ * + * @param locale A Java Locale object. + * @exception CSSException Throws an exception + * (using the previous or default locale) if the + * requested locale is not supported. + * @see CSSException + * @see CSSParseException + */ + public void setLocale(Locale locale) throws CSSException; + + /** + * Allow an application to register a document event handler. + * + *If the application does not register a document handler, all + * document events reported by the CSS parser will be silently + * ignored (this is the default behaviour implemented by + * HandlerBase).
+ * + *Applications may register a new or different handler in the + * middle of a parse, and the CSS parser must begin using the new + * handler immediately.
+ * + * @param handler The document handler. + * @see DocumentHandler + */ + public void setDocumentHandler(DocumentHandler handler); + + public void setSelectorFactory(SelectorFactory selectorFactory); + public void setConditionFactory(ConditionFactory conditionFactory); + + /** + * Allow an application to register an error event handler. + * + *If the application does not register an error event handler, + * all error events reported by the CSS parser will be silently + * ignored, except for fatalError, which will throw a CSSException + * (this is the default behaviour implemented by HandlerBase).
+ * + *Applications may register a new or different handler in the + * middle of a parse, and the CSS parser must begin using the new + * handler immediately.
+ * + * @param handler The error handler. + * @see ErrorHandler + * @see CSSException + */ + public void setErrorHandler(ErrorHandler handler); + + /** + * Parse a CSS document. + * + *The application can use this method to instruct the CSS parser + * to begin parsing an CSS document from any valid input + * source (a character stream, a byte stream, or a URI).
+ * + *Applications may not invoke this method while a parse is in + * progress (they should create a new Parser instead for each + * additional CSS document). Once a parse is complete, an + * application may reuse the same Parser object, possibly with a + * different input source.
+ * + * @param source The input source for the top-level of the + * CSS document. + * @exception CSSException Any CSS exception, possibly + * wrapping another exception. + * @exception IOException An IO exception from the parser, + * possibly from a byte stream or character stream + * supplied by the application. + * @see InputSource + * @see #parseStyleSheet(String) + * @see #setDocumentHandler + * @see #setErrorHandler + */ + public void parseStyleSheet(InputSource source) + throws CSSException, IOException; + + + /** + * Parse a CSS document from a URI. + * + *This method is a shortcut for the common case of reading a document + * from a URI. It is the exact equivalent of the following:
+ * + *+ * parse(new InputSource(uri)); + *+ * + *
The URI must be fully resolved by the application before it is passed + * to the parser.
+ * + * @param uri The URI. + * @exception CSSException Any CSS exception, possibly + * wrapping another exception. + * @exception IOException An IO exception from the parser, + * possibly from a byte stream or character stream + * supplied by the application. + * @see #parseStyleSheet(InputSource) + */ + public void parseStyleSheet(String uri) throws CSSException, IOException; + + /** + * Parse a CSS style declaration (without '{' and '}'). + * + * @param styleValue The declaration. + * @exception CSSException Any CSS exception, possibly + * wrapping another exception. + * @exception IOException An IO exception from the parser, + * possibly from a byte stream or character stream + * supplied by the application. + */ + public void parseStyleDeclaration(InputSource source) + throws CSSException, IOException; + + + /** + * Parse a CSS rule. + * + * @exception CSSException Any CSS exception, possibly + * wrapping another exception. + * @exception IOException An IO exception from the parser, + * possibly from a byte stream or character stream + * supplied by the application. + */ + public void parseRule(InputSource source) throws CSSException, IOException; + + /** + * Returns a string about which CSS language is supported by this + * parser. For CSS Level 1, it returns "http://www.w3.org/TR/REC-CSS1", for + * CSS Level 2, it returns "http://www.w3.org/TR/REC-CSS2". Note that a + * "CSSx" parser can return lexical unit other than those allowed by CSS + * Level x but this usage is not recommended. + */ + public String getParserVersion(); + + /** + * Parse a comma separated list of selectors. + * + * + * @exception CSSException Any CSS exception, possibly + * wrapping another exception. + * @exception IOException An IO exception from the parser, + * possibly from a byte stream or character stream + * supplied by the application. + */ + public SelectorList parseSelectors(InputSource source) + throws CSSException, IOException; + + + /** + * Parse a CSS property value. + * + * + * @exception CSSException Any CSS exception, possibly + * wrapping another exception. + * @exception IOException An IO exception from the parser, + * possibly from a byte stream or character stream + * supplied by the application. + */ + public LexicalUnit parsePropertyValue(InputSource source) + throws CSSException, IOException; + + + /** + * Parse a CSS priority value (e.g. "!important"). + * + * + * @exception CSSException Any CSS exception, possibly + * wrapping another exception. + * @exception IOException An IO exception from the parser, + * possibly from a byte stream or character stream + * supplied by the application. + */ + public boolean parsePriority(InputSource source) + throws CSSException, IOException; +} diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/PositionalCondition.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/PositionalCondition.java new file mode 100644 index 000000000..98b9ebd32 --- /dev/null +++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/PositionalCondition.java @@ -0,0 +1,36 @@ +/* + * (c) COPYRIGHT 1999 World Wide Web Consortium + * (Massachusetts Institute of Technology, Institut National de Recherche + * en Informatique et en Automatique, Keio University). + * All Rights Reserved. http://www.w3.org/Consortium/Legal/ + * + * $Id: PositionalCondition.java 477010 2006-11-20 02:54:38Z mrglavas $ + */ +package org.w3c.css.sac; + +/** + * @version $Revision: 477010 $ + * @author Philippe Le Hegaret + * @see Condition#SAC_POSITIONAL_CONDITION + */ +public interface PositionalCondition extends Condition { + + /** + * Returns the position in the tree. + *A negative value means from the end of the child node list. + *
The child node list begins at 0.
+ */
+ public int getPosition();
+
+ /**
+ * true
if the child node list only shows nodes of the same
+ * type of the selector (only elements, only PIS, ...)
+ */
+ public boolean getTypeNode();
+
+ /**
+ * true
if the node should have the same node type (for
+ * element, same namespaceURI and same localName).
+ */
+ public boolean getType();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/ProcessingInstructionSelector.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/ProcessingInstructionSelector.java
new file mode 100644
index 000000000..210f8c780
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/ProcessingInstructionSelector.java
@@ -0,0 +1,31 @@
+/*
+ * (c) COPYRIGHT 1999 World Wide Web Consortium
+ * (Massachusetts Institute of Technology, Institut National de Recherche
+ * en Informatique et en Automatique, Keio University).
+ * All Rights Reserved. http://www.w3.org/Consortium/Legal/
+ *
+ * $Id: ProcessingInstructionSelector.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * This simple matches a
+ * processing instruction.
+ *
+ * @version $Revision: 477010 $
+ * @author Philippe Le Hegaret
+ * @see Selector#SAC_PROCESSING_INSTRUCTION_NODE_SELECTOR
+ */
+public interface ProcessingInstructionSelector extends SimpleSelector {
+
+ /**
+ * Returns the target
+ * of the processing instruction.
+ */
+ public String getTarget();
+
+ /**
+ * Returns the character data.
+ */
+ public String getData();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SACMediaList.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SACMediaList.java
new file mode 100644
index 000000000..103d574db
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SACMediaList.java
@@ -0,0 +1,27 @@
+/*
+ * (c) COPYRIGHT 1999 World Wide Web Consortium
+ * (Massachusetts Institute of Technology, Institut National de Recherche
+ * en Informatique et en Automatique, Keio University).
+ * All Rights Reserved. http://www.w3.org/Consortium/Legal/
+ *
+ * $Id: SACMediaList.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * @version $Revision: 477010 $
+ * @author Philippe Le Hegaret
+ */
+public interface SACMediaList {
+
+ /**
+ * Returns the length of this media list
+ */
+ public int getLength();
+
+ /**
+ * Returns the medium at the specified index, or null
if this
+ * is not a valid index.
+ */
+ public String item(int index);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/Selector.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/Selector.java
new file mode 100644
index 000000000..c4d4fc562
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/Selector.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 1999 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ *
+ * $Id: Selector.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * This interface defines a selector.
+ *
Remarks: Not all the following selectors are supported (or will be + * supported) by CSS. + *
All examples are CSS2 compliant. + * + * @version $Revision: 477010 $ + * @author Philippe Le Hegaret + */ +public interface Selector { + + /* simple selectors */ + + /** + * This is a conditional selector. + * example: + *
+ * simple[role="private"] + * .part1 + * H1#myId + * P:lang(fr).p1 + *+ * + * @see ConditionalSelector + */ + public static final short SAC_CONDITIONAL_SELECTOR = 0; + + /** + * This selector matches any node. + * @see SimpleSelector + */ + public static final short SAC_ANY_NODE_SELECTOR = 1; + + /** + * This selector matches the root node. + * @see SimpleSelector + */ + public static final short SAC_ROOT_NODE_SELECTOR = 2; + + /** + * This selector matches only node that are different from a specified one. + * @see NegativeSelector + */ + public static final short SAC_NEGATIVE_SELECTOR = 3; + + /** + * This selector matches only element node. + * example: + *
+ * H1 + * animate + *+ * @see ElementSelector + */ + public static final short SAC_ELEMENT_NODE_SELECTOR = 4; + + /** + * This selector matches only text node. + * @see CharacterDataSelector + */ + public static final short SAC_TEXT_NODE_SELECTOR = 5; + + /** + * This selector matches only cdata node. + * @see CharacterDataSelector + */ + public static final short SAC_CDATA_SECTION_NODE_SELECTOR = 6; + + /** + * This selector matches only processing instruction node. + * @see ProcessingInstructionSelector + */ + public static final short SAC_PROCESSING_INSTRUCTION_NODE_SELECTOR = 7; + + /** + * This selector matches only comment node. + * @see CharacterDataSelector + */ + public static final short SAC_COMMENT_NODE_SELECTOR = 8; + /** + * This selector matches the 'first line' pseudo element. + * example: + *
+ * :first-line + *+ * @see ElementSelector + */ + public static final short SAC_PSEUDO_ELEMENT_SELECTOR = 9; + + /* combinator selectors */ + + /** + * This selector matches an arbitrary descendant of some ancestor element. + * example: + *
+ * E F + *+ * @see DescendantSelector + */ + public static final short SAC_DESCENDANT_SELECTOR = 10; + + /** + * This selector matches a childhood relationship between two elements. + * example: + *
+ * E > F + *+ * @see DescendantSelector + */ + public static final short SAC_CHILD_SELECTOR = 11; + /** + * This selector matches two selectors who shared the same parent in the + * document tree and the element represented by the first sequence + * immediately precedes the element represented by the second one. + * example: + *
+ * E + F + *+ * @see SiblingSelector + */ + public static final short SAC_DIRECT_ADJACENT_SELECTOR = 12; + + /** + * An integer indicating the type of
Selector
+ */
+ public short getSelectorType();
+
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SelectorFactory.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SelectorFactory.java
new file mode 100644
index 000000000..46738ecdd
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SelectorFactory.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright (c) 1999 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ *
+ * $Id: SelectorFactory.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * @version $Revision: 477010 $
+ * @author Philippe Le Hegaret
+ * @see org.w3c.css.sac.Selector
+ */
+public interface SelectorFactory {
+
+ /**
+ * Creates a conditional selector.
+ *
+ * @param selector a selector.
+ * @param condition a condition
+ * @return the conditional selector.
+ * @exception CSSException If this selector is not supported.
+ */
+ ConditionalSelector createConditionalSelector(SimpleSelector selector,
+ Condition condition)
+ throws CSSException;
+
+ /**
+ * Creates an any node selector.
+ *
+ * @return the any node selector.
+ * @exception CSSException If this selector is not supported.
+ */
+ SimpleSelector createAnyNodeSelector() throws CSSException;
+
+ /**
+ * Creates an root node selector.
+ *
+ * @return the root node selector.
+ * @exception CSSException If this selector is not supported.
+ */
+ SimpleSelector createRootNodeSelector() throws CSSException;
+
+ /**
+ * Creates an negative selector.
+ *
+ * @param selector a selector.
+ * @return the negative selector.
+ * @exception CSSException If this selector is not supported.
+ */
+ NegativeSelector createNegativeSelector(SimpleSelector selector)
+ throws CSSException;
+
+ /**
+ * Creates an element selector.
+ *
+ * @param namespaceURI the namespace
+ * URI of the element selector.
+ * @param tagName the local
+ * part of the element name. NULL
if this element
+ * selector can match any element.
+ * @return the element selector
+ * @exception CSSException If this selector is not supported.
+ */
+ ElementSelector createElementSelector(String namespaceURI, String tagName)
+ throws CSSException;
+
+ /**
+ * Creates a text node selector.
+ *
+ * @param data the data
+ * @return the text node selector
+ * @exception CSSException If this selector is not supported.
+ */
+ CharacterDataSelector createTextNodeSelector(String data)
+ throws CSSException;
+
+ /**
+ * Creates a cdata section node selector.
+ *
+ * @param data the data
+ * @return the cdata section node selector
+ * @exception CSSException If this selector is not supported.
+ */
+ CharacterDataSelector createCDataSectionSelector(String data)
+ throws CSSException;
+
+ /**
+ * Creates a processing instruction node selector.
+ *
+ * @param target the target
+ * @param data the data
+ * @return the processing instruction node selector
+ * @exception CSSException If this selector is not supported.
+ */
+ ProcessingInstructionSelector
+ createProcessingInstructionSelector(String target,
+ String data)
+ throws CSSException;
+
+ /**
+ * Creates a comment node selector.
+ *
+ * @param data the data
+ * @return the comment node selector
+ * @exception CSSException If this selector is not supported.
+ */
+ CharacterDataSelector createCommentSelector(String data)
+ throws CSSException;
+
+ /**
+ * Creates a pseudo element selector.
+ *
+ * @param pseudoName the pseudo element name. NULL
if this
+ * element selector can match any pseudo element.
+ * @return the element selector
+ * @exception CSSException If this selector is not supported.
+ */
+ ElementSelector createPseudoElementSelector(String namespaceURI,
+ String pseudoName)
+ throws CSSException;
+
+ /**
+ * Creates a descendant selector.
+ *
+ * @param parent the parent selector
+ * @param descendant the descendant selector
+ * @return the combinator selector.
+ * @exception CSSException If this selector is not supported.
+ */
+ DescendantSelector createDescendantSelector(Selector parent,
+ SimpleSelector descendant)
+ throws CSSException;
+
+ /**
+ * Creates a child selector.
+ *
+ * @param parent the parent selector
+ * @param child the child selector
+ * @return the combinator selector.
+ * @exception CSSException If this selector is not supported.
+ */
+ DescendantSelector createChildSelector(Selector parent,
+ SimpleSelector child)
+ throws CSSException;
+
+ /**
+ * Creates a sibling selector.
+ *
+ * @param nodeType the type of nodes in the siblings list.
+ * @param child the child selector
+ * @param adjacent the direct adjacent selector
+ * @return the sibling selector with nodeType
+ equals to org.w3c.dom.Node.ELEMENT_NODE
+ * @exception CSSException If this selector is not supported.
+ */
+ SiblingSelector createDirectAdjacentSelector(short nodeType,
+ Selector child,
+ SimpleSelector directAdjacent)
+ throws CSSException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SelectorList.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SelectorList.java
new file mode 100644
index 000000000..ffd229656
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SelectorList.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 1999 World Wide Web Consortium
+ * (Massachusetts Institute of Technology, Institut National de Recherche
+ * en Informatique et en Automatique, Keio University).
+ * All Rights Reserved. http://www.w3.org/Consortium/Legal/
+ *
+ * $Id: SelectorList.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * The SelectorList interface provides the abstraction of an ordered collection
+ * of selectors, without defining or constraining how this collection is
+ * implemented.
+ *
+ * @version $Revision: 477010 $
+ * @author Philippe Le Hegaret
+ */
+public interface SelectorList {
+
+ /**
+ * Returns the length of this selector list
+ */
+ public int getLength();
+
+ /**
+ * Returns the selector at the specified index, or null
if this
+ * is not a valid index.
+ */
+ public Selector item(int index);
+}
+
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SiblingSelector.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SiblingSelector.java
new file mode 100644
index 000000000..fe007963e
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SiblingSelector.java
@@ -0,0 +1,36 @@
+/*
+ * (c) COPYRIGHT 1999 World Wide Web Consortium
+ * (Massachusetts Institute of Technology, Institut National de Recherche
+ * en Informatique et en Automatique, Keio University).
+ * All Rights Reserved. http://www.w3.org/Consortium/Legal/
+ *
+ * $Id: SiblingSelector.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * @version $Revision: 477010 $
+ * @author Philippe Le Hegaret
+ * @see Selector#SAC_DIRECT_ADJACENT_SELECTOR
+ */
+public interface SiblingSelector extends Selector {
+
+ public static final short ANY_NODE = 201;
+
+ /**
+ * The node type to considered in the siblings list.
+ * All DOM node types are supported. In order to support the "any" node
+ * type, the code ANY_NODE is added to the DOM node types.
+ */
+ public short getNodeType();
+
+ /**
+ * Returns the first selector.
+ */
+ public Selector getSelector();
+
+ /*
+ * Returns the second selector.
+ */
+ public SimpleSelector getSiblingSelector();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SimpleSelector.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SimpleSelector.java
new file mode 100644
index 000000000..8d7d09c8d
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/css/sac/SimpleSelector.java
@@ -0,0 +1,21 @@
+/*
+ * (c) COPYRIGHT 1999 World Wide Web Consortium
+ * (Massachusetts Institute of Technology, Institut National de Recherche
+ * en Informatique et en Automatique, Keio University).
+ * All Rights Reserved. http://www.w3.org/Consortium/Legal/
+ *
+ * $Id: SimpleSelector.java 477010 2006-11-20 02:54:38Z mrglavas $
+ */
+package org.w3c.css.sac;
+
+/**
+ * This interface is only for constraints on selectors.
+ *
+ * A ConditionalSelector
can only accept a simple selector or a
+ * negative selector.
ElementTraversal
interface is a set of read-only attributes
+ * which allow an author to easily navigate between elements in a document.
+ * In conforming implementations of Element Traversal, all objects that
+ * implement {@link Element} must also implement the
+ * ElementTraversal
interface. Four of the methods,
+ * {@link #getFirstElementChild}, {@link #getLastElementChild},
+ * {@link #getPreviousElementSibling}, and {@link #getNextElementSibling},
+ * each return a live reference to another element with the defined
+ * relationship to the current element, if the related element exists. The
+ * fifth method, {@link #getChildElementCount}, exposes the number of child
+ * elements of an element, for preprocessing before navigation.
+ *
See also the
+ * Element Traversal Specification.
+ */
+public interface ElementTraversal {
+
+ /**
+ * Returns the first child element node of this element. null
+ * if this element has no child elements.
+ */
+ Element getFirstElementChild();
+
+ /**
+ * Returns the last child element node of this element. null
+ * if this element has no child elements.
+ */
+ Element getLastElementChild();
+
+ /**
+ * Returns the previous sibling element node of this element.
+ * null
if this element has no element sibling nodes that
+ * come before this one in the document tree.
+ */
+ Element getPreviousElementSibling();
+
+ /**
+ * Returns the next sibling element node of this element.
+ * null
if this element has no element sibling nodes that
+ * come after this one in the document tree.
+ */
+ Element getNextElementSibling();
+
+ /**
+ * Returns the current number of element nodes that are children of this
+ * element. 0
if this element has no child nodes that are of
+ * nodeType
1
.
+ */
+ int getChildElementCount();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/smil/ElementTimeControl.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/smil/ElementTimeControl.java
new file mode 100644
index 000000000..fe6ae4ee1
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/smil/ElementTimeControl.java
@@ -0,0 +1,184 @@
+/*
+ * Copyright (c) 2001 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ *
+ */
+package org.w3c.dom.smil;
+
+import org.w3c.dom.DOMException;
+
+/**
+ *
SMILAnimation
+ * supports several methods for controlling the behavior of animation:
+ * beginElement()
and endElement()
, et al. These
+ * methods are used to begin and end an animation that has declared the timing
+ * to respond to the DOM, using the following syntax:
<animate begin="indefinite" end="indefinite" .../>+ * + *
Note that only one of begin
or end
need be
+ * specified - either or both can be used. The beginElement()
+ * and beginElementAt()
methods must do nothing if the animation
+ * is not explicitly set with the begin="indefinite"
syntax
+ * above. The endElement()
and endElementAt()
+ * methods must do nothing if the animation is not explicitly set with the
+ * end
="indefinite"
syntax above.
Calling beginElement()
causes the animation to begin in much
+ * the same way that an animation with event-based begin timing begins. The
+ * effective begin time is the current presentation time at the time of the DOM
+ * method call. Note that beginElement()
is subject to the
+ * restart
attribute in the same manner that event-based begin
+ * timing is. If an animation is specified to disallow restarting at a given
+ * point, beginElement()
methods calls must fail. Refer also to
+ * the section Restarting
+ * animations.
Calling beginElementAt()
has the same effect as
+ * beginElement()
, except that the effective begin time is offset
+ * from the current presentation time by an amount specified as a parameter.
+ * Passing a negative value for the offset causes the element to begin as for
+ * beginElement()
, but has the effect that the element begins at
+ * the specified offset into its active duration. The
+ * beginElementAt()
method must also respect the
+ * restart
attribute. The restart semantics for a
+ * beginElementAt()
method call are evaluated at the time of the
+ * method call, and not at the effective begin time specified by the offset
+ * parameter.
Calling endElement()
causes an animation to end the active
+ * duration, just as end
does. Depending upon the value of the
+ * fill
attribute, the animation effect may no longer be applied,
+ * or it may be frozen at the current effect. Refer also to the section Freezing animations. If an animation is not currently
+ * active (i.e. if it has not yet begun or if it is frozen), the
+ * endElement()
method will fail.
Calling endElementAt()
causes an animation to end the active
+ * duration, just as endElement()
does, but allows the caller to
+ * specify a positive offset, to cause the element to end at a point in the
+ * future. Other than delaying when the end actually happens, the semantics are
+ * identical to those for endElement()
. If
+ * endElementAt()
is called more than once while an element is
+ * active, the end time specified by the last method call will determine the
+ * end behavior.
The expectation of the following interface is that an instance of the
+ * ElementTimeControl interface can be obtained by using binding-specific
+ * casting methods on an instance of an animate element. A DOM application can
+ * use the hasFeature
method of the DOMImplementation
+ * interface to determine whether the ElementTimeControl
interface is
+ * supported or not. The feature string for this interface is
+ * "TimeControl"
.
true
if the method call was successful and the
+ * element was begun. false
if the method call
+ * failed. Possible reasons for failure include:
+ * beginElement
+ * method. The begin
attribute is not set to
+ * "indefinite"
.restart
attribute is set to
+ * "whenNotActive"
.restart
attribute is set to
+ * "never"
.SYNTAX_ERR
: The element was not defined
+ * with the appropriate syntax to allow beginElement
calls.
+ */
+ public boolean beginElement()
+ throws DOMException;
+
+ /**
+ * Causes this element to begin the local timeline (subject to restart
+ * constraints), at the passed offset from the current time when the method
+ * is called. If the offset is >= 0, the semantics are equivalent to an
+ * event-base begin with the specified offset. If the offset is < 0, the
+ * semantics are equivalent to beginElement(), but the element active
+ * duration is evaluated as though the element had begun at the passed
+ * (negative) offset from the current time when the method is called.
+ *
+ * @param offset The offset in seconds at which to begin the element.
+ * @return true
if the method call was successful and the element was begun.
+ * false
if the method call failed.
+ * Possible reasons for failure include:
+ * beginElementAt
method. The
+ * begin
attribute is not set to
+ * "indefinite"
.restart
attribute is set to
+ * "whenNotActive"
.restart
+ * attribute is set to "never"
.beginElementAt
calls.
+ */
+ public boolean beginElementAt(float offset)
+ throws DOMException;
+
+ /**
+ * Causes this element to end the local timeline.
+ *
+ * @return true
if the method call was
+ * successful and the element was ended.
+ * false
if method call failed. Possible
+ * reasons for failure include:
+ * endElement
method. The
+ * end
attribute is not set to
+ * "indefinite"
.endElement
+ * calls.
+ */
+ public boolean endElement()
+ throws DOMException;
+
+ /**
+ * Causes this element to end the local timeline at the specified offset
+ * from the current time when the method is called
+ *
+ * @param offset The offset in seconds at which to end the element.
+ * Must be >= 0
.
+ * @return true
if the method call was
+ * successful and the element was ended.
+ * false
if method call failed. Possible
+ * reasons for failure include:
+ * endElementAt
method. The
+ * end
attribute is not set to
+ * "indefinite"
.endElementAt
calls.
+ */
+ public boolean endElementAt(float offset)
+ throws DOMException;
+
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/smil/TimeEvent.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/smil/TimeEvent.java
new file mode 100644
index 000000000..1a2c5d241
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/smil/TimeEvent.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2001 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+package org.w3c.dom.smil;
+
+import org.w3c.dom.events.Event;
+import org.w3c.dom.views.AbstractView;
+
+/**
+ * The TimeEvent
interface provides specific contextual
+ * information associated with Time events.
+ *
+ * @see SMIL Animation.
+ */
+public interface TimeEvent extends Event {
+
+ /**
+ * The view
attribute identifies the AbstractView
+ * from which the event was generated.
+ */
+ public AbstractView getView();
+
+ /**
+ * Specifies some detail information about the Event
,
+ * depending on the type of event.
+ */
+ public int getDetail();
+
+ /**
+ * The initTimeEvent
method is used to initialize the value of
+ * a TimeEvent
created through the DocumentEvent
+ * interface. This method may only be called before the
+ * TimeEvent
has been dispatched via the
+ * dispatchEvent
method, though it may be called multiple
+ * times during that phase if necessary. If called multiple times, the
+ * final invocation takes precedence.
+ *
+ * The different types of events that can occur are:
+ * + *
+ * beginElement()
or beginElementAt()
methods. Note
+ * that if an element is restarted while it is currently playing, the
+ * element will raise an end event and another begin event, as the element
+ * restarts.
+ * endElement()
or
+ * endElementAt()
methods. Note that if an element is restarted
+ * while it is currently playing, the element will raise an end event and
+ * another begin event, as the element restarts.
+ * Event
's
+ * AbstractView
.
+ * @param detailArg Specifies the Event
's detail. */
+ public void initTimeEvent(String typeArg,
+ AbstractView viewArg,
+ int detailArg);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/EventListenerInitializer.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/EventListenerInitializer.java
new file mode 100644
index 000000000..8f95cdc52
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/EventListenerInitializer.java
@@ -0,0 +1,45 @@
+/*
+
+ 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.
+
+ */
+package org.w3c.dom.svg;
+
+/**
+ * This interface must be implemented in order to call Java code from
+ * an SVG document.
+ *
+ * A EventListenerInitializer
instance is called when
+ * a 'script' element's 'type' attribute value is 'application/java-archive' and when
+ * the manifest of the jar file referenced by the 'xlink:href' attribute contains
+ * a 'SVG-Handler-Class' entry. The value of this entry must be the classname of the
+ * EventListenerInitializer
to call.
+ *
+ * This classes implementing this interface must have a default
+ * constructor.
+ *
+ * @version $Id: EventListenerInitializer.java 477018 2006-11-20 03:24:32Z mrglavas $
+ */
+public interface EventListenerInitializer {
+
+ /**
+ * This method is called by the SVG viewer
+ * when the scripts are loaded to register
+ * the listener needed.
+ * @param doc The current document.
+ */
+ public void initializeEventListeners(SVGDocument doc);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/GetSVGDocument.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/GetSVGDocument.java
new file mode 100644
index 000000000..91b05fba2
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/GetSVGDocument.java
@@ -0,0 +1,9 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface GetSVGDocument {
+ public SVGDocument getSVGDocument()
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAElement.java
new file mode 100644
index 000000000..965663dc4
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAElement.java
@@ -0,0 +1,16 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGAElement extends
+ SVGElement,
+ SVGURIReference,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget {
+ public SVGAnimatedString getTarget();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAltGlyphDefElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAltGlyphDefElement.java
new file mode 100644
index 000000000..c8e4d2dd0
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAltGlyphDefElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAltGlyphDefElement extends
+ SVGElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAltGlyphElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAltGlyphElement.java
new file mode 100644
index 000000000..cdcac490a
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAltGlyphElement.java
@@ -0,0 +1,15 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGAltGlyphElement extends
+ SVGTextPositioningElement,
+ SVGURIReference {
+ public String getGlyphRef();
+ public void setGlyphRef(String glyphRef)
+ throws DOMException;
+ public String getFormat();
+ public void setFormat(String format)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAltGlyphItemElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAltGlyphItemElement.java
new file mode 100644
index 000000000..93c01b3d5
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAltGlyphItemElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAltGlyphItemElement extends
+ SVGElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAngle.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAngle.java
new file mode 100644
index 000000000..5654483ee
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAngle.java
@@ -0,0 +1,27 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGAngle {
+ // Angle Unit Types
+ public static final short SVG_ANGLETYPE_UNKNOWN = 0;
+ public static final short SVG_ANGLETYPE_UNSPECIFIED = 1;
+ public static final short SVG_ANGLETYPE_DEG = 2;
+ public static final short SVG_ANGLETYPE_RAD = 3;
+ public static final short SVG_ANGLETYPE_GRAD = 4;
+
+ public short getUnitType();
+ public float getValue();
+ public void setValue(float value)
+ throws DOMException;
+ public float getValueInSpecifiedUnits();
+ public void setValueInSpecifiedUnits(float valueInSpecifiedUnits)
+ throws DOMException;
+ public String getValueAsString();
+ public void setValueAsString(String valueAsString)
+ throws DOMException;
+
+ public void newValueSpecifiedUnits(short unitType, float valueInSpecifiedUnits);
+ public void convertToSpecifiedUnits(short unitType);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimateColorElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimateColorElement.java
new file mode 100644
index 000000000..9efb69aab
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimateColorElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAnimateColorElement extends
+ SVGAnimationElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimateElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimateElement.java
new file mode 100644
index 000000000..4d365b257
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimateElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAnimateElement extends
+ SVGAnimationElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimateMotionElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimateMotionElement.java
new file mode 100644
index 000000000..a06728dde
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimateMotionElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAnimateMotionElement extends
+ SVGAnimationElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimateTransformElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimateTransformElement.java
new file mode 100644
index 000000000..1f4ac36cd
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimateTransformElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAnimateTransformElement extends
+ SVGAnimationElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedAngle.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedAngle.java
new file mode 100644
index 000000000..386cf67d8
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedAngle.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAnimatedAngle {
+ public SVGAngle getBaseVal();
+ public SVGAngle getAnimVal();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedBoolean.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedBoolean.java
new file mode 100644
index 000000000..d48f51769
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedBoolean.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGAnimatedBoolean {
+ public boolean getBaseVal();
+ public void setBaseVal(boolean baseVal)
+ throws DOMException;
+ public boolean getAnimVal();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedEnumeration.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedEnumeration.java
new file mode 100644
index 000000000..dfd56f8c1
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedEnumeration.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGAnimatedEnumeration {
+ public short getBaseVal();
+ public void setBaseVal(short baseVal)
+ throws DOMException;
+ public short getAnimVal();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedInteger.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedInteger.java
new file mode 100644
index 000000000..1c58fa6fc
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedInteger.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGAnimatedInteger {
+ public int getBaseVal();
+ public void setBaseVal(int baseVal)
+ throws DOMException;
+ public int getAnimVal();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedLength.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedLength.java
new file mode 100644
index 000000000..8372eeb1e
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedLength.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAnimatedLength {
+ public SVGLength getBaseVal();
+ public SVGLength getAnimVal();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedLengthList.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedLengthList.java
new file mode 100644
index 000000000..0680973d6
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedLengthList.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAnimatedLengthList {
+ public SVGLengthList getBaseVal();
+ public SVGLengthList getAnimVal();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedNumber.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedNumber.java
new file mode 100644
index 000000000..b73acccbd
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedNumber.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGAnimatedNumber {
+ public float getBaseVal();
+ public void setBaseVal(float baseVal)
+ throws DOMException;
+ public float getAnimVal();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedNumberList.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedNumberList.java
new file mode 100644
index 000000000..b6a8a32dd
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedNumberList.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAnimatedNumberList {
+ public SVGNumberList getBaseVal();
+ public SVGNumberList getAnimVal();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedPathData.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedPathData.java
new file mode 100644
index 000000000..6669517f9
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedPathData.java
@@ -0,0 +1,9 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAnimatedPathData {
+ public SVGPathSegList getPathSegList();
+ public SVGPathSegList getNormalizedPathSegList();
+ public SVGPathSegList getAnimatedPathSegList();
+ public SVGPathSegList getAnimatedNormalizedPathSegList();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedPoints.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedPoints.java
new file mode 100644
index 000000000..8973c7147
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedPoints.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAnimatedPoints {
+ public SVGPointList getPoints();
+ public SVGPointList getAnimatedPoints();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedPreserveAspectRatio.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedPreserveAspectRatio.java
new file mode 100644
index 000000000..51bdfcea0
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedPreserveAspectRatio.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAnimatedPreserveAspectRatio {
+ public SVGPreserveAspectRatio getBaseVal();
+ public SVGPreserveAspectRatio getAnimVal();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedRect.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedRect.java
new file mode 100644
index 000000000..4166aa468
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedRect.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAnimatedRect {
+ public SVGRect getBaseVal();
+ public SVGRect getAnimVal();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedString.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedString.java
new file mode 100644
index 000000000..d84cc9c74
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedString.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGAnimatedString {
+ public String getBaseVal();
+ public void setBaseVal(String baseVal)
+ throws DOMException;
+ public String getAnimVal();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedTransformList.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedTransformList.java
new file mode 100644
index 000000000..bc1e85fb1
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimatedTransformList.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGAnimatedTransformList {
+ public SVGTransformList getBaseVal();
+ public SVGTransformList getAnimVal();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimationElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimationElement.java
new file mode 100644
index 000000000..0723bfeac
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGAnimationElement.java
@@ -0,0 +1,20 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.events.EventTarget;
+import org.w3c.dom.smil.ElementTimeControl;
+
+public interface SVGAnimationElement extends
+ SVGElement,
+ SVGTests,
+ SVGExternalResourcesRequired,
+ ElementTimeControl,
+ EventTarget {
+ public SVGElement getTargetElement();
+
+ public float getStartTime();
+ public float getCurrentTime();
+ public float getSimpleDuration()
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGCSSRule.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGCSSRule.java
new file mode 100644
index 000000000..5365e5dfd
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGCSSRule.java
@@ -0,0 +1,10 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.css.CSSRule;
+
+public interface SVGCSSRule extends
+ CSSRule {
+ // Additional CSS RuleType to support ICC color specifications
+ public static final short COLOR_PROFILE_RULE = 7;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGCircleElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGCircleElement.java
new file mode 100644
index 000000000..892105269
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGCircleElement.java
@@ -0,0 +1,17 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGCircleElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget {
+ public SVGAnimatedLength getCx();
+ public SVGAnimatedLength getCy();
+ public SVGAnimatedLength getR();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGClipPathElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGClipPathElement.java
new file mode 100644
index 000000000..7e758f059
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGClipPathElement.java
@@ -0,0 +1,13 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGClipPathElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ SVGUnitTypes {
+ public SVGAnimatedEnumeration getClipPathUnits();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGColor.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGColor.java
new file mode 100644
index 000000000..fed16560c
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGColor.java
@@ -0,0 +1,25 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.css.CSSValue;
+import org.w3c.dom.css.RGBColor;
+
+public interface SVGColor extends
+ CSSValue {
+ // Color Types
+ public static final short SVG_COLORTYPE_UNKNOWN = 0;
+ public static final short SVG_COLORTYPE_RGBCOLOR = 1;
+ public static final short SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2;
+ public static final short SVG_COLORTYPE_CURRENTCOLOR = 3;
+
+ public short getColorType();
+ public RGBColor getRGBColor();
+ public SVGICCColor getICCColor();
+
+ public void setRGBColor(String rgbColor)
+ throws SVGException;
+ public void setRGBColorICCColor(String rgbColor, String iccColor)
+ throws SVGException;
+ public void setColor(short colorType, String rgbColor, String iccColor)
+ throws SVGException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGColorProfileElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGColorProfileElement.java
new file mode 100644
index 000000000..5e49d9ac7
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGColorProfileElement.java
@@ -0,0 +1,19 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGColorProfileElement extends
+ SVGElement,
+ SVGURIReference,
+ SVGRenderingIntent {
+ public String getLocal();
+ public void setLocal(String local)
+ throws DOMException;
+ public String getName();
+ public void setName(String name)
+ throws DOMException;
+ public short getRenderingIntent();
+ public void setRenderingIntent(short renderingIntent)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGColorProfileRule.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGColorProfileRule.java
new file mode 100644
index 000000000..3ff91bbbe
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGColorProfileRule.java
@@ -0,0 +1,18 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGColorProfileRule extends
+ SVGCSSRule,
+ SVGRenderingIntent {
+ public String getSrc();
+ public void setSrc(String src)
+ throws DOMException;
+ public String getName();
+ public void setName(String name)
+ throws DOMException;
+ public short getRenderingIntent();
+ public void setRenderingIntent(short renderingIntent)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGComponentTransferFunctionElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGComponentTransferFunctionElement.java
new file mode 100644
index 000000000..11af0e8e8
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGComponentTransferFunctionElement.java
@@ -0,0 +1,21 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGComponentTransferFunctionElement extends
+ SVGElement {
+ // Component Transfer Types
+ public static final short SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0;
+ public static final short SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1;
+ public static final short SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2;
+ public static final short SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3;
+ public static final short SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4;
+ public static final short SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5;
+
+ public SVGAnimatedEnumeration getType();
+ public SVGAnimatedNumberList getTableValues();
+ public SVGAnimatedNumber getSlope();
+ public SVGAnimatedNumber getIntercept();
+ public SVGAnimatedNumber getAmplitude();
+ public SVGAnimatedNumber getExponent();
+ public SVGAnimatedNumber getOffset();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGCursorElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGCursorElement.java
new file mode 100644
index 000000000..b17af59b5
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGCursorElement.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGCursorElement extends
+ SVGElement,
+ SVGURIReference,
+ SVGTests,
+ SVGExternalResourcesRequired {
+ public SVGAnimatedLength getX();
+ public SVGAnimatedLength getY();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGDefinitionSrcElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGDefinitionSrcElement.java
new file mode 100644
index 000000000..4123b5a97
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGDefinitionSrcElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGDefinitionSrcElement extends
+ SVGElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGDefsElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGDefsElement.java
new file mode 100644
index 000000000..6b83bedc3
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGDefsElement.java
@@ -0,0 +1,14 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGDefsElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGDescElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGDescElement.java
new file mode 100644
index 000000000..d3eaf7384
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGDescElement.java
@@ -0,0 +1,8 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGDescElement extends
+ SVGElement,
+ SVGLangSpace,
+ SVGStylable {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGDocument.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGDocument.java
new file mode 100644
index 000000000..53dab0f91
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGDocument.java
@@ -0,0 +1,15 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.events.DocumentEvent;
+
+public interface SVGDocument extends
+ Document,
+ DocumentEvent {
+ public String getTitle();
+ public String getReferrer();
+ public String getDomain();
+ public String getURL();
+ public SVGSVGElement getRootElement();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGElement.java
new file mode 100644
index 000000000..4d45e1b3a
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGElement.java
@@ -0,0 +1,17 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Element;
+
+public interface SVGElement extends
+ Element {
+ public String getId();
+ public void setId(String id)
+ throws DOMException;
+ public String getXMLbase();
+ public void setXMLbase(String xmlbase)
+ throws DOMException;
+ public SVGSVGElement getOwnerSVGElement();
+ public SVGElement getViewportElement();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGElementInstance.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGElementInstance.java
new file mode 100644
index 000000000..1094ee1ce
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGElementInstance.java
@@ -0,0 +1,16 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGElementInstance extends
+ EventTarget {
+ public SVGElement getCorrespondingElement();
+ public SVGUseElement getCorrespondingUseElement();
+ public SVGElementInstance getParentNode();
+ public SVGElementInstanceList getChildNodes();
+ public SVGElementInstance getFirstChild();
+ public SVGElementInstance getLastChild();
+ public SVGElementInstance getPreviousSibling();
+ public SVGElementInstance getNextSibling();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGElementInstanceList.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGElementInstanceList.java
new file mode 100644
index 000000000..5325fb996
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGElementInstanceList.java
@@ -0,0 +1,8 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGElementInstanceList {
+ public int getLength();
+
+ public SVGElementInstance item(int index);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGEllipseElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGEllipseElement.java
new file mode 100644
index 000000000..374070292
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGEllipseElement.java
@@ -0,0 +1,18 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGEllipseElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget {
+ public SVGAnimatedLength getCx();
+ public SVGAnimatedLength getCy();
+ public SVGAnimatedLength getRx();
+ public SVGAnimatedLength getRy();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGEvent.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGEvent.java
new file mode 100644
index 000000000..252825ba7
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGEvent.java
@@ -0,0 +1,8 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.Event;
+
+public interface SVGEvent extends
+ Event {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGException.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGException.java
new file mode 100644
index 000000000..557ce43a1
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGException.java
@@ -0,0 +1,13 @@
+package org.w3c.dom.svg;
+
+public abstract class SVGException extends RuntimeException {
+ public SVGException(short code, String message) {
+ super(message);
+ this.code = code;
+ }
+ public short code;
+ // ExceptionCode
+ public static final short SVG_WRONG_TYPE_ERR = 0;
+ public static final short SVG_INVALID_VALUE_ERR = 1;
+ public static final short SVG_MATRIX_NOT_INVERTABLE = 2;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGExternalResourcesRequired.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGExternalResourcesRequired.java
new file mode 100644
index 000000000..26f97ab97
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGExternalResourcesRequired.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGExternalResourcesRequired {
+ public SVGAnimatedBoolean getExternalResourcesRequired();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEBlendElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEBlendElement.java
new file mode 100644
index 000000000..92ca303fd
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEBlendElement.java
@@ -0,0 +1,18 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEBlendElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ // Blend Mode Types
+ public static final short SVG_FEBLEND_MODE_UNKNOWN = 0;
+ public static final short SVG_FEBLEND_MODE_NORMAL = 1;
+ public static final short SVG_FEBLEND_MODE_MULTIPLY = 2;
+ public static final short SVG_FEBLEND_MODE_SCREEN = 3;
+ public static final short SVG_FEBLEND_MODE_DARKEN = 4;
+ public static final short SVG_FEBLEND_MODE_LIGHTEN = 5;
+
+ public SVGAnimatedString getIn1();
+ public SVGAnimatedString getIn2();
+ public SVGAnimatedEnumeration getMode();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEColorMatrixElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEColorMatrixElement.java
new file mode 100644
index 000000000..5dc555125
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEColorMatrixElement.java
@@ -0,0 +1,17 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEColorMatrixElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ // Color Matrix Types
+ public static final short SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0;
+ public static final short SVG_FECOLORMATRIX_TYPE_MATRIX = 1;
+ public static final short SVG_FECOLORMATRIX_TYPE_SATURATE = 2;
+ public static final short SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3;
+ public static final short SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4;
+
+ public SVGAnimatedString getIn1();
+ public SVGAnimatedEnumeration getType();
+ public SVGAnimatedNumberList getValues();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEComponentTransferElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEComponentTransferElement.java
new file mode 100644
index 000000000..3fa8f8478
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEComponentTransferElement.java
@@ -0,0 +1,8 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEComponentTransferElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ public SVGAnimatedString getIn1();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFECompositeElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFECompositeElement.java
new file mode 100644
index 000000000..82522c26c
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFECompositeElement.java
@@ -0,0 +1,23 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFECompositeElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ // Composite Operators
+ public static final short SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0;
+ public static final short SVG_FECOMPOSITE_OPERATOR_OVER = 1;
+ public static final short SVG_FECOMPOSITE_OPERATOR_IN = 2;
+ public static final short SVG_FECOMPOSITE_OPERATOR_OUT = 3;
+ public static final short SVG_FECOMPOSITE_OPERATOR_ATOP = 4;
+ public static final short SVG_FECOMPOSITE_OPERATOR_XOR = 5;
+ public static final short SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6;
+
+ public SVGAnimatedString getIn1();
+ public SVGAnimatedString getIn2();
+ public SVGAnimatedEnumeration getOperator();
+ public SVGAnimatedNumber getK1();
+ public SVGAnimatedNumber getK2();
+ public SVGAnimatedNumber getK3();
+ public SVGAnimatedNumber getK4();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEConvolveMatrixElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEConvolveMatrixElement.java
new file mode 100644
index 000000000..1b86d1064
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEConvolveMatrixElement.java
@@ -0,0 +1,24 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEConvolveMatrixElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ // Edge Mode Values
+ public static final short SVG_EDGEMODE_UNKNOWN = 0;
+ public static final short SVG_EDGEMODE_DUPLICATE = 1;
+ public static final short SVG_EDGEMODE_WRAP = 2;
+ public static final short SVG_EDGEMODE_NONE = 3;
+
+ public SVGAnimatedInteger getOrderX();
+ public SVGAnimatedInteger getOrderY();
+ public SVGAnimatedNumberList getKernelMatrix();
+ public SVGAnimatedNumber getDivisor();
+ public SVGAnimatedNumber getBias();
+ public SVGAnimatedInteger getTargetX();
+ public SVGAnimatedInteger getTargetY();
+ public SVGAnimatedEnumeration getEdgeMode();
+ public SVGAnimatedNumber getKernelUnitLengthX();
+ public SVGAnimatedNumber getKernelUnitLengthY();
+ public SVGAnimatedBoolean getPreserveAlpha();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEDiffuseLightingElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEDiffuseLightingElement.java
new file mode 100644
index 000000000..a0729c4da
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEDiffuseLightingElement.java
@@ -0,0 +1,11 @@
+package org.w3c.dom.svg;
+
+public interface SVGFEDiffuseLightingElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ public SVGAnimatedString getIn1();
+ public SVGAnimatedNumber getSurfaceScale();
+ public SVGAnimatedNumber getDiffuseConstant();
+ public SVGAnimatedNumber getKernelUnitLengthX();
+ public SVGAnimatedNumber getKernelUnitLengthY();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEDisplacementMapElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEDisplacementMapElement.java
new file mode 100644
index 000000000..dc7ebbfec
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEDisplacementMapElement.java
@@ -0,0 +1,19 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEDisplacementMapElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ // Channel Selectors
+ public static final short SVG_CHANNEL_UNKNOWN = 0;
+ public static final short SVG_CHANNEL_R = 1;
+ public static final short SVG_CHANNEL_G = 2;
+ public static final short SVG_CHANNEL_B = 3;
+ public static final short SVG_CHANNEL_A = 4;
+
+ public SVGAnimatedString getIn1();
+ public SVGAnimatedString getIn2();
+ public SVGAnimatedNumber getScale();
+ public SVGAnimatedEnumeration getXChannelSelector();
+ public SVGAnimatedEnumeration getYChannelSelector();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEDistantLightElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEDistantLightElement.java
new file mode 100644
index 000000000..65671614c
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEDistantLightElement.java
@@ -0,0 +1,8 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEDistantLightElement extends
+ SVGElement {
+ public SVGAnimatedNumber getAzimuth();
+ public SVGAnimatedNumber getElevation();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFloodElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFloodElement.java
new file mode 100644
index 000000000..49a6f41a3
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFloodElement.java
@@ -0,0 +1,8 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEFloodElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ public SVGAnimatedString getIn1();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFuncAElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFuncAElement.java
new file mode 100644
index 000000000..fa9773524
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFuncAElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEFuncAElement extends
+ SVGComponentTransferFunctionElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFuncBElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFuncBElement.java
new file mode 100644
index 000000000..17733d62b
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFuncBElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEFuncBElement extends
+ SVGComponentTransferFunctionElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFuncGElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFuncGElement.java
new file mode 100644
index 000000000..5078436f1
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFuncGElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEFuncGElement extends
+ SVGComponentTransferFunctionElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFuncRElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFuncRElement.java
new file mode 100644
index 000000000..72efaac9d
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEFuncRElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEFuncRElement extends
+ SVGComponentTransferFunctionElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEGaussianBlurElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEGaussianBlurElement.java
new file mode 100644
index 000000000..fff2393cc
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEGaussianBlurElement.java
@@ -0,0 +1,12 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEGaussianBlurElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ public SVGAnimatedString getIn1();
+ public SVGAnimatedNumber getStdDeviationX();
+ public SVGAnimatedNumber getStdDeviationY();
+
+ public void setStdDeviation(float stdDeviationX, float stdDeviationY);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEImageElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEImageElement.java
new file mode 100644
index 000000000..5af81d429
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEImageElement.java
@@ -0,0 +1,13 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEImageElement extends
+ SVGElement,
+ SVGURIReference,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGFilterPrimitiveStandardAttributes {
+
+ public SVGAnimatedPreserveAspectRatio getPreserveAspectRatio();
+
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEMergeElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEMergeElement.java
new file mode 100644
index 000000000..cea3d6fa9
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEMergeElement.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEMergeElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEMergeNodeElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEMergeNodeElement.java
new file mode 100644
index 000000000..60a693734
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEMergeNodeElement.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEMergeNodeElement extends
+ SVGElement {
+ public SVGAnimatedString getIn1();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEMorphologyElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEMorphologyElement.java
new file mode 100644
index 000000000..eb112d892
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEMorphologyElement.java
@@ -0,0 +1,16 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEMorphologyElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ // Morphology Operators
+ public static final short SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0;
+ public static final short SVG_MORPHOLOGY_OPERATOR_ERODE = 1;
+ public static final short SVG_MORPHOLOGY_OPERATOR_DILATE = 2;
+
+ public SVGAnimatedString getIn1();
+ public SVGAnimatedEnumeration getOperator();
+ public SVGAnimatedNumber getRadiusX();
+ public SVGAnimatedNumber getRadiusY();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEOffsetElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEOffsetElement.java
new file mode 100644
index 000000000..dac4f6540
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEOffsetElement.java
@@ -0,0 +1,10 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEOffsetElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ public SVGAnimatedString getIn1();
+ public SVGAnimatedNumber getDx();
+ public SVGAnimatedNumber getDy();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEPointLightElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEPointLightElement.java
new file mode 100644
index 000000000..e26136836
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFEPointLightElement.java
@@ -0,0 +1,9 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFEPointLightElement extends
+ SVGElement {
+ public SVGAnimatedNumber getX();
+ public SVGAnimatedNumber getY();
+ public SVGAnimatedNumber getZ();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFESpecularLightingElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFESpecularLightingElement.java
new file mode 100644
index 000000000..dd745c272
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFESpecularLightingElement.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFESpecularLightingElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ public SVGAnimatedString getIn1();
+ public SVGAnimatedNumber getSurfaceScale();
+ public SVGAnimatedNumber getSpecularConstant();
+ public SVGAnimatedNumber getSpecularExponent();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFESpotLightElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFESpotLightElement.java
new file mode 100644
index 000000000..fa079a851
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFESpotLightElement.java
@@ -0,0 +1,14 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFESpotLightElement extends
+ SVGElement {
+ public SVGAnimatedNumber getX();
+ public SVGAnimatedNumber getY();
+ public SVGAnimatedNumber getZ();
+ public SVGAnimatedNumber getPointsAtX();
+ public SVGAnimatedNumber getPointsAtY();
+ public SVGAnimatedNumber getPointsAtZ();
+ public SVGAnimatedNumber getSpecularExponent();
+ public SVGAnimatedNumber getLimitingConeAngle();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFETileElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFETileElement.java
new file mode 100644
index 000000000..90bba92dc
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFETileElement.java
@@ -0,0 +1,8 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFETileElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ public SVGAnimatedString getIn1();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFETurbulenceElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFETurbulenceElement.java
new file mode 100644
index 000000000..deb52da7e
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFETurbulenceElement.java
@@ -0,0 +1,22 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFETurbulenceElement extends
+ SVGElement,
+ SVGFilterPrimitiveStandardAttributes {
+ // Turbulence Types
+ public static final short SVG_TURBULENCE_TYPE_UNKNOWN = 0;
+ public static final short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1;
+ public static final short SVG_TURBULENCE_TYPE_TURBULENCE = 2;
+ // Stitch Options
+ public static final short SVG_STITCHTYPE_UNKNOWN = 0;
+ public static final short SVG_STITCHTYPE_STITCH = 1;
+ public static final short SVG_STITCHTYPE_NOSTITCH = 2;
+
+ public SVGAnimatedNumber getBaseFrequencyX();
+ public SVGAnimatedNumber getBaseFrequencyY();
+ public SVGAnimatedInteger getNumOctaves();
+ public SVGAnimatedNumber getSeed();
+ public SVGAnimatedEnumeration getStitchTiles();
+ public SVGAnimatedEnumeration getType();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFilterElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFilterElement.java
new file mode 100644
index 000000000..bb1cc5756
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFilterElement.java
@@ -0,0 +1,21 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFilterElement extends
+ SVGElement,
+ SVGURIReference,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGUnitTypes {
+ public SVGAnimatedEnumeration getFilterUnits();
+ public SVGAnimatedEnumeration getPrimitiveUnits();
+ public SVGAnimatedLength getX();
+ public SVGAnimatedLength getY();
+ public SVGAnimatedLength getWidth();
+ public SVGAnimatedLength getHeight();
+ public SVGAnimatedInteger getFilterResX();
+ public SVGAnimatedInteger getFilterResY();
+
+ public void setFilterRes(int filterResX, int filterResY);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFilterPrimitiveStandardAttributes.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFilterPrimitiveStandardAttributes.java
new file mode 100644
index 000000000..ee79e0b09
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFilterPrimitiveStandardAttributes.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFilterPrimitiveStandardAttributes extends
+ SVGStylable {
+ public SVGAnimatedLength getX();
+ public SVGAnimatedLength getY();
+ public SVGAnimatedLength getWidth();
+ public SVGAnimatedLength getHeight();
+ public SVGAnimatedString getResult();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFitToViewBox.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFitToViewBox.java
new file mode 100644
index 000000000..99d912972
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFitToViewBox.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFitToViewBox {
+ public SVGAnimatedRect getViewBox();
+ public SVGAnimatedPreserveAspectRatio getPreserveAspectRatio();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontElement.java
new file mode 100644
index 000000000..e11dc355e
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontElement.java
@@ -0,0 +1,8 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFontElement extends
+ SVGElement,
+ SVGExternalResourcesRequired,
+ SVGStylable {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceElement.java
new file mode 100644
index 000000000..b201c9456
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFontFaceElement extends
+ SVGElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceFormatElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceFormatElement.java
new file mode 100644
index 000000000..895cd6c77
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceFormatElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFontFaceFormatElement extends
+ SVGElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceNameElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceNameElement.java
new file mode 100644
index 000000000..723370a07
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceNameElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFontFaceNameElement extends
+ SVGElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceSrcElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceSrcElement.java
new file mode 100644
index 000000000..dcc898b6f
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceSrcElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFontFaceSrcElement extends
+ SVGElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceUriElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceUriElement.java
new file mode 100644
index 000000000..39dd039e9
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGFontFaceUriElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGFontFaceUriElement extends
+ SVGElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGForeignObjectElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGForeignObjectElement.java
new file mode 100644
index 000000000..fe571ce55
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGForeignObjectElement.java
@@ -0,0 +1,18 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGForeignObjectElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget {
+ public SVGAnimatedLength getX();
+ public SVGAnimatedLength getY();
+ public SVGAnimatedLength getWidth();
+ public SVGAnimatedLength getHeight();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGGElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGGElement.java
new file mode 100644
index 000000000..e9a78190e
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGGElement.java
@@ -0,0 +1,14 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGGElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGGlyphElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGGlyphElement.java
new file mode 100644
index 000000000..9354bb74d
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGGlyphElement.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGGlyphElement extends
+ SVGElement,
+ SVGStylable {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGGlyphRefElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGGlyphRefElement.java
new file mode 100644
index 000000000..6e9df16b5
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGGlyphRefElement.java
@@ -0,0 +1,28 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGGlyphRefElement extends
+ SVGElement,
+ SVGURIReference,
+ SVGStylable {
+ public String getGlyphRef();
+ public void setGlyphRef(String glyphRef)
+ throws DOMException;
+ public String getFormat();
+ public void setFormat(String format)
+ throws DOMException;
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+ public float getDx();
+ public void setDx(float dx)
+ throws DOMException;
+ public float getDy();
+ public void setDy(float dy)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGGradientElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGGradientElement.java
new file mode 100644
index 000000000..6221c0492
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGGradientElement.java
@@ -0,0 +1,19 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGGradientElement extends
+ SVGElement,
+ SVGURIReference,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGUnitTypes {
+ // Spread Method Types
+ public static final short SVG_SPREADMETHOD_UNKNOWN = 0;
+ public static final short SVG_SPREADMETHOD_PAD = 1;
+ public static final short SVG_SPREADMETHOD_REFLECT = 2;
+ public static final short SVG_SPREADMETHOD_REPEAT = 3;
+
+ public SVGAnimatedEnumeration getGradientUnits();
+ public SVGAnimatedTransformList getGradientTransform();
+ public SVGAnimatedEnumeration getSpreadMethod();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGHKernElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGHKernElement.java
new file mode 100644
index 000000000..ca527b67c
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGHKernElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGHKernElement extends
+ SVGElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGICCColor.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGICCColor.java
new file mode 100644
index 000000000..168de5290
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGICCColor.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGICCColor {
+ public String getColorProfile();
+ public void setColorProfile(String colorProfile)
+ throws DOMException;
+ public SVGNumberList getColors();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGImageElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGImageElement.java
new file mode 100644
index 000000000..7465112e1
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGImageElement.java
@@ -0,0 +1,20 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGImageElement extends
+ SVGElement,
+ SVGURIReference,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget {
+ public SVGAnimatedLength getX();
+ public SVGAnimatedLength getY();
+ public SVGAnimatedLength getWidth();
+ public SVGAnimatedLength getHeight();
+ public SVGAnimatedPreserveAspectRatio getPreserveAspectRatio();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLangSpace.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLangSpace.java
new file mode 100644
index 000000000..b7da7ddea
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLangSpace.java
@@ -0,0 +1,13 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGLangSpace {
+ public String getXMLlang();
+ public void setXMLlang(String xmllang)
+ throws DOMException;
+ public String getXMLspace();
+ public void setXMLspace(String xmlspace)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLength.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLength.java
new file mode 100644
index 000000000..263714923
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLength.java
@@ -0,0 +1,33 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGLength {
+ // Length Unit Types
+ public static final short SVG_LENGTHTYPE_UNKNOWN = 0;
+ public static final short SVG_LENGTHTYPE_NUMBER = 1;
+ public static final short SVG_LENGTHTYPE_PERCENTAGE = 2;
+ public static final short SVG_LENGTHTYPE_EMS = 3;
+ public static final short SVG_LENGTHTYPE_EXS = 4;
+ public static final short SVG_LENGTHTYPE_PX = 5;
+ public static final short SVG_LENGTHTYPE_CM = 6;
+ public static final short SVG_LENGTHTYPE_MM = 7;
+ public static final short SVG_LENGTHTYPE_IN = 8;
+ public static final short SVG_LENGTHTYPE_PT = 9;
+ public static final short SVG_LENGTHTYPE_PC = 10;
+
+ public short getUnitType();
+ public float getValue();
+ public void setValue(float value)
+ throws DOMException;
+ public float getValueInSpecifiedUnits();
+ public void setValueInSpecifiedUnits(float valueInSpecifiedUnits)
+ throws DOMException;
+ public String getValueAsString();
+ public void setValueAsString(String valueAsString)
+ throws DOMException;
+
+ public void newValueSpecifiedUnits(short unitType, float valueInSpecifiedUnits);
+ public void convertToSpecifiedUnits(short unitType);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLengthList.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLengthList.java
new file mode 100644
index 000000000..ec9eb6049
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLengthList.java
@@ -0,0 +1,23 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGLengthList {
+ public int getNumberOfItems();
+
+ public void clear()
+ throws DOMException;
+ public SVGLength initialize(SVGLength newItem)
+ throws DOMException, SVGException;
+ public SVGLength getItem(int index)
+ throws DOMException;
+ public SVGLength insertItemBefore(SVGLength newItem, int index)
+ throws DOMException, SVGException;
+ public SVGLength replaceItem(SVGLength newItem, int index)
+ throws DOMException, SVGException;
+ public SVGLength removeItem(int index)
+ throws DOMException;
+ public SVGLength appendItem(SVGLength newItem)
+ throws DOMException, SVGException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLineElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLineElement.java
new file mode 100644
index 000000000..7e9fe1e7d
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLineElement.java
@@ -0,0 +1,18 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGLineElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget {
+ public SVGAnimatedLength getX1();
+ public SVGAnimatedLength getY1();
+ public SVGAnimatedLength getX2();
+ public SVGAnimatedLength getY2();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLinearGradientElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLinearGradientElement.java
new file mode 100644
index 000000000..71d2b9d0d
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLinearGradientElement.java
@@ -0,0 +1,10 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGLinearGradientElement extends
+ SVGGradientElement {
+ public SVGAnimatedLength getX1();
+ public SVGAnimatedLength getY1();
+ public SVGAnimatedLength getX2();
+ public SVGAnimatedLength getY2();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLocatable.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLocatable.java
new file mode 100644
index 000000000..5a77d21d2
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGLocatable.java
@@ -0,0 +1,13 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGLocatable {
+ public SVGElement getNearestViewportElement();
+ public SVGElement getFarthestViewportElement();
+
+ public SVGRect getBBox();
+ public SVGMatrix getCTM();
+ public SVGMatrix getScreenCTM();
+ public SVGMatrix getTransformToElement(SVGElement element)
+ throws SVGException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMPathElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMPathElement.java
new file mode 100644
index 000000000..36032385b
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMPathElement.java
@@ -0,0 +1,8 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGMPathElement extends
+ SVGElement,
+ SVGURIReference,
+ SVGExternalResourcesRequired {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMarkerElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMarkerElement.java
new file mode 100644
index 000000000..972dd5f07
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMarkerElement.java
@@ -0,0 +1,29 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGMarkerElement extends
+ SVGElement,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGFitToViewBox {
+ // Marker Unit Types
+ public static final short SVG_MARKERUNITS_UNKNOWN = 0;
+ public static final short SVG_MARKERUNITS_USERSPACEONUSE = 1;
+ public static final short SVG_MARKERUNITS_STROKEWIDTH = 2;
+ // Marker Orientation Types
+ public static final short SVG_MARKER_ORIENT_UNKNOWN = 0;
+ public static final short SVG_MARKER_ORIENT_AUTO = 1;
+ public static final short SVG_MARKER_ORIENT_ANGLE = 2;
+
+ public SVGAnimatedLength getRefX();
+ public SVGAnimatedLength getRefY();
+ public SVGAnimatedEnumeration getMarkerUnits();
+ public SVGAnimatedLength getMarkerWidth();
+ public SVGAnimatedLength getMarkerHeight();
+ public SVGAnimatedEnumeration getOrientType();
+ public SVGAnimatedAngle getOrientAngle();
+
+ public void setOrientToAuto();
+ public void setOrientToAngle(SVGAngle angle);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMaskElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMaskElement.java
new file mode 100644
index 000000000..60bfb97f9
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMaskElement.java
@@ -0,0 +1,17 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGMaskElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGUnitTypes {
+ public SVGAnimatedEnumeration getMaskUnits();
+ public SVGAnimatedEnumeration getMaskContentUnits();
+ public SVGAnimatedLength getX();
+ public SVGAnimatedLength getY();
+ public SVGAnimatedLength getWidth();
+ public SVGAnimatedLength getHeight();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMatrix.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMatrix.java
new file mode 100644
index 000000000..91949b661
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMatrix.java
@@ -0,0 +1,39 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGMatrix {
+ public float getA();
+ public void setA(float a)
+ throws DOMException;
+ public float getB();
+ public void setB(float b)
+ throws DOMException;
+ public float getC();
+ public void setC(float c)
+ throws DOMException;
+ public float getD();
+ public void setD(float d)
+ throws DOMException;
+ public float getE();
+ public void setE(float e)
+ throws DOMException;
+ public float getF();
+ public void setF(float f)
+ throws DOMException;
+
+ public SVGMatrix multiply(SVGMatrix secondMatrix);
+ public SVGMatrix inverse()
+ throws SVGException;
+ public SVGMatrix translate(float x, float y);
+ public SVGMatrix scale(float scaleFactor);
+ public SVGMatrix scaleNonUniform(float scaleFactorX, float scaleFactorY);
+ public SVGMatrix rotate(float angle);
+ public SVGMatrix rotateFromVector(float x, float y)
+ throws SVGException;
+ public SVGMatrix flipX();
+ public SVGMatrix flipY();
+ public SVGMatrix skewX(float angle);
+ public SVGMatrix skewY(float angle);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMetadataElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMetadataElement.java
new file mode 100644
index 000000000..d8485d124
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMetadataElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGMetadataElement extends
+ SVGElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMissingGlyphElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMissingGlyphElement.java
new file mode 100644
index 000000000..8c777fb2a
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGMissingGlyphElement.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGMissingGlyphElement extends
+ SVGElement,
+ SVGStylable {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGNumber.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGNumber.java
new file mode 100644
index 000000000..eb42dccf2
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGNumber.java
@@ -0,0 +1,10 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGNumber {
+ public float getValue();
+ public void setValue(float value)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGNumberList.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGNumberList.java
new file mode 100644
index 000000000..2bc811bc1
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGNumberList.java
@@ -0,0 +1,23 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGNumberList {
+ public int getNumberOfItems();
+
+ public void clear()
+ throws DOMException;
+ public SVGNumber initialize(SVGNumber newItem)
+ throws DOMException, SVGException;
+ public SVGNumber getItem(int index)
+ throws DOMException;
+ public SVGNumber insertItemBefore(SVGNumber newItem, int index)
+ throws DOMException, SVGException;
+ public SVGNumber replaceItem(SVGNumber newItem, int index)
+ throws DOMException, SVGException;
+ public SVGNumber removeItem(int index)
+ throws DOMException;
+ public SVGNumber appendItem(SVGNumber newItem)
+ throws DOMException, SVGException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPaint.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPaint.java
new file mode 100644
index 000000000..3ebcdac70
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPaint.java
@@ -0,0 +1,25 @@
+
+package org.w3c.dom.svg;
+
+
+public interface SVGPaint extends
+ SVGColor {
+ // Paint Types
+ public static final short SVG_PAINTTYPE_UNKNOWN = 0;
+ public static final short SVG_PAINTTYPE_RGBCOLOR = 1;
+ public static final short SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2;
+ public static final short SVG_PAINTTYPE_NONE = 101;
+ public static final short SVG_PAINTTYPE_CURRENTCOLOR = 102;
+ public static final short SVG_PAINTTYPE_URI_NONE = 103;
+ public static final short SVG_PAINTTYPE_URI_CURRENTCOLOR = 104;
+ public static final short SVG_PAINTTYPE_URI_RGBCOLOR = 105;
+ public static final short SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106;
+ public static final short SVG_PAINTTYPE_URI = 107;
+
+ public short getPaintType();
+ public String getUri();
+
+ public void setUri(String uri);
+ public void setPaint(short paintType, String uri, String rgbColor, String iccColor)
+ throws SVGException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathElement.java
new file mode 100644
index 000000000..6b8f4ccba
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathElement.java
@@ -0,0 +1,39 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGPathElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget,
+ SVGAnimatedPathData {
+ public SVGAnimatedNumber getPathLength();
+
+ public float getTotalLength();
+ public SVGPoint getPointAtLength(float distance);
+ public int getPathSegAtLength(float distance);
+ public SVGPathSegClosePath createSVGPathSegClosePath();
+ public SVGPathSegMovetoAbs createSVGPathSegMovetoAbs(float x, float y);
+ public SVGPathSegMovetoRel createSVGPathSegMovetoRel(float x, float y);
+ public SVGPathSegLinetoAbs createSVGPathSegLinetoAbs(float x, float y);
+ public SVGPathSegLinetoRel createSVGPathSegLinetoRel(float x, float y);
+ public SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs(float x, float y, float x1, float y1, float x2, float y2);
+ public SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel(float x, float y, float x1, float y1, float x2, float y2);
+ public SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs(float x, float y, float x1, float y1);
+ public SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel(float x, float y, float x1, float y1);
+ public SVGPathSegArcAbs createSVGPathSegArcAbs(float x, float y, float r1, float r2, float angle, boolean largeArcFlag, boolean sweepFlag);
+ public SVGPathSegArcRel createSVGPathSegArcRel(float x, float y, float r1, float r2, float angle, boolean largeArcFlag, boolean sweepFlag);
+ public SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs(float x);
+ public SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel(float x);
+ public SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs(float y);
+ public SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel(float y);
+ public SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs(float x, float y, float x2, float y2);
+ public SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel(float x, float y, float x2, float y2);
+ public SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs(float x, float y);
+ public SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel(float x, float y);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSeg.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSeg.java
new file mode 100644
index 000000000..7b69d2b8e
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSeg.java
@@ -0,0 +1,29 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGPathSeg {
+ // Path Segment Types
+ public static final short PATHSEG_UNKNOWN = 0;
+ public static final short PATHSEG_CLOSEPATH = 1;
+ public static final short PATHSEG_MOVETO_ABS = 2;
+ public static final short PATHSEG_MOVETO_REL = 3;
+ public static final short PATHSEG_LINETO_ABS = 4;
+ public static final short PATHSEG_LINETO_REL = 5;
+ public static final short PATHSEG_CURVETO_CUBIC_ABS = 6;
+ public static final short PATHSEG_CURVETO_CUBIC_REL = 7;
+ public static final short PATHSEG_CURVETO_QUADRATIC_ABS = 8;
+ public static final short PATHSEG_CURVETO_QUADRATIC_REL = 9;
+ public static final short PATHSEG_ARC_ABS = 10;
+ public static final short PATHSEG_ARC_REL = 11;
+ public static final short PATHSEG_LINETO_HORIZONTAL_ABS = 12;
+ public static final short PATHSEG_LINETO_HORIZONTAL_REL = 13;
+ public static final short PATHSEG_LINETO_VERTICAL_ABS = 14;
+ public static final short PATHSEG_LINETO_VERTICAL_REL = 15;
+ public static final short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;
+ public static final short PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;
+ public static final short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;
+ public static final short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;
+
+ public short getPathSegType();
+ public String getPathSegTypeAsLetter();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegArcAbs.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegArcAbs.java
new file mode 100644
index 000000000..5dcc8aa18
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegArcAbs.java
@@ -0,0 +1,29 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegArcAbs extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+ public float getR1();
+ public void setR1(float r1)
+ throws DOMException;
+ public float getR2();
+ public void setR2(float r2)
+ throws DOMException;
+ public float getAngle();
+ public void setAngle(float angle)
+ throws DOMException;
+ public boolean getLargeArcFlag();
+ public void setLargeArcFlag(boolean largeArcFlag)
+ throws DOMException;
+ public boolean getSweepFlag();
+ public void setSweepFlag(boolean sweepFlag)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegArcRel.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegArcRel.java
new file mode 100644
index 000000000..9dc921d8e
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegArcRel.java
@@ -0,0 +1,29 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegArcRel extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+ public float getR1();
+ public void setR1(float r1)
+ throws DOMException;
+ public float getR2();
+ public void setR2(float r2)
+ throws DOMException;
+ public float getAngle();
+ public void setAngle(float angle)
+ throws DOMException;
+ public boolean getLargeArcFlag();
+ public void setLargeArcFlag(boolean largeArcFlag)
+ throws DOMException;
+ public boolean getSweepFlag();
+ public void setSweepFlag(boolean sweepFlag)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegClosePath.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegClosePath.java
new file mode 100644
index 000000000..9beb4667d
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegClosePath.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGPathSegClosePath extends
+ SVGPathSeg {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoCubicAbs.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoCubicAbs.java
new file mode 100644
index 000000000..bf489a1df
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoCubicAbs.java
@@ -0,0 +1,26 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegCurvetoCubicAbs extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+ public float getX1();
+ public void setX1(float x1)
+ throws DOMException;
+ public float getY1();
+ public void setY1(float y1)
+ throws DOMException;
+ public float getX2();
+ public void setX2(float x2)
+ throws DOMException;
+ public float getY2();
+ public void setY2(float y2)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoCubicRel.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoCubicRel.java
new file mode 100644
index 000000000..9dd35e52b
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoCubicRel.java
@@ -0,0 +1,26 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegCurvetoCubicRel extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+ public float getX1();
+ public void setX1(float x1)
+ throws DOMException;
+ public float getY1();
+ public void setY1(float y1)
+ throws DOMException;
+ public float getX2();
+ public void setX2(float x2)
+ throws DOMException;
+ public float getY2();
+ public void setY2(float y2)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoCubicSmoothAbs.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoCubicSmoothAbs.java
new file mode 100644
index 000000000..c423a215f
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoCubicSmoothAbs.java
@@ -0,0 +1,20 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegCurvetoCubicSmoothAbs extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+ public float getX2();
+ public void setX2(float x2)
+ throws DOMException;
+ public float getY2();
+ public void setY2(float y2)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoCubicSmoothRel.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoCubicSmoothRel.java
new file mode 100644
index 000000000..6ae59dbca
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoCubicSmoothRel.java
@@ -0,0 +1,20 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegCurvetoCubicSmoothRel extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+ public float getX2();
+ public void setX2(float x2)
+ throws DOMException;
+ public float getY2();
+ public void setY2(float y2)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoQuadraticAbs.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoQuadraticAbs.java
new file mode 100644
index 000000000..9d0b54def
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoQuadraticAbs.java
@@ -0,0 +1,20 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegCurvetoQuadraticAbs extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+ public float getX1();
+ public void setX1(float x1)
+ throws DOMException;
+ public float getY1();
+ public void setY1(float y1)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoQuadraticRel.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoQuadraticRel.java
new file mode 100644
index 000000000..6ab35a974
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoQuadraticRel.java
@@ -0,0 +1,20 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegCurvetoQuadraticRel extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+ public float getX1();
+ public void setX1(float x1)
+ throws DOMException;
+ public float getY1();
+ public void setY1(float y1)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoQuadraticSmoothAbs.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoQuadraticSmoothAbs.java
new file mode 100644
index 000000000..553430d3e
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoQuadraticSmoothAbs.java
@@ -0,0 +1,14 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegCurvetoQuadraticSmoothAbs extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoQuadraticSmoothRel.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoQuadraticSmoothRel.java
new file mode 100644
index 000000000..b1212c46a
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegCurvetoQuadraticSmoothRel.java
@@ -0,0 +1,14 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegCurvetoQuadraticSmoothRel extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoAbs.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoAbs.java
new file mode 100644
index 000000000..e2878c7f6
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoAbs.java
@@ -0,0 +1,14 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegLinetoAbs extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoHorizontalAbs.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoHorizontalAbs.java
new file mode 100644
index 000000000..9e318f6ad
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoHorizontalAbs.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegLinetoHorizontalAbs extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoHorizontalRel.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoHorizontalRel.java
new file mode 100644
index 000000000..7a10f8db3
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoHorizontalRel.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegLinetoHorizontalRel extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoRel.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoRel.java
new file mode 100644
index 000000000..fcd81331d
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoRel.java
@@ -0,0 +1,14 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegLinetoRel extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoVerticalAbs.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoVerticalAbs.java
new file mode 100644
index 000000000..aef685591
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoVerticalAbs.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegLinetoVerticalAbs extends
+ SVGPathSeg {
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoVerticalRel.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoVerticalRel.java
new file mode 100644
index 000000000..0ec48a258
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegLinetoVerticalRel.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegLinetoVerticalRel extends
+ SVGPathSeg {
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegList.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegList.java
new file mode 100644
index 000000000..56b16290b
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegList.java
@@ -0,0 +1,23 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegList {
+ public int getNumberOfItems();
+
+ public void clear()
+ throws DOMException;
+ public SVGPathSeg initialize(SVGPathSeg newItem)
+ throws DOMException, SVGException;
+ public SVGPathSeg getItem(int index)
+ throws DOMException;
+ public SVGPathSeg insertItemBefore(SVGPathSeg newItem, int index)
+ throws DOMException, SVGException;
+ public SVGPathSeg replaceItem(SVGPathSeg newItem, int index)
+ throws DOMException, SVGException;
+ public SVGPathSeg removeItem(int index)
+ throws DOMException;
+ public SVGPathSeg appendItem(SVGPathSeg newItem)
+ throws DOMException, SVGException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegMovetoAbs.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegMovetoAbs.java
new file mode 100644
index 000000000..bb675a902
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegMovetoAbs.java
@@ -0,0 +1,14 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegMovetoAbs extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegMovetoRel.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegMovetoRel.java
new file mode 100644
index 000000000..ae2eb0f08
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPathSegMovetoRel.java
@@ -0,0 +1,14 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPathSegMovetoRel extends
+ SVGPathSeg {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPatternElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPatternElement.java
new file mode 100644
index 000000000..606857ffb
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPatternElement.java
@@ -0,0 +1,20 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGPatternElement extends
+ SVGElement,
+ SVGURIReference,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGFitToViewBox,
+ SVGUnitTypes {
+ public SVGAnimatedEnumeration getPatternUnits();
+ public SVGAnimatedEnumeration getPatternContentUnits();
+ public SVGAnimatedTransformList getPatternTransform();
+ public SVGAnimatedLength getX();
+ public SVGAnimatedLength getY();
+ public SVGAnimatedLength getWidth();
+ public SVGAnimatedLength getHeight();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPoint.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPoint.java
new file mode 100644
index 000000000..9f9ebc441
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPoint.java
@@ -0,0 +1,15 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPoint {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+
+ public SVGPoint matrixTransform(SVGMatrix matrix);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPointList.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPointList.java
new file mode 100644
index 000000000..3266e0798
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPointList.java
@@ -0,0 +1,23 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPointList {
+ public int getNumberOfItems();
+
+ public void clear()
+ throws DOMException;
+ public SVGPoint initialize(SVGPoint newItem)
+ throws DOMException, SVGException;
+ public SVGPoint getItem(int index)
+ throws DOMException;
+ public SVGPoint insertItemBefore(SVGPoint newItem, int index)
+ throws DOMException, SVGException;
+ public SVGPoint replaceItem(SVGPoint newItem, int index)
+ throws DOMException, SVGException;
+ public SVGPoint removeItem(int index)
+ throws DOMException;
+ public SVGPoint appendItem(SVGPoint newItem)
+ throws DOMException, SVGException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPolygonElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPolygonElement.java
new file mode 100644
index 000000000..6171fb69c
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPolygonElement.java
@@ -0,0 +1,15 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGPolygonElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget,
+ SVGAnimatedPoints {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPolylineElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPolylineElement.java
new file mode 100644
index 000000000..9fad2ab31
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPolylineElement.java
@@ -0,0 +1,15 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGPolylineElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget,
+ SVGAnimatedPoints {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPreserveAspectRatio.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPreserveAspectRatio.java
new file mode 100644
index 000000000..81e22b314
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGPreserveAspectRatio.java
@@ -0,0 +1,30 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGPreserveAspectRatio {
+ // Alignment Types
+ public static final short SVG_PRESERVEASPECTRATIO_UNKNOWN = 0;
+ public static final short SVG_PRESERVEASPECTRATIO_NONE = 1;
+ public static final short SVG_PRESERVEASPECTRATIO_XMINYMIN = 2;
+ public static final short SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3;
+ public static final short SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4;
+ public static final short SVG_PRESERVEASPECTRATIO_XMINYMID = 5;
+ public static final short SVG_PRESERVEASPECTRATIO_XMIDYMID = 6;
+ public static final short SVG_PRESERVEASPECTRATIO_XMAXYMID = 7;
+ public static final short SVG_PRESERVEASPECTRATIO_XMINYMAX = 8;
+ public static final short SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9;
+ public static final short SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10;
+ // Meet-or-slice Types
+ public static final short SVG_MEETORSLICE_UNKNOWN = 0;
+ public static final short SVG_MEETORSLICE_MEET = 1;
+ public static final short SVG_MEETORSLICE_SLICE = 2;
+
+ public short getAlign();
+ public void setAlign(short align)
+ throws DOMException;
+ public short getMeetOrSlice();
+ public void setMeetOrSlice(short meetOrSlice)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGRadialGradientElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGRadialGradientElement.java
new file mode 100644
index 000000000..f63b8c65d
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGRadialGradientElement.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGRadialGradientElement extends
+ SVGGradientElement {
+ public SVGAnimatedLength getCx();
+ public SVGAnimatedLength getCy();
+ public SVGAnimatedLength getR();
+ public SVGAnimatedLength getFx();
+ public SVGAnimatedLength getFy();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGRect.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGRect.java
new file mode 100644
index 000000000..f1c7c3c0b
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGRect.java
@@ -0,0 +1,19 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGRect {
+ public float getX();
+ public void setX(float x)
+ throws DOMException;
+ public float getY();
+ public void setY(float y)
+ throws DOMException;
+ public float getWidth();
+ public void setWidth(float width)
+ throws DOMException;
+ public float getHeight();
+ public void setHeight(float height)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGRectElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGRectElement.java
new file mode 100644
index 000000000..0260d8e9d
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGRectElement.java
@@ -0,0 +1,20 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGRectElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget {
+ public SVGAnimatedLength getX();
+ public SVGAnimatedLength getY();
+ public SVGAnimatedLength getWidth();
+ public SVGAnimatedLength getHeight();
+ public SVGAnimatedLength getRx();
+ public SVGAnimatedLength getRy();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGRenderingIntent.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGRenderingIntent.java
new file mode 100644
index 000000000..fc46f9f79
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGRenderingIntent.java
@@ -0,0 +1,12 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGRenderingIntent {
+ // Rendering Intent Types
+ public static final short RENDERING_INTENT_UNKNOWN = 0;
+ public static final short RENDERING_INTENT_AUTO = 1;
+ public static final short RENDERING_INTENT_PERCEPTUAL = 2;
+ public static final short RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3;
+ public static final short RENDERING_INTENT_SATURATION = 4;
+ public static final short RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGSVGElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGSVGElement.java
new file mode 100644
index 000000000..e0464e0cc
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGSVGElement.java
@@ -0,0 +1,73 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.css.DocumentCSS;
+import org.w3c.dom.css.ViewCSS;
+import org.w3c.dom.events.DocumentEvent;
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGSVGElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGLocatable,
+ SVGFitToViewBox,
+ SVGZoomAndPan,
+ EventTarget,
+ DocumentEvent,
+ ViewCSS,
+ DocumentCSS {
+ public SVGAnimatedLength getX();
+ public SVGAnimatedLength getY();
+ public SVGAnimatedLength getWidth();
+ public SVGAnimatedLength getHeight();
+ public String getContentScriptType();
+ public void setContentScriptType(String contentScriptType)
+ throws DOMException;
+ public String getContentStyleType();
+ public void setContentStyleType(String contentStyleType)
+ throws DOMException;
+ public SVGRect getViewport();
+ public float getPixelUnitToMillimeterX();
+ public float getPixelUnitToMillimeterY();
+ public float getScreenPixelToMillimeterX();
+ public float getScreenPixelToMillimeterY();
+ public boolean getUseCurrentView();
+ public void setUseCurrentView(boolean useCurrentView)
+ throws DOMException;
+ public SVGViewSpec getCurrentView();
+ public float getCurrentScale();
+ public void setCurrentScale(float currentScale)
+ throws DOMException;
+ public SVGPoint getCurrentTranslate();
+
+ public int suspendRedraw(int max_wait_milliseconds);
+ public void unsuspendRedraw(int suspend_handle_id)
+ throws DOMException;
+ public void unsuspendRedrawAll();
+ public void forceRedraw();
+ public void pauseAnimations();
+ public void unpauseAnimations();
+ public boolean animationsPaused();
+ public float getCurrentTime();
+ public void setCurrentTime(float seconds);
+ public NodeList getIntersectionList(SVGRect rect, SVGElement referenceElement);
+ public NodeList getEnclosureList(SVGRect rect, SVGElement referenceElement);
+ public boolean checkIntersection(SVGElement element, SVGRect rect);
+ public boolean checkEnclosure(SVGElement element, SVGRect rect);
+ public void deselectAll();
+ public SVGNumber createSVGNumber();
+ public SVGLength createSVGLength();
+ public SVGAngle createSVGAngle();
+ public SVGPoint createSVGPoint();
+ public SVGMatrix createSVGMatrix();
+ public SVGRect createSVGRect();
+ public SVGTransform createSVGTransform();
+ public SVGTransform createSVGTransformFromMatrix(SVGMatrix matrix);
+ public Element getElementById(String elementId);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGScriptElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGScriptElement.java
new file mode 100644
index 000000000..a82c4d552
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGScriptElement.java
@@ -0,0 +1,13 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGScriptElement extends
+ SVGElement,
+ SVGURIReference,
+ SVGExternalResourcesRequired {
+ public String getType();
+ public void setType(String type)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGSetElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGSetElement.java
new file mode 100644
index 000000000..0ca9c09ef
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGSetElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGSetElement extends
+ SVGAnimationElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGStopElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGStopElement.java
new file mode 100644
index 000000000..b2c44f044
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGStopElement.java
@@ -0,0 +1,8 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGStopElement extends
+ SVGElement,
+ SVGStylable {
+ public SVGAnimatedNumber getOffset();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGStringList.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGStringList.java
new file mode 100644
index 000000000..9f557d74a
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGStringList.java
@@ -0,0 +1,23 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGStringList {
+ public int getNumberOfItems();
+
+ public void clear()
+ throws DOMException;
+ public String initialize(String newItem)
+ throws DOMException, SVGException;
+ public String getItem(int index)
+ throws DOMException;
+ public String insertItemBefore(String newItem, int index)
+ throws DOMException, SVGException;
+ public String replaceItem(String newItem, int index)
+ throws DOMException, SVGException;
+ public String removeItem(int index)
+ throws DOMException;
+ public String appendItem(String newItem)
+ throws DOMException, SVGException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGStylable.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGStylable.java
new file mode 100644
index 000000000..9d9ad8ece
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGStylable.java
@@ -0,0 +1,12 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.css.CSSStyleDeclaration;
+import org.w3c.dom.css.CSSValue;
+
+public interface SVGStylable {
+ public SVGAnimatedString getClassName();
+ public CSSStyleDeclaration getStyle();
+
+ public CSSValue getPresentationAttribute(String name);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGStyleElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGStyleElement.java
new file mode 100644
index 000000000..b545cf7dd
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGStyleElement.java
@@ -0,0 +1,20 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGStyleElement extends
+ SVGElement {
+ public String getXMLspace();
+ public void setXMLspace(String xmlspace)
+ throws DOMException;
+ public String getType();
+ public void setType(String type)
+ throws DOMException;
+ public String getMedia();
+ public void setMedia(String media)
+ throws DOMException;
+ public String getTitle();
+ public void setTitle(String title)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGSwitchElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGSwitchElement.java
new file mode 100644
index 000000000..c5187563b
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGSwitchElement.java
@@ -0,0 +1,14 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGSwitchElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGSymbolElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGSymbolElement.java
new file mode 100644
index 000000000..ee288bc92
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGSymbolElement.java
@@ -0,0 +1,13 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGSymbolElement extends
+ SVGElement,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGFitToViewBox,
+ EventTarget {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTRefElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTRefElement.java
new file mode 100644
index 000000000..2d8202ede
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTRefElement.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGTRefElement extends
+ SVGTextPositioningElement,
+ SVGURIReference {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTSpanElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTSpanElement.java
new file mode 100644
index 000000000..729b857db
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTSpanElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGTSpanElement extends
+ SVGTextPositioningElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTests.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTests.java
new file mode 100644
index 000000000..71c9a3f75
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTests.java
@@ -0,0 +1,10 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGTests {
+ public SVGStringList getRequiredFeatures();
+ public SVGStringList getRequiredExtensions();
+ public SVGStringList getSystemLanguage();
+
+ public boolean hasExtension(String extension);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTextContentElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTextContentElement.java
new file mode 100644
index 000000000..928334141
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTextContentElement.java
@@ -0,0 +1,37 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGTextContentElement extends
+ SVGElement,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ EventTarget {
+ // lengthAdjust Types
+ public static final short LENGTHADJUST_UNKNOWN = 0;
+ public static final short LENGTHADJUST_SPACING = 1;
+ public static final short LENGTHADJUST_SPACINGANDGLYPHS = 2;
+
+ public SVGAnimatedLength getTextLength();
+ public SVGAnimatedEnumeration getLengthAdjust();
+
+ public int getNumberOfChars();
+ public float getComputedTextLength();
+ public float getSubStringLength(int charnum, int nchars)
+ throws DOMException;
+ public SVGPoint getStartPositionOfChar(int charnum)
+ throws DOMException;
+ public SVGPoint getEndPositionOfChar(int charnum)
+ throws DOMException;
+ public SVGRect getExtentOfChar(int charnum)
+ throws DOMException;
+ public float getRotationOfChar(int charnum)
+ throws DOMException;
+ public int getCharNumAtPosition(SVGPoint point);
+ public void selectSubString(int charnum, int nchars)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTextElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTextElement.java
new file mode 100644
index 000000000..f25cc3c20
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTextElement.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGTextElement extends
+ SVGTextPositioningElement,
+ SVGTransformable {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTextPathElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTextPathElement.java
new file mode 100644
index 000000000..cb56366b8
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTextPathElement.java
@@ -0,0 +1,19 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGTextPathElement extends
+ SVGTextContentElement,
+ SVGURIReference {
+ // textPath Method Types
+ public static final short TEXTPATH_METHODTYPE_UNKNOWN = 0;
+ public static final short TEXTPATH_METHODTYPE_ALIGN = 1;
+ public static final short TEXTPATH_METHODTYPE_STRETCH = 2;
+ // textPath Spacing Types
+ public static final short TEXTPATH_SPACINGTYPE_UNKNOWN = 0;
+ public static final short TEXTPATH_SPACINGTYPE_AUTO = 1;
+ public static final short TEXTPATH_SPACINGTYPE_EXACT = 2;
+
+ public SVGAnimatedLength getStartOffset();
+ public SVGAnimatedEnumeration getMethod();
+ public SVGAnimatedEnumeration getSpacing();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTextPositioningElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTextPositioningElement.java
new file mode 100644
index 000000000..b5f2e23be
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTextPositioningElement.java
@@ -0,0 +1,11 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGTextPositioningElement extends
+ SVGTextContentElement {
+ public SVGAnimatedLengthList getX();
+ public SVGAnimatedLengthList getY();
+ public SVGAnimatedLengthList getDx();
+ public SVGAnimatedLengthList getDy();
+ public SVGAnimatedNumberList getRotate();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTitleElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTitleElement.java
new file mode 100644
index 000000000..cbf45fe2a
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTitleElement.java
@@ -0,0 +1,8 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGTitleElement extends
+ SVGElement,
+ SVGLangSpace,
+ SVGStylable {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTransform.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTransform.java
new file mode 100644
index 000000000..3d355fcc0
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTransform.java
@@ -0,0 +1,24 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGTransform {
+ // Transform Types
+ public static final short SVG_TRANSFORM_UNKNOWN = 0;
+ public static final short SVG_TRANSFORM_MATRIX = 1;
+ public static final short SVG_TRANSFORM_TRANSLATE = 2;
+ public static final short SVG_TRANSFORM_SCALE = 3;
+ public static final short SVG_TRANSFORM_ROTATE = 4;
+ public static final short SVG_TRANSFORM_SKEWX = 5;
+ public static final short SVG_TRANSFORM_SKEWY = 6;
+
+ public short getType();
+ public SVGMatrix getMatrix();
+ public float getAngle();
+
+ public void setMatrix(SVGMatrix matrix);
+ public void setTranslate(float tx, float ty);
+ public void setScale(float sx, float sy);
+ public void setRotate(float angle, float cx, float cy);
+ public void setSkewX(float angle);
+ public void setSkewY(float angle);
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTransformList.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTransformList.java
new file mode 100644
index 000000000..df5023ca8
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTransformList.java
@@ -0,0 +1,25 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGTransformList {
+ public int getNumberOfItems();
+
+ public void clear()
+ throws DOMException;
+ public SVGTransform initialize(SVGTransform newItem)
+ throws DOMException, SVGException;
+ public SVGTransform getItem(int index)
+ throws DOMException;
+ public SVGTransform insertItemBefore(SVGTransform newItem, int index)
+ throws DOMException, SVGException;
+ public SVGTransform replaceItem(SVGTransform newItem, int index)
+ throws DOMException, SVGException;
+ public SVGTransform removeItem(int index)
+ throws DOMException;
+ public SVGTransform appendItem(SVGTransform newItem)
+ throws DOMException, SVGException;
+ public SVGTransform createSVGTransformFromMatrix(SVGMatrix matrix);
+ public SVGTransform consolidate();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTransformable.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTransformable.java
new file mode 100644
index 000000000..fcf8e98fe
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGTransformable.java
@@ -0,0 +1,7 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGTransformable extends
+ SVGLocatable {
+ public SVGAnimatedTransformList getTransform();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGURIReference.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGURIReference.java
new file mode 100644
index 000000000..d47256a19
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGURIReference.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGURIReference {
+ public SVGAnimatedString getHref();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGUnitTypes.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGUnitTypes.java
new file mode 100644
index 000000000..9fc7685e9
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGUnitTypes.java
@@ -0,0 +1,9 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGUnitTypes {
+ // Unit Types
+ public static final short SVG_UNIT_TYPE_UNKNOWN = 0;
+ public static final short SVG_UNIT_TYPE_USERSPACEONUSE = 1;
+ public static final short SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGUseElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGUseElement.java
new file mode 100644
index 000000000..b95362960
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGUseElement.java
@@ -0,0 +1,21 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.EventTarget;
+
+public interface SVGUseElement extends
+ SVGElement,
+ SVGURIReference,
+ SVGTests,
+ SVGLangSpace,
+ SVGExternalResourcesRequired,
+ SVGStylable,
+ SVGTransformable,
+ EventTarget {
+ public SVGAnimatedLength getX();
+ public SVGAnimatedLength getY();
+ public SVGAnimatedLength getWidth();
+ public SVGAnimatedLength getHeight();
+ public SVGElementInstance getInstanceRoot();
+ public SVGElementInstance getAnimatedInstanceRoot();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGVKernElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGVKernElement.java
new file mode 100644
index 000000000..cc2e4f4f1
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGVKernElement.java
@@ -0,0 +1,6 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGVKernElement extends
+ SVGElement {
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGViewElement.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGViewElement.java
new file mode 100644
index 000000000..2273d1893
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGViewElement.java
@@ -0,0 +1,10 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGViewElement extends
+ SVGElement,
+ SVGExternalResourcesRequired,
+ SVGFitToViewBox,
+ SVGZoomAndPan {
+ public SVGStringList getViewTarget();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGViewSpec.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGViewSpec.java
new file mode 100644
index 000000000..559b143e9
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGViewSpec.java
@@ -0,0 +1,13 @@
+
+package org.w3c.dom.svg;
+
+public interface SVGViewSpec extends
+ SVGZoomAndPan,
+ SVGFitToViewBox {
+ public SVGTransformList getTransform();
+ public SVGElement getViewTarget();
+ public String getViewBoxString();
+ public String getPreserveAspectRatioString();
+ public String getTransformString();
+ public String getViewTargetString();
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGZoomAndPan.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGZoomAndPan.java
new file mode 100644
index 000000000..028426ed7
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGZoomAndPan.java
@@ -0,0 +1,15 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.DOMException;
+
+public interface SVGZoomAndPan {
+ // Zoom and Pan Types
+ public static final short SVG_ZOOMANDPAN_UNKNOWN = 0;
+ public static final short SVG_ZOOMANDPAN_DISABLE = 1;
+ public static final short SVG_ZOOMANDPAN_MAGNIFY = 2;
+
+ public short getZoomAndPan();
+ public void setZoomAndPan(short zoomAndPan)
+ throws DOMException;
+}
diff --git a/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGZoomEvent.java b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGZoomEvent.java
new file mode 100644
index 000000000..062010926
--- /dev/null
+++ b/fine-xmlgraphics/xmlgraphics-batik/src/main/java/org/w3c/dom/svg/SVGZoomEvent.java
@@ -0,0 +1,13 @@
+
+package org.w3c.dom.svg;
+
+import org.w3c.dom.events.UIEvent;
+
+public interface SVGZoomEvent extends
+ UIEvent {
+ public SVGRect getZoomRectScreen();
+ public float getPreviousScale();
+ public SVGPoint getPreviousTranslate();
+ public float getNewScale();
+ public SVGPoint getNewTranslate();
+}