# HG changeset patch
# User TasneemS@US-TASNEEMS
# Date 1262900387 28800
# Node ID d3477de62514e96826c0ae51a6a45851e5e07a87
# Parent e4420d2515f19d6bc150c2b02aa0614fb9176f7d
Added new wizards for importing WRT projects. Added CSS Validator.
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/.classpath
--- a/org.symbian.tools.wrttools/.classpath Wed Dec 23 17:13:18 2009 -0800
+++ b/org.symbian.tools.wrttools/.classpath Thu Jan 07 13:39:47 2010 -0800
@@ -3,5 +3,8 @@
+
+
+
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/.settings/org.eclipse.jdt.core.prefs
--- a/org.symbian.tools.wrttools/.settings/org.eclipse.jdt.core.prefs Wed Dec 23 17:13:18 2009 -0800
+++ b/org.symbian.tools.wrttools/.settings/org.eclipse.jdt.core.prefs Thu Jan 07 13:39:47 2010 -0800
@@ -1,4 +1,4 @@
-#Mon Dec 21 14:49:08 PST 2009
+#Thu Jan 07 13:06:13 PST 2010
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/Copy of .classpath
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/Copy of .classpath Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/Copy of .project
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/Copy of .project Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,28 @@
+
+
+ org.symbian.tools.wrttools
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+
+
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/Copy of build.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/Copy of build.properties Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/Copy of plugin.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/Copy of plugin.xml Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates a new widget based on existing project workspaces.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/META-INF/MANIFEST.MF
--- a/org.symbian.tools.wrttools/META-INF/MANIFEST.MF Wed Dec 23 17:13:18 2009 -0800
+++ b/org.symbian.tools.wrttools/META-INF/MANIFEST.MF Thu Jan 07 13:39:47 2010 -0800
@@ -9,10 +9,26 @@
org.eclipse.core.runtime,
org.eclipse.core.resources,
org.eclipse.emf.common,
- org.eclipse.emf.ecore
+ org.eclipse.emf.ecore,
+ org.eclipse.core.databinding;bundle-version="1.2.0",
+ org.eclipse.core.databinding.beans;bundle-version="1.2.0",
+ org.eclipse.core.databinding.property;bundle-version="1.2.0",
+ org.eclipse.jface.databinding;bundle-version="1.3.0",
+ org.eclipse.wst.jsdt.ui;bundle-version="1.0.200",
+ org.eclipse.wst.jsdt.core;bundle-version="1.0.200",
+ org.eclipse.wst.css.core;bundle-version="1.1.300",
+ org.eclipse.ui.ide;bundle-version="3.5.0",
+ org.eclipse.wst.validation;bundle-version="1.2.102"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Import-Package: org.chromium.debug.core,
+Import-Package: org.apache.velocity;version="1.5.0",
+ org.apache.velocity.app;version="1.5.0",
+ org.apache.velocity.context;version="1.5.0",
+ org.apache.velocity.convert;version="1.5.0",
+ org.apache.velocity.io;version="1.5.0",
+ org.apache.velocity.runtime;version="1.5.0",
+ org.apache.velocity.util;version="1.5.0",
+ org.chromium.debug.core,
org.chromium.debug.core.model,
org.chromium.debug.core.util,
org.chromium.sdk,
@@ -33,3 +49,5 @@
org.eclipse.ui.internal.ide,
org.eclipse.ui.internal.ide.dialogs,
org.eclipse.ui.wizards.newresource
+Bundle-ClassPath: lib/tagsoup-1.2.jar,
+ .
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/Activator.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/Activator.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/core/ProjectTemplate.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/core/ProjectTemplate.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/core/internal/validation/CssBuildValidator.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/core/internal/validation/CssBuildValidator.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/icons/Thumbs.db
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/icons/Thumbs.db has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/projects/ProjectUtils.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/projects/ProjectUtils.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/util/Helper.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/util/Helper.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/util/Unzip.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/util/Unzip.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AbstractDataBindingPage$NonEmptyStringValidator.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AbstractDataBindingPage$NonEmptyStringValidator.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AbstractDataBindingPage.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AbstractDataBindingPage.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$1.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$1.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$10.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$10.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$11.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$11.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$12.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$12.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$13.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$13.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$14.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$14.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$15.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$15.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$16.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$16.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$17.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$17.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$2.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$2.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$3.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$3.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$4.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$4.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$5.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$5.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$6.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$6.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$7.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$7.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$8.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$8.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$9.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$9.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$ProjectLabelProvider.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$ProjectLabelProvider.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$ProjectRecord.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage$ProjectRecord.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectLocationWizardPage.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectsImportWizard.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AptanaProjectsImportWizard.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/FlickrProjectDetailsWizardPage$Factory.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/FlickrProjectDetailsWizardPage$Factory.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/FlickrProjectDetailsWizardPage.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/FlickrProjectDetailsWizardPage.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/IWizardPageFactory.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/IWizardPageFactory.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/RssReaderProjectDetailsWizardPage$Factory.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/RssReaderProjectDetailsWizardPage$Factory.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/RssReaderProjectDetailsWizardPage.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/RssReaderProjectDetailsWizardPage.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectDetailsWizardPage.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectDetailsWizardPage.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectFilesWizardPage.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectFilesWizardPage.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage$1.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage$1.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage$2.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage$2.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage$3.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage$3.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage$ProjectTemplateLabelProvider.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage$ProjectTemplateLabelProvider.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectWizard$1.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectWizard$1.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectWizard$2.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectWizard$2.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectWizard.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectWizard.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WizardContext.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WizardContext.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WrtWidgetWizard$1.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WrtWidgetWizard$1.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WrtWidgetWizard$2.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WrtWidgetWizard$2.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WrtWidgetWizard.class
Binary file org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WrtWidgetWizard.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/.cvsignore
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/css/.cvsignore Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,2 @@
+observer-response.xsd
+properties.zip
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/CompareExplicitWeight.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/CompareExplicitWeight.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/CompareOrderSpecified.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/CompareOrderSpecified.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/CompareSpecificity.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/CompareSpecificity.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/CssCascadingOrder.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/CssCascadingOrder.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/CssParser.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/CssParser.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/CssRuleList.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/CssRuleList.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/CssStyleRule.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/CssStyleRule.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/DocumentParser.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/DocumentParser.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/Makefile
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/css/Makefile Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,39 @@
+SRCS = CssCascadingOrder.java StyleSheetCom.java \
+CssParser.java StyleSheetGenerator.java \
+StyleSheetParser.java StyleSheet.java\
+HTMLStyleSheetParser.java StyleSheetXMLParser.java \
+
+
+OBJS = $(SRCS:.java=.class)
+
+PACKAGE = org.w3c.css.css
+JAVAC = jc -val
+JAVADOC = javadoc
+JAVADOCFLAGS = -version -d docs -protected
+JAVACFLAGS =
+MAKEDEPEND = jmakedepend
+
+.SUFFIXES: .class .java
+.java.class:; $(JAVAC) $(JAVACFLAGS) $<
+
+all: $(OBJS) html.properties.ja html.properties.zh-cn
+
+javadoc:; $(JAVADOC) $(JAVADOCFLAGS) $(PACKAGE)
+
+clean:; -rm -f $(OBJS) *~ core
+
+depend:; $(MAKEDEPEND) $(SRCS)
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+StyleSheetParser.class:: StyleSheetParser.java
+StyleSheetCom.class:: StyleSheetCom.java
+StyleSheetGenerator.class:: StyleSheetGenerator.java
+CssParser.class:: CssParser.java
+CssCascadingOrder.class:: CssCascadingOrder.java
+HTMLStyleSheetParser.class:: HTMLStyleSheetParser.java
+StyleSheet.class:: StyleSheet.java
+
+html.properties.ja: html.properties.ja.EUCJIS
+ native2ascii -encoding EUCJIS html.properties.ja.EUCJIS html.properties.ja
+html.properties.zh-cn: html.properties.zh-cn.GB
+ native2ascii -encoding euc-cn html.properties.zh-cn.GB html.properties.zh-cn
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/StyleReport.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/StyleReport.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/StyleSheet.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/StyleSheet.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/StyleSheetOrigin.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/StyleSheetOrigin.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/StyleSheetParser.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/StyleSheetParser.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/TagSoupStyleSheetHandler.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/TagSoupStyleSheetHandler.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/XMLStyleSheetHandler.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/css/XMLStyleSheetHandler.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/format.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/css/format.properties Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,9 @@
+# Available output format for the StyleSheetGeneratorHTML & StyleSheetGenerator(text)
+
+xhtml: xhtml.properties
+xml: xml.properties
+text: text.properties
+soap12: soap12.properties
+json: json.properties
+ucn: ucn.properties
+gnu: gnu.properties
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/gnu.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/css/gnu.properties Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,13 @@
+#foreach ( $error_content in $errors_content )
+#set ( $err = $error_content.get("Error") )
+#set ( $error_msg = $error_content.get("ErrorMsg") )
+#set ( $context_name = $error_content.get("CtxName") )
+#set ( $context_msg = $error_content.get("CtxMsg") )
+#set ( $class_name = $error_content.get("ClassName") )
+$err.SourceFile:$err.Line:$context_msg:$error_msg
+#end
+#foreach ( $warning in $warnings_list )
+#if ( $warning.Level <= $warning_level )
+$warning.SourceFile:$warning.Line: #if ( $warning.Context ) $warning.Context - #end :$warning.WarningMessage
+#end
+#end
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/json.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/css/json.properties Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,13 @@
+{
+ "cssvalidation" : {
+ "uri" : "$file_title",
+ "checkedby" : "http://www.w3.org/2005/07/css-validator",
+ "csslevel" : "$cssversion",
+ "date" : "$currentdate",
+ "validity" : $is_valid,
+ "result" : {
+ "errorcount" : $errors_count,
+ "warningcount" : $warnings_count
+ }
+ }
+}
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/soap12.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/css/soap12.properties Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,117 @@
+
+
+
+
+ $file_title
+ http://jigsaw.w3.org/css-validator/
+ $cssversion
+ $currentdate
+ $is_valid
+
+
+ $errors_count
+#set ( $sf = "" )
+#if ( $errors_count > 0 )
+ #foreach ( $error_content in $errors_content )
+ #set ( $err = $error_content.get("Error") )
+ #set ( $error_msg = $error_content.get("ErrorMsg") )
+ #set ( $class_name = $error_content.get("ClassName") )
+ #set ( $context_msg = $error_content.get("CtxMsg") )
+ #if ( $error_content.get("link_value_parse_error") )
+ #set ( $before_link = $error_content.get("link_before_parse_error") )
+ #set ( $link_value = $error_content.get("link_value_parse_error") )
+ #else
+ #set ( $link_value = false )
+ #end
+ #if ( $error_content.get("span_value_parse_error") )
+ #set ( $span_value = $error_content.get("span_value_parse_error") )
+ #else
+ #set ( $span_value = false )
+ #end
+ #if ( $sf != $err.SourceFile )
+ #if ( $open )
+
+
+ #end
+ #set ( $sf = $err.SourceFileEscaped )
+
+
+ $sf
+ #set ( $open = true )
+ #end
+
+
+ $err.Line
+ $class_name
+ #if ( $context_msg ) $context_msg #end
+ #if ( $span_value )
+ #set ( $span_class = $error_content.get("span_class_parse_error") )
+
+
+ $span_class
+
+
+ $span_value
+
+ #end
+
+
+ #if ( $link_value )
+ #set ( $link_name = $error_content.get("link_name_parse_error") )
+
+ $before_link : $link_name ($link_value)
+ #end
+
+ $error_msg
+
+
+ #end
+ #if ( $open )
+
+
+ #end
+#end
+
+
+
+ $warnings_count
+#if ( $warnings_count > 0 )
+ #set ( $sf = "" )
+ #set ( $open = false )
+ #foreach ( $warning in $warnings_list )
+ #if ( $sf != $warning.SourceFile )
+ #if ( $open )
+
+
+ #end
+ #set ( $sf = $warning.SourceFileEscaped )
+
+
+ $sf
+ #set ( $open = true )
+ #end
+ #if ( $warning.Level <= $warning_level )
+
+
+ $warning.Line
+ $warning.Level
+ $warning.WarningMessageEscaped
+#if ( $warning.Context )
+ $warning.Context.Escaped
+#end
+
+ #end
+ #end
+ #if ( $open )
+
+
+ #end
+#end
+
+
+
+
+
+
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/text.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/css/text.properties Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,135 @@
+$W3C_validator_results $file_title
+
+#if ( !$no_errors_report )
+ #if ($errors_count == 0)
+$congrats
+
+$doc_validates_before_link $css $doc_validates_after_link
+ #if ( !$file_title.trim().startsWith("file://localhost") )
+
+$no_errors_interoperable_msg
+
+
+
+
+
+
+($no_errors_close_tags_msg)
+$no_errors_dl_local_msg
+$no_errors_create_link_msg
+ http://jigsaw.w3.org/css-validator/validator$link
+or http://jigsaw.w3.org/css-validator/check/referer ($no_errors_forHTML_only_msg)
+($no_errors_bookmark_msg)
+ #end
+ #else
+ #if ( $hook_html_validator )
+
+$hook_html_validator
+ #end
+ #set ( $sf = "" )
+ #set ( $open = false )
+
+$errors_sorry_msg ($errors_count)
+ #if ( $request )
+
+$request
+ #end
+
+#foreach ( $error_content in $errors_content )
+#set ( $err = $error_content.get("Error") )
+#set ( $error_msg = $error_content.get("ErrorMsg") )
+#set ( $context_name = $error_content.get("CtxName") )
+#set ( $context_msg = $error_content.get("CtxMsg") )
+#set ( $class_name = $error_content.get("ClassName") )
+#if ( $error_content.get("link_value_parse_error") )
+ #set ( $before_link = $error_content.get("link_before_parse_error") )
+ #set ( $link_value = $error_content.get("link_value_parse_error") )
+#else
+ #set ( $link_value = false )
+#end
+#if ( !$link_value && $error_content.get("span_value_parse_error") )
+ #set ( $span_value = $error_content.get("span_value_parse_error") )
+#else
+ #set ( $span_value = false )
+#end
+#if ( $sf != $err.SourceFile )
+ #set ( $sf = $err.SourceFile )
+
+URI : $sf
+
+#set ( $open = true )
+#end
+Line : $err.Line $context_msg
+#if ( $link_value )
+#set ( $link_name = $error_content.get("link_name_parse_error") )
+ ($before_link : $link_name ($link_value))
+#end
+ $error_msg
+#if ( $span_value )
+#set ( $span_class = $error_content.get("span_class_parse_error") )
+ $span_value
+#end
+#end
+
+#end
+#end
+#if ($warnings_count > 0)
+
+$warnings ($warnings_count)
+#set ( $sf = "" )
+#set ( $open = false )
+#foreach ( $warning in $warnings_list )
+#if ( $sf != $warning.SourceFile )
+#set ( $sf = $warning.SourceFile )
+
+URI : $sf
+
+#set ( $open = true )
+#end
+#if ( $warning.Level <= $warning_level )
+Line : $warning.Line - #if ( $warning.Context ) $warning.Context - #end $warning.WarningMessage
+#end
+#end
+
+#end
+
+#if ( $rules_count > 0 )
+
+$valid_CSS_info
+ #if ($style_charset)
+
+@charset "$style_charset";
+ #end
+
+ #foreach ( $rules in $at_rules_list )
+#if ( $rules.AtRule != "" )
+
+$rules.AtRule
+#if ( !$rules.Empty )
+{
+ #end
+ #end
+ #foreach ( $rule in $rules.StyleRules )
+ #if ( $rule.Selectors )
+ $rule.Selectors
+ {
+ #end
+#foreach ( $property in $rule.Properties )
+ $property.PropertyName : $property;
+#end
+ #if ( $rule.Selectors )
+ }
+ #end
+ #end
+ #if ( $rules.AtRule != "" )
+#if ( !$rules.Empty )
+
+}
+ #end
+ #end
+ #end
+#else
+$CSS_not_found
+#end
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/ucn.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/css/ucn.properties Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,154 @@
+
+
+ $file_title
+ http://jigsaw.w3.org/css-validator/
+ $cssversion
+ $currentdate
+ $is_valid
+
+
+ $errors_count
+#if ( $errors_count > 0 )
+ #set ( $sf = "" )
+ #set ( $open = false )
+ #foreach ( $error_content in $errors_content )
+ #set ( $err = $error_content.get("Error") )
+ #if ( $sf != $err.SourceFile )
+ #if ( $open )
+
+ #end
+ #set ( $sf = $err.SourceFileEscaped )
+
+ #set ( $open = true )
+ #if ( $fake_input )
+ $file_title
+ #else
+ $sf
+ #end
+ #end
+
+ #set ( $error_msg = $error_content.get("ErrorMsg") )
+ #set ( $context_name = $error_content.get("CtxName") )
+ #set ( $context_msg = $error_content.get("CtxMsg") )
+ #set ( $class_name = $error_content.get("ClassName") )
+ #if ( $error_content.get("link_value_parse_error") )
+ #set ( $before_link = $error_content.get("link_before_parse_error") )
+ #set ( $link_value = $error_content.get("link_value_parse_error") )
+ #else
+ #set ( $link_value = false )
+ #end
+ #if ( $error_content.get("span_value_parse_error") )
+ #set ( $span_value = $error_content.get("span_value_parse_error") )
+ #else
+ #set ( $span_value = false )
+ #end
+
+
+ $err.Line
+ #if ( $context_msg ) $context_msg #end
+ $class_name
+
+ #if ( $link_value )
+ #set ( $link_name = $error_content.get("link_name_parse_error") )
+ $before_link : $link_name ($link_value)
+ #end
+ $error_msg
+ #if ( $span_value )
+ #set ( $span_class = $error_content.get("span_class_parse_error") )
+ $span_value
+ #end
+
+
+
+ #end
+ #if ( $open )
+
+ #end
+#end
+
+
+
+
+
+ $warnings_count
+#if ( $warnings_count > 0 )
+ #set ( $sf = "" )
+ #set ( $open = false )
+ #foreach ( $warning in $warnings_list )
+ #if ( $sf != $warning.SourceFile )
+ #if ( $open )
+
+ #end
+ #set ( $sf = $warning.SourceFileEscaped )
+
+ #set ( $open = true )
+ #if ( $fake_input )
+ $file_title
+ #else
+ $sf
+ #end
+
+ #end
+ #if ( $warning.Level <= $warning_level )
+
+ #if ( $warning.Level )
+ $warning.Level
+ #end
+ $warning.Line
+ #if ( $warning.Context ) $warning.Context.Escaped #end
+ $warning.WarningMessageEscaped
+
+ #end
+ #end
+ #if ( $open )
+
+ #end
+#end
+
+
+
+
+#if ( $errors_count == 0 )
+
+ 1
+
+ $file_title
+
+ $doc_validates_before_link $css $doc_validates_after_link
+
+ $no_errors_interoperable_msg
+
+
+
+ <p>
+ <a href="http://jigsaw.w3.org/css-validator/check/referer">
+ <img style="border:0;width:88px;height:31px"
+ src="http://jigsaw.w3.org/css-validator/images/vcss"
+ alt="$valid_CSS" />
+ </a>
+</p>
+
+
+
+ <p>
+ <a href="http://jigsaw.w3.org/css-validator/check/referer">
+ <img style="border:0;width:88px;height:31px"
+ src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="$valid_CSS" />
+ </a>
+</p>
+
+
+ ($no_errors_close_tags_msg)
+
+
+ $no_errors_dl_local_msg
+
+
+
+
+#end
+
+
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/urls.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/css/urls.properties Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,120 @@
+@url-base_css1 : http://www.w3.org/TR/REC-CSS1/
+@url-base_css2 : http://www.w3.org/TR/REC-CSS2/
+@url-base_css21 : http://www.w3.org/TR/CSS21/
+@url-base_css3 : http://www.w3.org/Style/CSS/current-work.html
+azimuth : aural.html#propdef-azimuth
+background : colors.html#propdef-background
+background-attachment : colors.html#propdef-background-attachment
+background-color : colors.html#propdef-background-color
+background-image : colors.html#propdef-background-image
+background-position : colors.html#propdef-background-position
+background-repeat : colors.html#propdef-background-repeat
+border : box.html#propdef-border
+border-bottom : box.html#propdef-border-bottom
+border-bottom-color : box.html#propdef-border-bottom-color
+border-bottom-style : box.html#propdef-border-bottom-style
+border-bottom-width : box.html#propdef-border-bottom-width
+border-color : box.html#propdef-border-color
+border-left : box.html#propdef-border-left
+border-left-color : box.html#propdef-border-left-color
+border-left-style : box.html#propdef-border-left-style
+border-left-width : box.html#propdef-border-left-width
+border-right : box.html#propdef-border-right
+border-right-color : box.html#propdef-border-right-color
+border-right-style : box.html#propdef-border-right-style
+border-right-width : box.html#propdef-border-right-width
+border-spacing : tables.html#propdef-border-spacing
+border-style : box.html#propdef-border-style
+border-top : box.html#propdef-border-top
+border-top-color : box.html#propdef-border-top-color
+border-top-style : box.html#propdef-border-top-style
+border-top-width : box.html#propdef-border-top-width
+border-width : box.html#propdef-border-width
+bottom : visuren.html#propdef-bottom
+caption-side : tables.html#propdef-caption-side
+clear : visuren.html#propdef-clear
+clip : visufx.html#propdef-clip
+color : colors.html#propdef-color
+column-span : tables.html#propdef-column-span
+content : generate.html#propdef-content
+counter-increment : generate.html#propdef-counter-increment
+counter-reset : generate.html#propdef-counter-reset
+cue : aural.html#propdef-cue
+cue-after : aural.html#propdef-cue-after
+cue-before : aural.html#propdef-cue-before
+cursor : ui.html#propdef-cursor
+direction : visuren.html#propdef-direction
+display : visuren.html#propdef-display
+elevation : aural.html#propdef-elevation
+float : visuren.html#propdef-float
+font : fonts.html#propdef-font
+font-family : fonts.html#propdef-font-family
+font-size : fonts.html#propdef-font-size
+font-size-adjust : fonts.html#propdef-font-size-adjust
+font-style : fonts.html#propdef-font-style
+font-variant : fonts.html#propdef-font-variant
+font-weight : fonts.html#propdef-font-weight
+height : visudet.html#propdef-height
+left : visuren.html#propdef-left
+letter-spacing : text.html#propdef-letter-spacing
+line-height : visudet.html#propdef-line-height
+list-style : generate.html#propdef-list-style
+list-style-image : generate.html#propdef-list-style-image
+list-style-position : generate.html#propdef-list-style-position
+list-style-type : generate.html#propdef-list-style-type
+margin : box.html#propdef-margin
+margin-bottom : box.html#propdef-margin-bottom
+margin-left : box.html#propdef-margin-left
+margin-right : box.html#propdef-margin-right
+margin-top : box.html#propdef-margin-top
+marks : page.html#propdef-marks
+max-height : visudet.html#propdef-max-height
+max-width : visudet.html#propdef-max-width
+min-height : visudet.html#propdef-min-height
+min-width : visudet.html#propdef-min-width
+orphans : page.html#propdef-orphans
+overflow : visufx.html#propdef-overflow
+padding : box.html#propdef-padding
+padding-bottom : box.html#propdef-padding-bottom
+padding-left : box.html#propdef-padding-left
+padding-right : box.html#propdef-padding-right
+padding-top : box.html#propdef-padding-top
+page-break-after : page.html#propdef-page-break-after
+page-break-before : page.html#propdef-page-break-before
+pause : aural.html#propdef-pause
+pause-after : aural.html#propdef-pause-after
+pause-before : aural.html#propdef-pause-before
+pitch : aural.html#propdef-pitch
+pitch-range : aural.html#propdef-pitch-range
+play-during : aural.html#propdef-play-during
+position : visuren.html#propdef-position
+quotes : generate.html#propdef-quotes
+richness : aural.html#propdef-richness
+right : visuren.html#propdef-right
+row-span : tables.html#propdef-row-span
+size : page.html#propdef-size
+speak : aural.html#propdef-speak
+speak-date : aural.html#propdef-speak-date
+speak-header : tables.html#propdef-speak-header
+speak-numeral : aural.html#propdef-speak-numeral
+speak-punctuation : aural.html#propdef-speak-punctuation
+speak-time : aural.html#propdef-speak-time
+speech-rate : aural.html#propdef-speech-rate
+stress : aural.html#propdef-stress
+table-layout : tables.html#propdef-table-layout
+text-align : text.html#propdef-text-align
+text-decoration : text.html#propdef-text-decoration
+text-indent : text.html#propdef-text-indent
+text-shadow : text.html#propdef-text-shadow
+text-transform : text.html#propdef-text-transform
+top : visuren.html#propdef-top
+unicode-bidi : visuren.html#propdef-unicode-bidi
+vertical-align : visudet.html#propdef-vertical-align
+visibility : visufx.html#propdef-visibility
+voice-family : aural.html#propdef-voice-family
+volume : aural.html#propdef-volume
+white-space : text.html#propdef-white-space
+widows : page.html#propdef-widows
+width : visudet.html#propdef-width
+word-spacing : text.html#propdef-word-spacing
+z-index : visuren.html#propdef-z-index
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/xhtml.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/css/xhtml.properties Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,363 @@
+
+
+
+
+
+
+
+#if ( !$css ) #set ( $css = $cssversion ) #end
+ $W3C_validator_results $file_title ($css)
+
+
+
+
+
+
+
+
+
+ $W3C_validator_results $file_title ($css)
+
+
+
+#if ( $errors_count > 0 || $warnings_count > 0 || $rules_count > 0 )
+
+#end
+
+#if ($file_title.trim().startsWith("http://"))
+
$W3C_validator_results $file_title ($css)
+#else
+
$W3C_validator_results $file_title ($css)
+#end
+#if ( !$no_errors_report )
+ #if ($errors_count == 0)
+
+
+
$congrats
+
+ $doc_validates_before_link $css $doc_validates_after_link
+
+
+ $no_errors_interoperable_msg
+
+
+
+<p>
+ <a href="http://jigsaw.w3.org/css-validator/check/referer">
+ <img style="border:0;width:88px;height:31px"
+ src="http://jigsaw.w3.org/css-validator/images/vcss"
+ alt="$valid_CSS" />
+ </a>
+</p>
+
+
+
+<p>
+<a href="http://jigsaw.w3.org/css-validator/check/referer">
+ <img style="border:0;width:88px;height:31px"
+ src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="$valid_CSS" />
+</a>
+</p>
+
+
($no_errors_close_tags_msg)
+
+
+
+
+
+
+ $no_errors_dl_local_msg
+
+ #if ( !$file_title.trim().startsWith("file://localhost") )
+
+ $no_errors_create_link_msg
+
+
http://jigsaw.w3.org/css-validator/validator$link
+or
+http://jigsaw.w3.org/css-validator/check/referer ($no_errors_forHTML_only_msg)
+
+
($no_errors_bookmark_msg)
+ #end
+
+
+
↑ $top
+ #else
+
+
+ #if ( $hook_html_validator )
+
+ $hook_html_validator
+ #end
+ #set ( $sf = "" )
+ #set ( $open = false )
+
+
+
$errors_sorry_msg ($errors_count)
+ #if ( $request )
+
+
$request
+ #end
+
+ #foreach ( $error_content in $errors_content )
+ #set ( $err = $error_content.get("Error") )
+ #set ( $error_msg = $error_content.get("ErrorMsg") )
+ #set ( $context_name = $error_content.get("CtxName") )
+ #set ( $context_msg = $error_content.get("CtxMsg") )
+ #set ( $class_name = $error_content.get("ClassName") )
+ #if ( $error_content.get("link_value_parse_error") )
+ #set ( $before_link = $error_content.get("link_before_parse_error") )
+ #set ( $link_value = $error_content.get("link_value_parse_error") )
+ #else
+ #set ( $link_value = false )
+ #end
+ #if ( $error_content.get("span_value_parse_error") )
+ #set ( $span_value = $error_content.get("span_value_parse_error") )
+ #else
+ #set ( $span_value = false )
+ #end
+ #if ( $sf != $err.SourceFile )
+ #if ( $open )
+
+
+
+
+ #end
+ #set ( $sf = $err.SourceFileEscaped )
+
+
+ #if ( $fake_input )
+
URI : $file_title
+ #else
+
+ #end
+
+ #set ( $open = true )
+ #end
+
+
+ $err.Line
+ #if ( $context_msg ) $context_msg #end
+
+ #if ( $link_value )
+ #set ( $link_name = $error_content.get("link_name_parse_error") )
+
+ $before_link : $link_name
+ #end
+
+ $error_msg
+ #if ( $span_value )
+ #set ( $span_class = $error_content.get("span_class_parse_error") )
+
+
+ $span_value
+
+ #end
+
+
+
+ #end
+ #if ( $open )
+
+
+
+ #end
+
+
+
+ ↑ $top
+ #end
+#end
+#if ($errors_count > 0)
+
+
+#end
+
+#if ($warnings_count > 0)
+
+
+
$warnings ($warnings_count)
+
+ #set ( $sf = "" )
+ #set ( $open = false )
+ #foreach ( $warning in $warnings_list )
+ #if ( $sf != $warning.SourceFile )
+ #if ( $open )
+
+
+
+
+ #end
+ #set ( $sf = $warning.SourceFileEscaped )
+
+
+ #if ( $fake_input )
+
URI : $file_title
+ #else
+
+ #end
+
+ #set ( $open = true )
+ #end
+ #if ( $warning.Level <= $warning_level )
+
+
+ $warning.Line
+ #if ( $warning.Context ) $warning.Context.Escaped #end
+ $warning.WarningMessageEscaped
+
+ #end
+ #end
+ #if ( $open )
+
+
+
+ #end
+
+
+
+ ↑ $top
+#end
+
+#if ( $rules_count > 0 )
+
+
$valid_CSS_info
+
+ #if ($style_charset)
+
+
@charset "$style_charset";
+ #end
+
+ #foreach ( $rules in $at_rules_list )
+ #if ( $rules.AtRule != "" )
+
+ #if ( $rules.Empty )
+
$rules.AtRuleEscaped
+ #else
+
+
+ $rules.AtRuleEscaped
+
+ {
+ #end
+ #end
+
+
+ #foreach ( $rule in $rules.StyleRules )
+
+
+ #if ( $rule.Selectors )
+
+ $rule.SelectorsEscaped
+
+ {
+ #end
+
+ #foreach ( $property in $rule.Properties )
+
+
+ $property.PropertyNameEscaped :
+ $property.Escaped #if ( $property.Important ) !important #end;
+
+ #end
+
+
+ #if ( $rule.Selectors )
+ }
+ #end
+
+ #end
+
+
+ #if ( $rules.AtRule != "" )
+ #if ( !$rules.Empty )
+
+ }
+ #end
+
+
+ #end
+ #end
+
+
+
+
↑ $top
+#else
+
$CSS_not_found
+#end
+
+
+
+#if ($file_title.trim().startsWith("http://") || $file_title.trim().equals("file://localhost/TextArea"))
+
+ #foreach ( $language in $languages )
+ #set ( $name = $language.get("name") )
+ #if ( $language.get("real") )
+ #set ( $real = $language.get("real") )
+ #else
+ #set ( $real = $language.get("name") )
+ #end
+
+ $real
+
+ #end
+
+
+#end
+
+
+
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/css/xml.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/css/xml.properties Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+#if ( $rules_count > 0 )
+ #if ($style_charset)
+
+ @charset
+ #end
+
+ #foreach ( $rules in $at_rules_list )
+ #if ( $rules.AtRule != "" )
+
+
+ $rules.AtRule
+ #elseif ( !$rules.Empty )
+
+
+ #end
+ #foreach ( $rule in $rules.StyleRules )
+
+
+ $rule.Selectors
+
+ #foreach ( $property in $rule.Properties )
+
+
+
+
+
+ #end
+
+
+
+ #end
+ #if ( $rules.AtRule != "" )
+
+
+ #elseif ( !$rules.Empty )
+
+
+ #end
+ #end
+#else
+ $CSS_not_found
+#end
+
+
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRule.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRule.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRuleFontFace.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRuleFontFace.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRuleImport.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRuleImport.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRuleMedia.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRuleMedia.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRuleMediaCSS1.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRuleMediaCSS1.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRuleMediaCSS2.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRuleMediaCSS2.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRuleNamespace.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRuleNamespace.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRulePage.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRulePage.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRulePhoneticAlphabet.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRulePhoneticAlphabet.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRulePreference.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/AtRulePreference.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssError.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssError.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssErrorToken.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssErrorToken.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssFouffa.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssFouffa.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssParseException.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssParseException.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssPrinterStyle.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssPrinterStyle.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssPropertyFactory.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssPropertyFactory.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssSelectors.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssSelectors.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssSelectorsConstant.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssSelectorsConstant.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssStyle.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssStyle.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssValidatorListener.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/CssValidatorListener.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/Elements.dtd4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/parser/Elements.dtd4 Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,91 @@
+A: false
+ABBR: false
+ACRONYM:false
+ADDRESS: true
+APPLET:false
+AREA:false
+B: false
+BASE: false
+BASEFONT:false
+BDO: false
+BIG: false
+BLOCKQUOTE: true
+BODY:true
+BR: false
+BUTTON: false
+CAPTION: false
+CENTER: true
+CITE: false
+CODE: false
+COL: false
+COLGROUP: false
+DD: false
+DEL: false
+DFN: false
+DIR: true
+DIV: true
+DL: true
+DT: false
+EM: false
+FIELDSET: true
+FONT: false
+FORM: true
+FRAME: false
+FRAMESET: false
+H1: true
+H2: true
+H3: true
+H4: true
+H5: true
+H6: true
+HEAD: false
+HR: true
+HTML: true
+I: false
+IFRAME: false
+IMG: false
+INPUT: false
+INS: false
+ISINDEX: true
+KBD: false
+LABEL: false
+LEGEND: false
+LI: true
+LINK: false
+MAP: false
+MENU: true
+META: false
+NOFRAMES: true
+NOSCRIPT: true
+OBJECT: false
+OL: true
+OPTION: false
+P: true
+PARAM: false
+PRE: true
+Q: false
+S: false
+SAMP: false
+SCRIPT: false
+SELECT: false
+SMALL: false
+SPAN: false
+STRIKE: false
+STRONG: false
+STYLE: false
+SUB: false
+SUP: false
+TABLE: true
+TBODY: false
+TD: false
+TEXTAREA: false
+TFOOT: false
+TH: false
+THEAD: false
+TITLE: false
+TR: false
+TT: false
+U: false
+UL: true
+VAR: false
+SCRIPT: false
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/Errors.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/Errors.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/Frame.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/Frame.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/Makefile
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/parser/Makefile Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,35 @@
+SRCS = CssFouffa.java Errors.java\
+CssError.java CssValidatorListener.java Frame.java\
+CssErrorDeclaration.java \
+CssErrorToken.java CssSelectors.java\
+CssStyle.java CssPrinterStyle.java CssParseException.java
+
+OBJS = $(SRCS:.java=.class)
+
+PACKAGE = org.w3c.css.parser
+JAVAC = jc -val
+JAVADOC = javadoc
+JAVADOCFLAGS = -version -d docs -protected
+JAVACFLAGS =
+MAKEDEPEND = jmakedepend
+
+.SUFFIXES: .class .java
+.java.class:; $(JAVAC) $(JAVACFLAGS) $<
+
+all: $(OBJS)
+
+javadoc:; $(JAVADOC) $(JAVADOCFLAGS) $(PACKAGE)
+
+clean:; -rm -f $(OBJS) *~ core
+
+depend:; $(MAKEDEPEND) $(SRCS)
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+CssErrorToken.class:: CssErrorToken.java
+Frame.class:: Frame.java
+CssError.class:: CssError.java
+CssValidatorListener.class:: CssValidatorListener.java
+Errors.class:: Errors.java
+CssFouffa.class:: CssFouffa.java
+CssStyle.class:: CssStyle.java
+CssParseException.class:: CssParseException.java
+CssPrinterStyle.class:: CssPrinterStyle.java
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/MediaEnumeration.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/MediaEnumeration.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/analyzer/CommentSkipperInputStream.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/analyzer/CommentSkipperInputStream.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/analyzer/Couple.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/analyzer/Couple.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/analyzer/CssParser$JJCalls.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/analyzer/CssParser$JJCalls.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/analyzer/CssParser$LookaheadSuccess.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/analyzer/CssParser$LookaheadSuccess.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/analyzer/CssParser.class
Binary file org.symbian.tools.wrttools/bin/org/w3c/css/parser/analyzer/CssParser.class has changed
diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/bin/org/w3c/css/parser/analyzer/CssParser.jj
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools/bin/org/w3c/css/parser/analyzer/CssParser.jj Thu Jan 07 13:39:47 2010 -0800
@@ -0,0 +1,2425 @@
+/* -*-java-extended-*-
+ *
+ * (c) COPYRIGHT MIT and INRIA, 1997.
+ * Please first read the full copyright statement in file COPYRIGHT.html
+ *
+ * $Id: CssParser.jj,v 1.69 2009-10-11 09:19:37 ylafon Exp $
+ *
+ */
+
+options {
+ IGNORE_CASE = true;
+ STATIC = false;
+ UNICODE_INPUT = true;
+ /*
+ DEBUG_TOKEN_MANAGER = true;
+ DEBUG_PARSER = true;
+ */
+}
+
+PARSER_BEGIN(CssParser)
+
+package org.w3c.css.parser.analyzer;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
+import java.util.Vector;
+import java.util.Enumeration;
+import java.net.URL;
+
+import org.w3c.css.values.CssValue;
+import org.w3c.css.values.CssExpression;
+import org.w3c.css.values.CssString;
+import org.w3c.css.values.CssURL;
+import org.w3c.css.values.CssLength;
+import org.w3c.css.values.CssNumber;
+import org.w3c.css.values.CssColor;
+import org.w3c.css.values.CssIdent;
+import org.w3c.css.values.CssPercentage;
+import org.w3c.css.values.CssFrequency;
+import org.w3c.css.values.CssTime;
+import org.w3c.css.values.CssDate;
+import org.w3c.css.values.CssAngle;
+import org.w3c.css.values.CssFunction;
+import org.w3c.css.values.CssUnicodeRange;
+import org.w3c.css.values.CssResolution;
+import org.w3c.css.properties.css1.CssProperty;
+import org.w3c.css.parser.Frame;
+import org.w3c.css.util.ApplContext;
+import org.w3c.css.parser.CssError;
+import org.w3c.css.parser.CssSelectors;
+import org.w3c.css.parser.CssParseException;
+import org.w3c.css.parser.AtRule;
+import org.w3c.css.parser.AtRuleMedia;
+import org.w3c.css.parser.AtRuleFontFace;
+import org.w3c.css.parser.AtRulePage;
+import org.w3c.css.parser.AtRulePreference;
+import org.w3c.css.parser.AtRulePhoneticAlphabet;
+import org.w3c.css.properties.svg.AtRuleColorProfile;
+import org.w3c.css.util.InvalidParamException;
+import org.w3c.css.util.Util;
+import org.w3c.css.util.Messages;
+import org.w3c.css.css.StyleSheetCom;
+
+import org.w3c.css.selectors.AdjacentSiblingSelector;
+import org.w3c.css.selectors.AttributeSelector;
+import org.w3c.css.selectors.ChildSelector;
+import org.w3c.css.selectors.ClassSelector;
+import org.w3c.css.selectors.DescendantSelector;
+import org.w3c.css.selectors.GeneralSiblingSelector;
+import org.w3c.css.selectors.IdSelector;
+import org.w3c.css.selectors.TypeSelector;
+import org.w3c.css.selectors.UniversalSelector;
+import org.w3c.css.selectors.attributes.AttributeAny;
+import org.w3c.css.selectors.attributes.AttributeBegin;
+import org.w3c.css.selectors.attributes.AttributeExact;
+import org.w3c.css.selectors.attributes.AttributeOneOf;
+import org.w3c.css.selectors.attributes.AttributeStart;
+import org.w3c.css.selectors.attributes.AttributeSubstr;
+import org.w3c.css.selectors.attributes.AttributeSuffix;
+
+/**
+ * A CSS3 parser
+ *
+ * @author Philippe Le Hegaret and Sijtsche Smeman
+ * @version $Revision: 1.69 $
+ */
+public abstract class CssParser {
+
+ private static char hexdigits[] = { '0', '1', '2', '3',
+ '4', '5', '6', '7',
+ '8', '9', 'a', 'b',
+ 'c', 'd', 'e', 'f' };
+ // the current atRule
+ protected AtRule atRule;
+ protected String mediaDeclaration = "off";
+
+ /**
+ * The URL of the document
+ */
+ protected URL url;
+
+ protected ApplContext ac;
+
+ protected boolean incompatible_error;
+
+ /**
+ * The current context recognized by the parser (for errors).
+ */
+ protected Vector currentContext;
+
+ /**
+ * The current property recognized by the parser (for errors).
+ */
+ protected String currentProperty;
+
+ /**
+ * true
if the parser should recognized Aural properties,
+ * false
otherwise.
+ */
+ protected boolean mode;
+
+ /**
+ * true
if the parser had recognize a rule,
+ * false
otherwise.
+ */
+ protected boolean markRule;
+
+ private boolean reinited = false;
+ private boolean charsetdeclared = false;
+
+ static StringBuilder SPACE = new StringBuilder(" ");
+
+ // to be able to remove a ruleset if the selector is not valid
+ protected boolean validSelector = true;
+
+ /**
+ * The ac for handling errors and warnings.
+ *
+ * @param ac the new ac for the parser.
+ */
+ public final void setApplContext(ApplContext ac) {
+ this.ac = ac;
+ }
+
+ /**
+ * Set the attribute atRule
+ *
+ * @param atRule the new value for the attribute
+ */
+ public void setAtRule(AtRule atRule) {
+ this.atRule = atRule;
+ }
+
+ /**
+ * Set the attribute mediaDeclaration
+ *
+ * @param mediaDeclaration indicator if in a media expression list or not
+ */
+ public void setMediaDeclaration(String mediadeclaration) {
+ this.mediaDeclaration = mediadeclaration;
+ }
+
+ /**
+ * Returns the attribute mediaDeclaration
+ *
+ * @return the value of the attribute
+ */
+ public String getMediaDeclaration() {
+ return mediaDeclaration;
+ }
+
+ /**
+ * Returns the attribute atRule
+ *
+ * @return the value of the attribute
+ */
+ public AtRule getAtRule() {
+ return atRule;
+ }
+
+ /**
+ * Reinitialized the parser.
+ *
+ * @param stream the stream data to parse.
+ * @param ac the new ac to use for parsing.
+ */
+ public void ReInitWithAc(InputStream stream, ApplContext ac,
+ String charset)
+ {
+ InputStream is = /*new CommentSkipperInputStream(stream);*/stream;
+ if (charset == null) {
+ charset = "iso-8859-1";
+ }
+ InputStreamReader isr = null;
+ try {
+ isr = new InputStreamReader(is, charset);
+ } catch (UnsupportedEncodingException uex) {
+ isr = new InputStreamReader(is);
+ }
+ // reinit, it can not happen...
+ // ...in theory ;)
+ ReInit(isr);
+ markRule = false;
+ reinited = true;
+ setApplContext(ac);
+ }
+
+ /* utilities for a parser */
+
+ /**
+ * Call by the import statement.
+ *
+ * @param url The style sheet where this import statement appears.
+ * @param file the file name in the import
+ */
+ public abstract void handleImport(URL url, String file,
+ boolean is_url, AtRuleMedia media);
+
+ /**
+ * Call by the namespace declaration statement.
+ *
+ * @param url The style sheet where this namespace statement appears.
+ * @param file the file/url name in the namespace declaration
+ */
+ public abstract void handleNamespaceDeclaration(URL url, String prefix,
+ String file,
+ boolean is_url);
+
+ /**
+ * Call by the at-rule statement.
+ *
+ * @param ident The ident for this at-rule (for example: 'font-face')
+ * @param string The string associate to this at-rule
+ * @see org.w3c.css.parser.Analyzer.Couple
+ */
+ public abstract void handleAtRule(String ident, String string);
+
+ /* added by Sijtsche Smeman */
+ public abstract void addCharSet(String charset);
+ public abstract void newAtRule(AtRule atRule);
+ public abstract void endOfAtRule();
+ public abstract void setImportant(boolean important);
+ public abstract void setSelectorList(Vector selectors);
+ public abstract void addProperty(Vector properties);
+ public abstract void endOfRule();
+ public abstract void removeThisRule();
+ public abstract void removeThisAtRule();
+
+ /**
+ * Assign an expression to a property. This function create a new property
+ * with property
and assign to it the expression with the
+ * importance. Don't forget to set informations too.
+ *
+ * A subclass must provide an implementation of this method.
+ *
+ * @param property the name of the property
+ * @param values the expression representation of values
+ * @param important true
if values are important
+ *
+ * @return null
or a property
+ *
+ * @see org.w3c.css.css.CssProperty
+ */
+ public abstract CssProperty handleDeclaration(String property,
+ CssExpression values,
+ boolean important)
+ throws InvalidParamException;
+
+ /**
+ * Adds a vector of properties to a selector.
+ *
+ * A subclass must provide an implementation of this method.
+ *
+ * @param selector the selector
+ * @param declarations Properties to associate with contexts
+ */
+ public abstract void handleRule(CssSelectors selector,
+ Vector declarations);
+
+ /*Added by Sijtsche Smeman */
+
+ /**
+ * Returns the source file of the style sheet
+ */
+ public final String getSourceFile() {
+ return getURL().toString();
+ }
+
+ /**
+ * Returns the current line in the style sheet
+ */
+ public final int getLine() {
+ //return token.beginLine;
+ return 0;
+ }
+
+ /**
+ * Set the URL of the style sheet.
+ *
+ * @param URL The URL for the style sheet
+ */
+ public final void setURL(URL url) {
+ this.url = url;
+ }
+
+ public final URL getURL() {
+ return url;
+ }
+
+ /**
+ * Return the next selector from the inputstream
+ */
+ public CssSelectors parseSelector() throws ParseException {
+ return externalSelector();
+ }
+
+ /*
+ * Add a value to an expression
+ */
+ private void setValue(CssValue v, CssExpression expr,
+ char operator, Token n, int token)
+ throws ParseException {
+ if (n != null) {
+ if (ac.getCssVersion().equals("css1") &&
+ (n.image).equals("inherit")) {
+ incompatible_error = true;
+ }
+ String val = (operator == ' ') ? n.image : operator+n.image;
+
+ if (n.kind == CssParserConstants.IDENT) {
+ v.set(convertIdent(val), ac);
+ } else if (n.kind == CssParserConstants.STRING) {
+ v.set(val, ac);
+ } else {
+ v.set(val, ac);
+ }
+ }
+ expr.addValue(v);
+ }
+
+ /*
+ * Error control
+ */
+ private void addError(Exception e, String skippedText) {
+ if (Util.onDebug) {
+ System.err.println(e.getMessage());
+ e.printStackTrace();
+ }
+ CssParseException ex = new CssParseException(e);
+ ex.setSkippedString(skippedText);
+ ex.setProperty(currentProperty);
+ ex.setContexts(currentContext);
+ CssError error = new CssError(getSourceFile(), getLine(), ex);
+ ac.getFrame().addError(error);
+ }
+
+ /*
+ * Error control 2
+ */
+ private void addError(Exception e, CssExpression exp) {
+ if (Util.onDebug) {
+ System.err.println(e.getMessage());
+ e.printStackTrace();
+ }
+
+ // if ((exp != null) && (exp.getCount() != 0)) {
+ CssParseException ex = new CssParseException(e);
+ ex.setExp(exp);
+ ex.setProperty(currentProperty);
+ ex.setContexts(currentContext);
+ CssError error = new CssError(getSourceFile(), getLine(), ex);
+ ac.getFrame().addError(error);
+ // }
+ }
+}
+
+PARSER_END(CssParser)
+
+/*
+ * The tokenizer
+ */
+
+
+SPECIAL_TOKEN :
+{
+ < COMMENT : "/*" ( ~["*"] )* ( "*" )+ ( ~["/", "*"] ( ~["*"] )* ( "*" )+ )* "/" >
+}
+
+
+ TOKEN [IGNORE_CASE] : /* basic tokens */
+{
+ < #H : ["0"-"9", "a"-"f"] >
+ | < #NONASCII : ["\200"-"\377"] >
+ | < #UNICODE : "\\" ( )? ( )? ( )? ( )? ( )?
+ ( "\r\n" | [ " ", "\t" , "\n" , "\r", "\f" ] )? >
+ | < #ESCAPE : | ( "\\" ~[ "\r", "\n", "\f", "0"-"9", "a"-"f" ] ) >
+ | < #NMSTART : [ "a"-"z", "_" ] | | >
+ | < #NMCHAR : ["a"-"z", "0"-"9", "-", "_"] | | >
+ | < #STRING1 : "\"" ( ~[ "\n", "\r", "\f", "\\", "\"" ] | "\\" | )* "\"" >
+ | < #STRING2 : "\'" ( ~[ "\n", "\r", "\f", "\\", "\'" ] | "\\" | )* "\'" >
+ | < #INVALID1 : "\"" ( ~[ "\n", "\r", "\f", "\\", "\"" ] | "\\" | )* >
+ | < #INVALID2 : "\'" ( ~[ "\n", "\r", "\f", "\\", "\'" ] | "\\" | )* >
+ | < #_IDENT : ( )? ( )* >
+ | < #NAME : ( )+ >
+ | < #NUM : ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ >
+ | < #_STRING : | >
+ | < #_INVALID : | >
+ | < #_URL : ( [ "!", "#", "$", "%", "&", "*"-"[", "]"-"~" ] | | )* >
+ | < #_S : ( [ " ", "\t" , "\n" , "\r", "\f" ] ) ( | [ " ", "\t" , "\n" , "\r", "\f" ] )* >
+ | < #_W : ( <_S> )? >
+ | < #NL : ( "\n" | "\r\n" | "\r" | "\f" ) >
+}
+/*
+ * The _S definition is not ( [ " ", "\t" , "\n" , "\r", "\f" ] ) + as we need to add support
+ * for the unput(' ') (see http://www.w3.org/TR/CSS21/grammar.html#scanner )
+ */
+
+
+TOKEN :
+{
+ < S : ( <_S> ) >
+}
+
+
+ TOKEN :
+{
+ < CDO : "" >
+ | < INCLUDES : "=" >
+ | < DASHMATCH : "|=" >
+}
+
+
+TOKEN :
+{
+ < LBRACE : <_W> "{" >
+ | < PLUS : <_W> "+" >
+ | < GREATER : <_W> ">" >
+ | < COMMA : <_W> "," >
+ | < TILDE : <_W> "~" >
+}
+
+
+TOKEN [IGNORE_CASE] :
+{
+ < AND : "and" >
+}
+
+
+TOKEN :
+{
+ >
+ | >
+ | >
+ | >
+ | >
+}
+
+
+TOKEN :
+{
+ < RBRACE : "}">
+ | < PREFIXMATCH : "^=" >
+ | < SUFFIXMATCH : "$=" >
+ | < SUBSTRINGMATCH : "*=" >
+ | < EQ : "=" >
+ | < MINUS : "-" >
+ | < SEMICOLON : ";" >
+ | < DIV : "/" >
+ | < LBRACKET : "[" >
+ | < RBRACKET : "]" >
+ | < ANY : "*" >
+ | < DOT : "." >
+ | < LPARAN : ")" >
+ | < RPARAN : "(">
+}
+
+
+ TOKEN :
+{
+ < COLON : ":" >
+}
+
+
+TOKEN [IGNORE_CASE] :
+{
+ < MEDIARESTRICTOR : "only" | "not" >
+}
+
+
+TOKEN [IGNORE_CASE] :
+{
+ < URL : "url(" ( )* ( | <_URL> ) ( )* ")" >
+}
+
+
+TOKEN [IGNORE_CASE] :
+{
+ < LENGTH : "pt"
+ | "mm"
+ | "cm"
+ | "pc"
+ | "in"
+ | "gd"
+ | "px" >
+ | < EMS : "em" >
+ | < EXS : "ex" >
+ | < ANGLE : ( "deg" | "grad" | "rad" ) >
+ | < TIME : ( "ms" | "s" ) >
+ | < FREQ : "Hz" | "kHz" >
+ | < RESOLUTION : "dpi" | "dpcm" >
+ | < DATE : "/" "/" >
+ | < DIMEN : ( )* >
+ | < PERCENTAGE : "%" >
+ | < NUMBER : >
+}
+
+
+TOKEN [IGNORE_CASE] :
+{
+ < IMPORTANT_SYM : "!" ( <_W> )* "important" >
+}
+
+
+TOKEN :
+{
+
+}
+
+/* RESERVED ATRULE WORDS */
+
+TOKEN :
+{
+ < CHARSET_SYM : "@charset" >
+}
+
+
+TOKEN [IGNORE_CASE] :
+{
+ < IMPORT_SYM : "@import">
+ | < NAMESPACE_SYM : "@namespace">
+ | < MEDIA_SYM : "@media" >
+ | < PAGE_SYM : "@page" >
+ | < FONT_FACE_SYM : "@font-face" >
+ | < PREF_SYM : "@preference" >
+ | < COLOR_PROFILE : "@color-profile" >
+ | < ATTOP : "@top" >
+ | < ATRIGHT : "@right" >
+ | < ATBOTTOM : "@bottom" >
+ | < ATLEFT : "@left" >
+ | < ATCOUNTER : "@counter" >
+ | < PHONETIC_ALPHABET_SYM : "@phonetic-alphabet" >
+ | < ATKEYWORD : "@" >
+}
+
+
+TOKEN [IGNORE_CASE] :
+{
+ < #RANGE0 : >
+ | < #RANGE1 : ( "?" )? >
+ | < #RANGE2 : ( "?" )? ( "?" )? >
+ | < #RANGE3 : ( "?" )? ( "?" )? ( "?" )? >
+ | < #RANGE4 : ( "?" )? ( "?" )? ( "?" )? ( "?" )? >
+ | < #RANGE5 : ( "?" )? ( "?" )? ( "?" )? ( "?" )? ( "?" )? >
+ | < #RANGE6 : "?" ( "?" )? ( "?" )? ( "?" )? ( "?" )? ( "?" )? >
+ | < #RANGE : | |
+ | | | | >
+ | < #UNI : ( )? ( )? ( )? ( )? ( )? >
+ | < UNICODERANGE : "U+" | "U+" "-" >
+}
+
+
+ TOKEN:
+{
+ < CLASS : "." >
+}
+
+/* FIXED, added a spacial case for lang pseudoclass */
+
+TOKEN [IGNORE_CASE] :
+{
+ < FUNCTIONLANG : "lang(" >
+}
+
+
+TOKEN [IGNORE_CASE] :
+{
+ < FUNCTIONNOT : ":not(" >
+}
+
+
+
+ TOKEN :
+{
+ < FUNCTION : "(" >
+}
+
+/* Quick and dirty way to catch HTML tags starting CSS documents
+ (common mistake) */
+
+ TOKEN:
+{
+ )* ( )*
+ ( "=" ( | ) ( )* )*
+ ">" >
+ | )* ( )* ">" >
+}
+
+//
+//TOKEN :
+//{ /* avoid token manager error */
+// < UNKNOWN : ~[] >
+//}
+
+/*
+ * The grammar of CSS2
+ */
+
+/**
+ * The main entry for the parser.
+ *
+ * @exception ParseException exception during the parse
+ */
+void parserUnit() :
+{
+ Token n = null;
+}
+{
+ try {
+ // used as an error recovery for HTML tags in CSS pages
+ ( ( n= | n= ) {
+ addError (
+new ParseException(ac.getMsg().getString("generator.dontmixhtml")), n.image);
+ }
+ )*
+ ( charset() )* // * instead of ? to capture the reinit part
+ ( | | )*
+ ( importDeclaration() ( ignoreStatement() ) )*
+ ( namespaceDeclaration() ( ignoreStatement() ) )*
+ afterImportDeclaration()
+
+ } catch (TokenMgrError err) {
+ addError (new ParseException(ac.getMsg().getString("generator.unrecognize")),
+ err.getMessage());
+ }
+}
+
+void charset() :
+{
+ Token n = null;
+ Token charsetToken = null;
+ Token space1Token = null;
+ Token space2Token = null;
+ Token semicolonToken = null;
+ int nb_S = 0;
+}
+{
+ try {
+ charsetToken= ( space1Token= { nb_S++;} )*
+ n= ( space2Token= )* semicolonToken=
+ {
+ if (charsetdeclared && !reinited) {
+ throw new ParseException(
+ ac.getMsg().getString("parser.charset"));
+ }
+ // the @charset must be at the beginning of the document
+ if(charsetToken.beginLine != 1 ||
+ charsetToken.beginColumn != 1) {
+ throw new ParseException(
+ ac.getMsg().getString("parser.charset"));
+ }
+ if ("css1".equals(ac.getCssVersion())) {
+ throw new ParseException(ac.getMsg().getString(
+ "parser.charsetcss1"));
+ }
+ // stricter rule for CSS21 and soon for CSS3
+ if ("css21".equals(ac.getCssVersion())) {
+ // single space before
+ // case sensitive
+ // no space before ;
+ // no comments
+ // string must start with "
+ if ( (nb_S != 1) ||
+ (!"@charset".equals(charsetToken.image)) ||
+ (!" ".equals(space1Token.image)) ||
+ (space2Token != null &&
+ !"".equals(space2Token.image)) ||
+ (space1Token.specialToken != null) ||
+ (n.specialToken != null) ||
+ (semicolonToken.specialToken != null) ||
+ (n.image.charAt(0) != '\"')
+ ) {
+ throw new ParseException(ac.getMsg().getString(
+ "parser.charsetspecial"));
+ }
+ }
+ if (!charsetdeclared) {
+ addCharSet(n.image.substring(1, n.image.length()-1));
+ charsetdeclared = true;
+ } else {
+ reinited = false;
+ }
+ }
+ } catch (Exception e) {
+ String skip = charsetToken +
+ ((space1Token == null) ? "" : space1Token.image) +
+ n +
+ ((space2Token == null) ? "" : space2Token.image) +
+ ";";
+ addError(e, skip);
+ }
+}
+
+void afterImportDeclaration() :
+{String ret; }
+{
+ ( ( ruleSet() | media() | page() | fontFace() | preference() |
+ colorprofile() | phoneticAlphabet() | ret=skipStatement()
+ { if ((ret == null) || (ret.length() == 0)) {
+ return;
+ }
+ // quite ugly but necessary to avoid probably a lot of changes in the
+ // grammar, still having a beautiful error message
+ else if (ret.startsWith("@charset")) {
+ ParseException e =
+ new ParseException(ac.getMsg().getString("parser.charset"));
+ addError(e, ret);
+ } else if (ret.startsWith("@import")) {
+ ParseException e =
+ new ParseException(ac.getMsg().getString("parser.import_not_allowed"));
+ addError(e, ret);
+ } else {
+ ParseException e =
+ new ParseException(ac.getMsg().getString("generator.unrecognize"));
+ addError(e, ret);
+ }
+ }
+ ) ignoreStatement() )*
+}
+
+void ignoreStatement() :
+{}
+{
+ ( ( | | atRuleDeclaration() ) ( )* )*
+}
+
+void namespaceDeclaration() :
+{
+ Token n=null;
+ Token v=null;
+ boolean is_url; /* for formatting */
+ String nsname;
+ String prefix = null;
+ CssValue val;
+}
+{
+ // FIXME add namespaces in context to match when a definition happens
+ (
+ ( )*
+ ( n= {
+ prefix = convertIdent(n.image);
+ }
+ ( )* )?
+ ( v= {
+ is_url = false;
+ nsname = v.image.substring(1, v.image.length()-1);
+ }
+ | v= {
+ is_url = true;
+ val = new CssURL();
+ ((CssURL) val).set(v.image, ac, url);
+ nsname = (String) val.get();
+ if ((nsname.charAt(0) == '"')
+ || (nsname.charAt(0) == '\'')) {
+ nsname = nsname.substring(1, nsname.length()-1);
+ }
+ }
+ )
+ ( )*
+
+ ( )*
+ ) {
+ if (!ac.getCssVersion().equals("css3")) {
+ addError(new InvalidParamException("at-rule", "@namespace", ac),
+ (n==null)?"default":n.toString());
+ } else {
+ if (v != null) {
+ handleNamespaceDeclaration(getURL(), prefix, nsname, is_url);
+ }
+ }
+ }
+}
+/**
+ * The import statement
+ *
+ * @exception ParseException exception during the parse
+ */
+void importDeclaration() :
+{Token n;
+ AtRuleMedia media = new AtRuleMedia();
+ CssValue val;
+ String importFile;
+ boolean is_url = false;
+}
+{
+ try {
+ ( )*
+ ( n= {
+ importFile = n.image.substring(1, n.image.length() -1);
+ is_url = false;
+ }
+ | n= {
+ val = new CssURL();
+ ((CssURL) val).set(n.image, ac, url);
+ importFile = (String) val.get();
+ if ((importFile.charAt(0) == '"')
+ || (importFile.charAt(0) == '\'')) {
+ importFile = importFile.substring(1, importFile.length()-1);
+ }
+ is_url = true;
+ }
+ )
+ ( )*
+ ( medium(media)
+ ( ( )* medium(media)
+ )* )?
+ ( )*
+ {
+ handleImport(getURL(), importFile, is_url, media);
+ }
+ } catch (ParseException e) {
+ addError(e, skipStatement());
+ }
+}
+
+/**
+ * @exception ParseException exception during the parse
+ */
+void media() :
+{
+ AtRule old = getAtRule();
+ AtRuleMedia newRule = new AtRuleMedia();
+ setAtRule(newRule);
+ Token n;
+ CssProperty p = null;
+}
+{
+ try {
+ ( )*
+ //
+ (n= { newRule.addMediaRestrictor(convertIdent(n.image), ac); } ( )+)?
+ medium(newRule)
+ //
+ ( ( )* medium(newRule) )*
+ //
+ ( ( )* ( )* p=mediadeclaration() { newRule.addMediaFeature(p); } ( )* )*
+ //
+
+ {
+ String media = getAtRule().toString();
+ if (ac.getMedium() != null &&
+ !(media.equals(ac.getMedium())) &&
+ !(ac.getMedium().equals("all"))) {
+
+ ac.getFrame().addWarning("noothermedium",
+ getAtRule().toString());
+ }
+ if (ac.getCssVersion().equals("css1")) {
+ skipStatement();
+ addError(new InvalidParamException("noatruleyet", "", ac),
+ getAtRule().toString());
+ }
+ if (!ac.getCssVersion().equals("css1")) {
+ newAtRule(getAtRule());
+ }
+ }
+ ( )* ( ruleSet() )* ( )*
+ {
+ if (!ac.getCssVersion().equals("css1")) {
+ endOfAtRule();
+ }
+ }
+ } catch (ParseException e) {
+ if (!ac.getCssVersion().equals("css1")) {
+ addError(e, skipStatement());
+ }
+ } finally {
+ setAtRule(old);
+ }
+}
+
+/**
+ * @exception ParseException exception during the parse
+ */
+void medium(AtRuleMedia media) : /* tv, projection, screen, ... */
+{Token n;}
+{
+ n= ( )*
+ {
+ try {
+ media.addMedia(convertIdent(n.image), ac);
+ } catch (InvalidParamException e) {
+ CssError error = new CssError(getSourceFile(), getLine(), e);
+ ac.getFrame().addError(error);
+ }
+ }
+}
+
+/**
+ * @exception ParseException exception during the parse
+ */
+void page() :
+{
+ Vector v ;
+ Token n = null ;
+ Vector collectv = new Vector() ;
+ CssSelectors s = new CssSelectors(ac);
+ AtRule old = getAtRule() ;
+ AtRulePage newRule = new AtRulePage() ;
+ setAtRule(newRule);
+ s.setAtRule(getAtRule());
+}
+{
+ try {
+ ( )*
+ // FIXME ?
+ ( n= { newRule.setIdent(convertIdent(n.image)); }
+ ( )* )?
+ //
+ ( pseudo_page(newRule) )? ( )* ( v=pageContent()
+ {
+ collectv = v;
+ }
+ ) ( )*
+ {
+ if (!ac.getCssVersion().equals("css1")) {
+ newAtRule(getAtRule());
+ }
+
+ if (!ac.getCssVersion().equals("css1")) {
+ addProperty(collectv);
+ endOfRule();
+ endOfAtRule();
+ }
+ if (v == null) {
+ ac.getFrame().addWarning("no-declaration");
+ } else {
+ handleRule(s, collectv);
+ }
+ }
+ } catch (InvalidParamException ie) {
+ if (!ac.getCssVersion().equals("css1")) {
+ skipStatement();
+ removeThisAtRule();
+ ac.getFrame().addError(new CssError(ie));
+ }
+ } catch (ParseException e) {
+ if (!ac.getCssVersion().equals("css1")) {
+ removeThisAtRule();
+ addError(e, skipStatement());
+ }
+ } finally {
+ setAtRule(old);
+ }
+}
+
+Vector pageContent() :
+{ CssProperty prop;
+ Vector v = new Vector();
+}
+{
+ // ?? FIXME
+ v=prefAtRule() { return v;}
+ //
+ |
+ v=declarations() { return v;} /* FIXME moved here as it can match empty string */
+}
+
+Vector prefAtRule() :
+{ Token n;
+ Vector v;
+}
+{
+ try {
+ (n= | n= | n= | n= ) ( )*
+ ( )* v=declarations() ( )*
+ {
+ return v;
+ }
+ } catch (ParseException e) {
+ addError(e, skipStatement());
+ }
+}
+
+void pseudo_page(AtRulePage page) :
+{ Token n; }
+{
+ ":" n= ( )*
+ {
+ try {
+ page.setName(":" + convertIdent(n.image), ac);
+ } catch (InvalidParamException e) {
+ throw new InvalidParamException("pseudo", n.image, ac );
+ /*CssError error = new CssError(getSourceFile(), getLine(), e);
+ ac.getFrame().addError(error); */
+ }
+ }
+}
+
+void fontFace() :
+{
+ Vector v;
+ AtRule old = getAtRule();
+ setAtRule(new AtRuleFontFace());
+ CssSelectors s = new CssSelectors(ac);
+ s.setAtRule(getAtRule());
+}
+{
+ try {
+ ( )*
+ {
+ if (ac.getCssVersion().equals("css1")) {
+ skipStatement();
+ addError(new InvalidParamException("noatruleyet", "", ac),
+ getAtRule().toString());
+ }
+ if (!ac.getCssVersion().equals("css1")) {
+ newAtRule(getAtRule());
+ }
+
+ }
+ ( )* v=declarations() ( )*
+ {
+ if (!ac.getCssVersion().equals("css1")) {
+ addProperty(v);
+ endOfRule();
+ endOfAtRule();
+ }
+ if (v == null) {
+ ac.getFrame().addWarning("no-declaration");
+ } else {
+ handleRule(s, v);
+ }
+ }
+ } catch (ParseException e) {
+ if (!ac.getCssVersion().equals("css1")) {
+ addError(e, skipStatement());
+ }
+ } finally {
+ setAtRule(old);
+ }
+}
+
+void colorprofile() :
+{
+ Vector v;
+ AtRule old = getAtRule();
+ setAtRule(new AtRuleColorProfile());
+ CssSelectors s = new CssSelectors(ac);
+ s.setAtRule(getAtRule());
+}
+{
+ try {
+ ( )*
+ {
+ if (!ac.getCssVersion().equals("svg")) {
+ skipStatement();
+ addError(new InvalidParamException("onlysvg", "", ac),
+ getAtRule().toString());
+ }
+ if (ac.getCssVersion().equals("svg")) {
+ newAtRule(getAtRule());
+ }
+
+ }
+ ( )* v=declarations() ( )*
+ {
+ if (ac.getCssVersion().equals("svg")) {
+ addProperty(v);
+ endOfRule();
+ endOfAtRule();
+ }
+
+ if (v == null) {
+ //ac.getFrame().addWarning("medialist");
+ } else {
+ handleRule(s, v);
+ }
+ }
+ }
+ catch (ParseException e) {
+ if (ac.getCssVersion().equals("svg")) {
+ addError(e, skipStatement());
+ }
+ } finally {
+ setAtRule(old);
+ }
+}
+
+
+void preference() :
+{
+ Vector v;
+ AtRule old = getAtRule();
+ setAtRule(new AtRulePreference());
+ CssSelectors s = new CssSelectors(ac);
+ s.setAtRule(getAtRule());
+}
+{
+ try {
+ ( )*
+ {
+ if (ac.getCssVersion().equals("css1")) {
+ skipStatement();
+ addError(new InvalidParamException("noatruleyet", "", ac),
+ getAtRule().toString());
+ }
+ if (!ac.getCssVersion().equals("css1")) {
+ newAtRule(getAtRule());
+ }
+
+ }
+ ( )* v=declarations() ( )*
+ {
+ if (!ac.getCssVersion().equals("css1")) {
+ addProperty(v);
+ endOfRule();
+ endOfAtRule();
+ }
+
+ if (v == null) {
+ ac.getFrame().addWarning("medialist");
+ } else {
+ handleRule(s, v);
+ }
+ }
+ }
+ catch (ParseException e) {
+ if (!ac.getCssVersion().equals("css1")) {
+ addError(e, skipStatement());
+ }
+ } finally {
+ setAtRule(old);
+ }
+}
+
+void phoneticAlphabet() :
+{
+ Vector v;
+ AtRule old = getAtRule();
+ AtRulePhoneticAlphabet alphabetrule = new AtRulePhoneticAlphabet();
+ setAtRule(alphabetrule);
+ Token n;
+}
+{
+ try {
+ ( )* n= ( )* ";"
+ {
+ if (!ac.getCssVersion().equals("css3")) {
+ skipStatement();
+ addError(new InvalidParamException("noatruleyet", "", ac),
+ getAtRule().toString());
+ }
+
+ alphabetrule.addAlphabet(convertIdent(n.image), ac);
+
+ if (!ac.getCssVersion().equals("css1") && !ac.getCssVersion().equals("css2")) {
+ newAtRule(getAtRule());
+ }
+
+ }
+ } catch (ParseException e) {
+ if (!ac.getCssVersion().equals("css1")) {
+ addError(e, skipStatement());
+ }
+ } finally {
+ setAtRule(old);
+ }
+}
+
+/**
+ * @exception ParseException exception during the parse
+ */
+void atRuleDeclaration() :
+{Token n;}
+{
+ n=
+ {
+ //ac.getFrame().addWarning("at-rule", token.toString());
+ ac.getFrame().addError(
+ new CssError(new InvalidParamException("at-rule",
+ token, ac)));
+ skipStatement();
+ }
+}
+
+/**
+ * @exception ParseException exception during the parse
+ */
+void operator(CssExpression expr) :
+{}
+{
+ ( ( { if (expr.getCount() > 0) expr.setOperator('/'); }
+ |
{ if (expr.getCount() > 0) expr.setOperator(','); }
+ ) ( )* )?
+}
+
+/**
+ * @exception ParseException exception during the parse
+ */
+char combinator() :
+{
+ char connector = ' ';
+}
+{
+ ( ( { connector = '+' ; }
+ | { connector = '>' ; }
+ | { connector = '~' ; }
+ ) ( )*
+ | ( )+ { connector = ' ' ; }
+ )
+ {
+ return connector;
+ }
+}
+
+/**
+ * @exception ParseException exception during the parse
+ */
+char unaryOperator() :
+{}
+{
+ // FIXME | ? warning as is <_W>? "+"
+ "-" { return '-'; }
+ | { return '+'; }
+}
+
+/**
+ * @exception ParseException exception during the parse
+ */
+String property() :
+{Token n; }
+{
+ n= ( )* { currentProperty = convertIdent(n.image);
+ return currentProperty; }
+}
+
+/**
+ * @exception ParseException exception during the parse
+ */
+void ruleSet() :
+{ CssSelectors contextual;
+ Vector context_set = new Vector();
+ Vector value_set = null;
+ currentContext = context_set;
+}
+{
+ try {
+ contextual=selector()
+ {
+ if (contextual != null) {
+ context_set.addElement(contextual);
+ }
+ }
+
+ ( ( )*
+ contextual=selector()
+ {
+ if (contextual != null) {
+ context_set.addElement(contextual);
+ }
+ }
+ )*
+ {
+ validSelector = (context_set.size() > 0);
+ }
+ ( )*
+ value_set=declarations()
+ ( )*
+ {
+ markRule = true;
+
+ /* if (value_set == null) {
+ ac.getFrame().addWarning("no-declaration");
+ } else {*/
+ if (value_set != null) {
+ boolean first = true;
+ CssSelectors sel = null;
+ Enumeration e = context_set.elements();
+ while (e.hasMoreElements()) {
+ sel = e.nextElement();
+ if (first) {
+ handleRule(sel, value_set);
+ first = false;
+ } else {
+ // we need to duplicate properties in that case
+ // as property holds reference to the selectors and it interact
+ // badly with conflict detection
+ int vsize = value_set.size();
+ Vector v = new Vector(vsize);
+ for (int i=0; i declarations() :
+{
+ if(!validSelector) {
+ validSelector = true;
+ skip_to_matching_brace();
+ return null;
+ }
+
+ CssProperty values;
+ Vector value_set = new Vector();
+ boolean wrong_value = true;
+}
+{
+ ( values=declaration()
+ { if (values != null) {
+ value_set.addElement(values);
+ wrong_value = false;
+ } /* else {
+ wrong_value = true;
+ } */
+ currentProperty = null;
+ }
+ )?
+ ( ";" ( )*
+ ( values=declaration()
+ { if (values != null) {
+ value_set.addElement(values);
+ wrong_value = false;
+ }/* else {
+ wrong_value = true;
+ }*/
+ currentProperty = null;
+ }
+ )? )*
+ {
+ if (!wrong_value) {
+ addProperty(value_set);
+ return value_set;
+ } else {
+ return null;
+ }
+ }
+}
+
+/**
+ * @exception ParseException exception during the parse
+ */
+CssSelectors selector() :
+{ char comb;
+ CssSelectors current; }
+{
+ try {
+ current=simple_selector(null)
+ (
+ comb=combinator() {
+ if (ac.getProfile() != null) {
+ if (ac.getProfile().equals("mobile") ||
+ getAtRule().toString().equals("@media atsc-tv") ||
+ ac.getCssVersion().equals("css1")) {
+ if (comb == '+')
+ throw new InvalidParamException("nocomb", "+", ac);
+ if (comb == '>')
+ throw new InvalidParamException("nocomb", ">", ac);
+ } else if (ac.getProfile().equals("tv")) {
+ if (comb == '+')
+ throw new InvalidParamException("nocomb", "+", ac);
+
+ }
+ }
+ if (!ac.getCssVersion().equals("css3")) {
+ if (comb == '~') {
+ throw new InvalidParamException("nocomb", "~", ac);
+ }
+ }
+ switch(comb) {
+ case '+':
+ current.addAdjacentSibling(new AdjacentSiblingSelector());
+ break;
+ case '>':
+ current.addChild(new ChildSelector());
+ break;
+ case '~':
+ current.addGeneralSibling(new GeneralSiblingSelector());
+ break;
+ default:
+ current.addDescendant(new DescendantSelector());
+ }
+ //current.setConnector(comb);
+ }
+ current=simple_selector(current)
+ )*
+ { return current; }
+ }
+ catch (InvalidParamException ie) {
+ // skipStatement();
+ // removeThisRule();
+ ac.getFrame().addError(new CssError(ie));
+ Token t = getToken(1);
+ StringBuilder s = new StringBuilder();
+ s.append(getToken(0).image);
+ // eat until , { or EOF
+ while ((t.kind != COMMA) && (t.kind != LBRACE) && (t.kind != EOF)) {
+ s.append(t.image);
+ getNextToken();
+ t = getToken(1);
+ }
+ return null;
+ }
+ catch (ParseException e) {
+ // validSelector = false;
+ Token t = getToken(1);
+ StringBuilder s = new StringBuilder("[");
+ s.append(getToken(0).image);
+ // eat until , { or EOF
+ while ((t.kind != COMMA) && (t.kind != LBRACE) && (t.kind != EOF)) {
+ s.append(t.image);
+ getNextToken();
+ t = getToken(1);
+ }
+ s.append(']');
+ // if (validSelector) {
+ addError(e, s.toString());
+ // } else {
+ // addError(e,"");
+ // }
+ validSelector = true;
+ return null;
+ }
+}
+
+/**
+ * I made this rule to parse a selector from a document. Combinator are avoid.
+ * @exception ParseException exception during the parse
+ */
+CssSelectors externalSelector() :
+{
+ CssSelectors current; }
+{
+ current=simple_selector(null)
+ ( ( )+
+ current=simple_selector(current)
+ )*
+ { return current; }
+}
+
+/**
+ * @exception ParseException exception during the parse
+ */
+CssSelectors simple_selector(CssSelectors next) :
+{ CssSelectors selector = new CssSelectors(ac, next);
+ selector.setAtRule(getAtRule());
+ //selector.setUserMedium(getUserMedium());
+}
+{
+
+ element_name(selector) ( hash(selector) | _class(selector)
+ | attrib(selector) | pseudo(selector)
+ | negation(selector) )*
+ {
+ return selector;
+ }
+ | ( hash(selector) | _class(selector) | attrib(selector)
+ | pseudo(selector) | negation(selector) )+
+ {
+ return selector;
+ }
+}
+
+/**
+ * @exception ParseException exception during the parse
+ */
+void _class(CssSelectors s) :
+{Token n; }
+{
+ /* "." n= { */
+ n= {
+ try {
+ s.addClass(new ClassSelector(convertClassIdent(n.image.substring(1))));
+ // s.addAttribute("class", convertIdent(n.image.substring(1)),
+ // CssSelectors.ATTRIBUTE_CLASS_SEL);
+ } catch (InvalidParamException e) {
+ // removeThisRule();
+ ac.getFrame().addError(new CssError(e));
+ throw new ParseException(e.getMessage());
+ }
+ }
+ /* FIXME n=deprecated_class() ... ?? (DONE-> to be tested) */
+ | ( n=deprecated_class() ) {
+ if (n.image.charAt(0) == '.') {
+ n.image = n.image.substring(1);
+
+ // the class with the first digit escaped
+ String cl = "."+hexEscapeFirst(n.image);
+
+ String profile = ac.getProfile();
+ if(profile == null || profile.equals("") || profile.equals("none")) {
+ profile = ac.getCssVersion();
+ }
+
+ if(!profile.equals("css1")) {
+ StringBuilder sb = new StringBuilder();
+ Vector