Devinsy integration for new ledb-admin project.
This commit is contained in:
parent
ad6719da32
commit
5db4b83fcf
56 changed files with 9409 additions and 0 deletions
11
.classpath
Normal file
11
.classpath
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="src" path="tests"/>
|
||||||
|
<classpathentry kind="src" path="demo"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_11"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v6.0"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
|
||||||
|
<classpathentry kind="output" path="build/classes"/>
|
||||||
|
</classpath>
|
36
.project
Normal file
36
.project
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>Xid</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.wst.common.project.facet.core.builder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.wst.validation.validationbuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
|
||||||
|
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
|
||||||
|
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
11
.settings/.jsdtscope
Normal file
11
.settings/.jsdtscope
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="hide" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
|
||||||
|
<classpathentry kind="output" path=""/>
|
||||||
|
</classpath>
|
12
.settings/org.eclipse.jdt.core.prefs
Normal file
12
.settings/org.eclipse.jdt.core.prefs
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#Thu Oct 01 17:56:30 CEST 2009
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||||
|
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||||
|
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||||
|
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||||
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.source=1.6
|
|
@ -0,0 +1,4 @@
|
||||||
|
#Thu Oct 01 17:01:30 CEST 2009
|
||||||
|
classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:jdk1.6.0_11/owners=jst.java\:6.0
|
||||||
|
classpath.helper/org.eclipse.jst.server.core.container\:\:org.eclipse.jst.server.tomcat.runtimeTarget\:\:Apache\ Tomcat\ v6.0/owners=jst.web\:2.5
|
||||||
|
eclipse.preferences.version=1
|
12
.settings/org.eclipse.wst.common.component
Normal file
12
.settings/org.eclipse.wst.common.component
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project-modules id="moduleCoreId" project-version="1.5.0">
|
||||||
|
<wb-module deploy-name="Xid">
|
||||||
|
<wb-resource deploy-path="/" source-path="/webapp-examples"/>
|
||||||
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
|
||||||
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/test"/>
|
||||||
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/demo"/>
|
||||||
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/tests"/>
|
||||||
|
<property name="context-root" value="Xid"/>
|
||||||
|
<property name="java-output-path"/>
|
||||||
|
</wb-module>
|
||||||
|
</project-modules>
|
9
.settings/org.eclipse.wst.common.project.facet.core.xml
Normal file
9
.settings/org.eclipse.wst.common.project.facet.core.xml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<faceted-project>
|
||||||
|
<runtime name="Apache Tomcat v6.0"/>
|
||||||
|
<fixed facet="jst.web"/>
|
||||||
|
<fixed facet="jst.java"/>
|
||||||
|
<installed facet="jst.java" version="6.0"/>
|
||||||
|
<installed facet="jst.web" version="2.5"/>
|
||||||
|
<installed facet="wst.jsdt.web" version="1.0"/>
|
||||||
|
</faceted-project>
|
1
.settings/org.eclipse.wst.jsdt.ui.superType.container
Normal file
1
.settings/org.eclipse.wst.jsdt.ui.superType.container
Normal file
|
@ -0,0 +1 @@
|
||||||
|
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
|
1
.settings/org.eclipse.wst.jsdt.ui.superType.name
Normal file
1
.settings/org.eclipse.wst.jsdt.ui.superType.name
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Window
|
BIN
build/classes/XidDemo.class
Normal file
BIN
build/classes/XidDemo.class
Normal file
Binary file not shown.
BIN
build/classes/XidTest$MONTHS.class
Normal file
BIN
build/classes/XidTest$MONTHS.class
Normal file
Binary file not shown.
BIN
build/classes/XidTest.class
Normal file
BIN
build/classes/XidTest.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/Attributes.class
Normal file
BIN
build/classes/fr/devinsy/xid/Attributes.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/Data.class
Normal file
BIN
build/classes/fr/devinsy/xid/Data.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/DomPresenter.class
Normal file
BIN
build/classes/fr/devinsy/xid/DomPresenter.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/FilePresenter.class
Normal file
BIN
build/classes/fr/devinsy/xid/FilePresenter.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/IdData$IterationStrategy.class
Normal file
BIN
build/classes/fr/devinsy/xid/IdData$IterationStrategy.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/IdData$MODE.class
Normal file
BIN
build/classes/fr/devinsy/xid/IdData$MODE.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/IdData.class
Normal file
BIN
build/classes/fr/devinsy/xid/IdData.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/IdDataCore.class
Normal file
BIN
build/classes/fr/devinsy/xid/IdDataCore.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/IdsDataById.class
Normal file
BIN
build/classes/fr/devinsy/xid/IdsDataById.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/IdsDataByIndex.class
Normal file
BIN
build/classes/fr/devinsy/xid/IdsDataByIndex.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/ParserErrorHandler.class
Normal file
BIN
build/classes/fr/devinsy/xid/ParserErrorHandler.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/Presenter.class
Normal file
BIN
build/classes/fr/devinsy/xid/Presenter.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/StringPresenter.class
Normal file
BIN
build/classes/fr/devinsy/xid/StringPresenter.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/TagData.class
Normal file
BIN
build/classes/fr/devinsy/xid/TagData.class
Normal file
Binary file not shown.
BIN
build/classes/fr/devinsy/xid/TagsDataById.class
Normal file
BIN
build/classes/fr/devinsy/xid/TagsDataById.class
Normal file
Binary file not shown.
79
build/classes/fr/devinsy/xid/testXid.html
Normal file
79
build/classes/fr/devinsy/xid/testXid.html
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
<!DOCTYPE html SYSTEM "xhtml1-transitional.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>test</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Test 01: No id attribute
|
||||||
|
XHTML: Hello <b title="a">world</b>.
|
||||||
|
no Java code
|
||||||
|
Result: Hello <b title="a">world</b>.
|
||||||
|
|
||||||
|
Test 02: id attribute with empty model
|
||||||
|
XHTML: Hello <b id="test02-original" title="b">world</b>.
|
||||||
|
no Java code
|
||||||
|
Result: Hello <b id="test02" title="b">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 03: model changing the text
|
||||||
|
XHTML: Hello <b id="test03-original" title="c">world</b>.
|
||||||
|
// Populate attributes of Test 03.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().appendAttribute ("style", "background: blue;");
|
||||||
|
text.getAttributes ().appendAttribute ("style", "foreground: red;");
|
||||||
|
text.getAttributes ().setAttribute ("class", "totoClass");
|
||||||
|
text.setText ("mummy");
|
||||||
|
datas.put ("test03", text);
|
||||||
|
Result: Hello <b id="test03" title="c">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 04: model changing title
|
||||||
|
XHTML: Hello <b id="test04-original" title="d">world</b>.
|
||||||
|
// Populate attributes of Test 04.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().setAttribute ("title", "another title");
|
||||||
|
datas.put ("test04", text);
|
||||||
|
Result: Hello <b id="test04" title="d">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 05: model adding style attributes
|
||||||
|
XHTML: Hello <b id="test05-original" title="d">world</b>.
|
||||||
|
// Populate attributes of Test 05.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().appendAttribute ("style", "background: blue;");
|
||||||
|
text.getAttributes ().appendAttribute ("style", "foreground: red;");
|
||||||
|
text.getAttributes ().setAttribute ("class", "aClass");
|
||||||
|
datas.put ("test05", text);
|
||||||
|
Result: Hello <b id="test05" title="d">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 06: model appending style attributes
|
||||||
|
XHTML: Hello <b id="test06-original" title="d" style="background:yellow;">world</b>.
|
||||||
|
// Populate attributes of Test 06.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().appendAttribute ("style", "foreground: red;");
|
||||||
|
text.getAttributes ().setAttribute ("class", "aClass");
|
||||||
|
datas.put ("test06", text);
|
||||||
|
Result: Hello <b id="test06" title="d" style="background:yellow;">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 07: image
|
||||||
|
XHTML: A picture <img id="test07-original" src="http://www.ocmland.org/tmp/floatingb.jpg" alt="pinguoin flottant" />.
|
||||||
|
// Populate attributes of Test 07.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().setAttribute ("width", "50%");
|
||||||
|
datas.put ("test07", text);
|
||||||
|
Result: A picture <img id="test07" src="http://www.ocmland.org/tmp/floatingb.jpg" alt="pinguoin flottant" />.
|
||||||
|
|
||||||
|
|
||||||
|
Test 08: xhtml source contains no display order in a tag.
|
||||||
|
XHTML: Hello <b class="xid:nodisplay_">you</b> there.
|
||||||
|
Result: Hello <b class="xid:nodisplay">you</b> there.
|
||||||
|
|
||||||
|
|
||||||
|
Test 09: dynamic addition of the nodisplay order.
|
||||||
|
XHTML: Hello <b id="test09-original">you</b> there.
|
||||||
|
Result: Hello <b id="test09">you</b> there.
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
69
build/classes/fr/devinsy/xid/testXid.t
Normal file
69
build/classes/fr/devinsy/xid/testXid.t
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
<!DOCTYPE html SYSTEM "xhtml1-transitional.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>test</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Test 01: No id attribute
|
||||||
|
XHTML: Hello <b title="a">world</b>.
|
||||||
|
no Java code
|
||||||
|
Result: Hello <b title="a">world</b>.
|
||||||
|
|
||||||
|
Test 02: id attribute with empty model
|
||||||
|
XHTML: Hello <b id="test02-original" title="b">world</b>.
|
||||||
|
no Java code
|
||||||
|
Result: Hello <b id="test02" title="b">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 03: model changing the text
|
||||||
|
XHTML: Hello <b id="test03-original" title="c">world</b>.
|
||||||
|
// Populate attributes of Test 03.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().appendAttribute ("style", "background: blue;");
|
||||||
|
text.getAttributes ().appendAttribute ("style", "foreground: red;");
|
||||||
|
text.getAttributes ().setAttribute ("class", "totoClass");
|
||||||
|
text.setText ("mummy");
|
||||||
|
datas.put ("test03", text);
|
||||||
|
Result: Hello <b id="test03" title="c">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 04: model changing title
|
||||||
|
XHTML: Hello <b id="test04-original" title="d">world</b>.
|
||||||
|
// Populate attributes of Test 04.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().setAttribute ("title", "another title");
|
||||||
|
datas.put ("test04", text);
|
||||||
|
Result: Hello <b id="test04" title="d">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 05: model adding style attributes
|
||||||
|
XHTML: Hello <b id="test05-original" title="d">world</b>.
|
||||||
|
// Populate attributes of Test 05.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().appendAttribute ("style", "background: blue;");
|
||||||
|
text.getAttributes ().appendAttribute ("style", "foreground: red;");
|
||||||
|
text.getAttributes ().setAttribute ("class", "aClass");
|
||||||
|
datas.put ("test05", text);
|
||||||
|
Result: Hello <b id="test05" title="d">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 06: model appending style attributes
|
||||||
|
XHTML: Hello <b id="test06-original" title="d" style="background:yellow;">world</b>.
|
||||||
|
// Populate attributes of Test 06.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().appendAttribute ("style", "foreground: red;");
|
||||||
|
text.getAttributes ().setAttribute ("class", "aClass");
|
||||||
|
datas.put ("test06", text);
|
||||||
|
Result: Hello <b id="test06" title="d" style="background:yellow;">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 07: image
|
||||||
|
XHTML: A picture <img id="test07-original" src="http://www.ocmland.org/tmp/floatingb.jpg" alt="pinguoin flottant" />.
|
||||||
|
// Populate attributes of Test 07.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().setAttribute ("width", "50%");
|
||||||
|
datas.put ("test07", text);
|
||||||
|
Result: A picture <img id="test07" src="http://www.ocmland.org/tmp/floatingb.jpg" alt="pinguoin flottant" />.
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
196
build/classes/fr/devinsy/xid/xhtml-lat1.ent
Normal file
196
build/classes/fr/devinsy/xid/xhtml-lat1.ent
Normal file
|
@ -0,0 +1,196 @@
|
||||||
|
<!-- Portions (C) International Organization for Standardization 1986
|
||||||
|
Permission to copy in any form is granted for use with
|
||||||
|
conforming SGML systems and applications as defined in
|
||||||
|
ISO 8879, provided this notice is included in all copies.
|
||||||
|
-->
|
||||||
|
<!-- Character entity set. Typical invocation:
|
||||||
|
<!ENTITY % HTMLlat1 PUBLIC
|
||||||
|
"-//W3C//ENTITIES Latin 1 for XHTML//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
|
||||||
|
%HTMLlat1;
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!ENTITY nbsp " "> <!-- no-break space = non-breaking space,
|
||||||
|
U+00A0 ISOnum -->
|
||||||
|
<!ENTITY iexcl "¡"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
|
||||||
|
<!ENTITY cent "¢"> <!-- cent sign, U+00A2 ISOnum -->
|
||||||
|
<!ENTITY pound "£"> <!-- pound sign, U+00A3 ISOnum -->
|
||||||
|
<!ENTITY curren "¤"> <!-- currency sign, U+00A4 ISOnum -->
|
||||||
|
<!ENTITY yen "¥"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
|
||||||
|
<!ENTITY brvbar "¦"> <!-- broken bar = broken vertical bar,
|
||||||
|
U+00A6 ISOnum -->
|
||||||
|
<!ENTITY sect "§"> <!-- section sign, U+00A7 ISOnum -->
|
||||||
|
<!ENTITY uml "¨"> <!-- diaeresis = spacing diaeresis,
|
||||||
|
U+00A8 ISOdia -->
|
||||||
|
<!ENTITY copy "©"> <!-- copyright sign, U+00A9 ISOnum -->
|
||||||
|
<!ENTITY ordf "ª"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
|
||||||
|
<!ENTITY laquo "«"> <!-- left-pointing double angle quotation mark
|
||||||
|
= left pointing guillemet, U+00AB ISOnum -->
|
||||||
|
<!ENTITY not "¬"> <!-- not sign = angled dash,
|
||||||
|
U+00AC ISOnum -->
|
||||||
|
<!ENTITY shy "­"> <!-- soft hyphen = discretionary hyphen,
|
||||||
|
U+00AD ISOnum -->
|
||||||
|
<!ENTITY reg "®"> <!-- registered sign = registered trade mark sign,
|
||||||
|
U+00AE ISOnum -->
|
||||||
|
<!ENTITY macr "¯"> <!-- macron = spacing macron = overline
|
||||||
|
= APL overbar, U+00AF ISOdia -->
|
||||||
|
<!ENTITY deg "°"> <!-- degree sign, U+00B0 ISOnum -->
|
||||||
|
<!ENTITY plusmn "±"> <!-- plus-minus sign = plus-or-minus sign,
|
||||||
|
U+00B1 ISOnum -->
|
||||||
|
<!ENTITY sup2 "²"> <!-- superscript two = superscript digit two
|
||||||
|
= squared, U+00B2 ISOnum -->
|
||||||
|
<!ENTITY sup3 "³"> <!-- superscript three = superscript digit three
|
||||||
|
= cubed, U+00B3 ISOnum -->
|
||||||
|
<!ENTITY acute "´"> <!-- acute accent = spacing acute,
|
||||||
|
U+00B4 ISOdia -->
|
||||||
|
<!ENTITY micro "µ"> <!-- micro sign, U+00B5 ISOnum -->
|
||||||
|
<!ENTITY para "¶"> <!-- pilcrow sign = paragraph sign,
|
||||||
|
U+00B6 ISOnum -->
|
||||||
|
<!ENTITY middot "·"> <!-- middle dot = Georgian comma
|
||||||
|
= Greek middle dot, U+00B7 ISOnum -->
|
||||||
|
<!ENTITY cedil "¸"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
|
||||||
|
<!ENTITY sup1 "¹"> <!-- superscript one = superscript digit one,
|
||||||
|
U+00B9 ISOnum -->
|
||||||
|
<!ENTITY ordm "º"> <!-- masculine ordinal indicator,
|
||||||
|
U+00BA ISOnum -->
|
||||||
|
<!ENTITY raquo "»"> <!-- right-pointing double angle quotation mark
|
||||||
|
= right pointing guillemet, U+00BB ISOnum -->
|
||||||
|
<!ENTITY frac14 "¼"> <!-- vulgar fraction one quarter
|
||||||
|
= fraction one quarter, U+00BC ISOnum -->
|
||||||
|
<!ENTITY frac12 "½"> <!-- vulgar fraction one half
|
||||||
|
= fraction one half, U+00BD ISOnum -->
|
||||||
|
<!ENTITY frac34 "¾"> <!-- vulgar fraction three quarters
|
||||||
|
= fraction three quarters, U+00BE ISOnum -->
|
||||||
|
<!ENTITY iquest "¿"> <!-- inverted question mark
|
||||||
|
= turned question mark, U+00BF ISOnum -->
|
||||||
|
<!ENTITY Agrave "À"> <!-- latin capital letter A with grave
|
||||||
|
= latin capital letter A grave,
|
||||||
|
U+00C0 ISOlat1 -->
|
||||||
|
<!ENTITY Aacute "Á"> <!-- latin capital letter A with acute,
|
||||||
|
U+00C1 ISOlat1 -->
|
||||||
|
<!ENTITY Acirc "Â"> <!-- latin capital letter A with circumflex,
|
||||||
|
U+00C2 ISOlat1 -->
|
||||||
|
<!ENTITY Atilde "Ã"> <!-- latin capital letter A with tilde,
|
||||||
|
U+00C3 ISOlat1 -->
|
||||||
|
<!ENTITY Auml "Ä"> <!-- latin capital letter A with diaeresis,
|
||||||
|
U+00C4 ISOlat1 -->
|
||||||
|
<!ENTITY Aring "Å"> <!-- latin capital letter A with ring above
|
||||||
|
= latin capital letter A ring,
|
||||||
|
U+00C5 ISOlat1 -->
|
||||||
|
<!ENTITY AElig "Æ"> <!-- latin capital letter AE
|
||||||
|
= latin capital ligature AE,
|
||||||
|
U+00C6 ISOlat1 -->
|
||||||
|
<!ENTITY Ccedil "Ç"> <!-- latin capital letter C with cedilla,
|
||||||
|
U+00C7 ISOlat1 -->
|
||||||
|
<!ENTITY Egrave "È"> <!-- latin capital letter E with grave,
|
||||||
|
U+00C8 ISOlat1 -->
|
||||||
|
<!ENTITY Eacute "É"> <!-- latin capital letter E with acute,
|
||||||
|
U+00C9 ISOlat1 -->
|
||||||
|
<!ENTITY Ecirc "Ê"> <!-- latin capital letter E with circumflex,
|
||||||
|
U+00CA ISOlat1 -->
|
||||||
|
<!ENTITY Euml "Ë"> <!-- latin capital letter E with diaeresis,
|
||||||
|
U+00CB ISOlat1 -->
|
||||||
|
<!ENTITY Igrave "Ì"> <!-- latin capital letter I with grave,
|
||||||
|
U+00CC ISOlat1 -->
|
||||||
|
<!ENTITY Iacute "Í"> <!-- latin capital letter I with acute,
|
||||||
|
U+00CD ISOlat1 -->
|
||||||
|
<!ENTITY Icirc "Î"> <!-- latin capital letter I with circumflex,
|
||||||
|
U+00CE ISOlat1 -->
|
||||||
|
<!ENTITY Iuml "Ï"> <!-- latin capital letter I with diaeresis,
|
||||||
|
U+00CF ISOlat1 -->
|
||||||
|
<!ENTITY ETH "Ð"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
|
||||||
|
<!ENTITY Ntilde "Ñ"> <!-- latin capital letter N with tilde,
|
||||||
|
U+00D1 ISOlat1 -->
|
||||||
|
<!ENTITY Ograve "Ò"> <!-- latin capital letter O with grave,
|
||||||
|
U+00D2 ISOlat1 -->
|
||||||
|
<!ENTITY Oacute "Ó"> <!-- latin capital letter O with acute,
|
||||||
|
U+00D3 ISOlat1 -->
|
||||||
|
<!ENTITY Ocirc "Ô"> <!-- latin capital letter O with circumflex,
|
||||||
|
U+00D4 ISOlat1 -->
|
||||||
|
<!ENTITY Otilde "Õ"> <!-- latin capital letter O with tilde,
|
||||||
|
U+00D5 ISOlat1 -->
|
||||||
|
<!ENTITY Ouml "Ö"> <!-- latin capital letter O with diaeresis,
|
||||||
|
U+00D6 ISOlat1 -->
|
||||||
|
<!ENTITY times "×"> <!-- multiplication sign, U+00D7 ISOnum -->
|
||||||
|
<!ENTITY Oslash "Ø"> <!-- latin capital letter O with stroke
|
||||||
|
= latin capital letter O slash,
|
||||||
|
U+00D8 ISOlat1 -->
|
||||||
|
<!ENTITY Ugrave "Ù"> <!-- latin capital letter U with grave,
|
||||||
|
U+00D9 ISOlat1 -->
|
||||||
|
<!ENTITY Uacute "Ú"> <!-- latin capital letter U with acute,
|
||||||
|
U+00DA ISOlat1 -->
|
||||||
|
<!ENTITY Ucirc "Û"> <!-- latin capital letter U with circumflex,
|
||||||
|
U+00DB ISOlat1 -->
|
||||||
|
<!ENTITY Uuml "Ü"> <!-- latin capital letter U with diaeresis,
|
||||||
|
U+00DC ISOlat1 -->
|
||||||
|
<!ENTITY Yacute "Ý"> <!-- latin capital letter Y with acute,
|
||||||
|
U+00DD ISOlat1 -->
|
||||||
|
<!ENTITY THORN "Þ"> <!-- latin capital letter THORN,
|
||||||
|
U+00DE ISOlat1 -->
|
||||||
|
<!ENTITY szlig "ß"> <!-- latin small letter sharp s = ess-zed,
|
||||||
|
U+00DF ISOlat1 -->
|
||||||
|
<!ENTITY agrave "à"> <!-- latin small letter a with grave
|
||||||
|
= latin small letter a grave,
|
||||||
|
U+00E0 ISOlat1 -->
|
||||||
|
<!ENTITY aacute "á"> <!-- latin small letter a with acute,
|
||||||
|
U+00E1 ISOlat1 -->
|
||||||
|
<!ENTITY acirc "â"> <!-- latin small letter a with circumflex,
|
||||||
|
U+00E2 ISOlat1 -->
|
||||||
|
<!ENTITY atilde "ã"> <!-- latin small letter a with tilde,
|
||||||
|
U+00E3 ISOlat1 -->
|
||||||
|
<!ENTITY auml "ä"> <!-- latin small letter a with diaeresis,
|
||||||
|
U+00E4 ISOlat1 -->
|
||||||
|
<!ENTITY aring "å"> <!-- latin small letter a with ring above
|
||||||
|
= latin small letter a ring,
|
||||||
|
U+00E5 ISOlat1 -->
|
||||||
|
<!ENTITY aelig "æ"> <!-- latin small letter ae
|
||||||
|
= latin small ligature ae, U+00E6 ISOlat1 -->
|
||||||
|
<!ENTITY ccedil "ç"> <!-- latin small letter c with cedilla,
|
||||||
|
U+00E7 ISOlat1 -->
|
||||||
|
<!ENTITY egrave "è"> <!-- latin small letter e with grave,
|
||||||
|
U+00E8 ISOlat1 -->
|
||||||
|
<!ENTITY eacute "é"> <!-- latin small letter e with acute,
|
||||||
|
U+00E9 ISOlat1 -->
|
||||||
|
<!ENTITY ecirc "ê"> <!-- latin small letter e with circumflex,
|
||||||
|
U+00EA ISOlat1 -->
|
||||||
|
<!ENTITY euml "ë"> <!-- latin small letter e with diaeresis,
|
||||||
|
U+00EB ISOlat1 -->
|
||||||
|
<!ENTITY igrave "ì"> <!-- latin small letter i with grave,
|
||||||
|
U+00EC ISOlat1 -->
|
||||||
|
<!ENTITY iacute "í"> <!-- latin small letter i with acute,
|
||||||
|
U+00ED ISOlat1 -->
|
||||||
|
<!ENTITY icirc "î"> <!-- latin small letter i with circumflex,
|
||||||
|
U+00EE ISOlat1 -->
|
||||||
|
<!ENTITY iuml "ï"> <!-- latin small letter i with diaeresis,
|
||||||
|
U+00EF ISOlat1 -->
|
||||||
|
<!ENTITY eth "ð"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
|
||||||
|
<!ENTITY ntilde "ñ"> <!-- latin small letter n with tilde,
|
||||||
|
U+00F1 ISOlat1 -->
|
||||||
|
<!ENTITY ograve "ò"> <!-- latin small letter o with grave,
|
||||||
|
U+00F2 ISOlat1 -->
|
||||||
|
<!ENTITY oacute "ó"> <!-- latin small letter o with acute,
|
||||||
|
U+00F3 ISOlat1 -->
|
||||||
|
<!ENTITY ocirc "ô"> <!-- latin small letter o with circumflex,
|
||||||
|
U+00F4 ISOlat1 -->
|
||||||
|
<!ENTITY otilde "õ"> <!-- latin small letter o with tilde,
|
||||||
|
U+00F5 ISOlat1 -->
|
||||||
|
<!ENTITY ouml "ö"> <!-- latin small letter o with diaeresis,
|
||||||
|
U+00F6 ISOlat1 -->
|
||||||
|
<!ENTITY divide "÷"> <!-- division sign, U+00F7 ISOnum -->
|
||||||
|
<!ENTITY oslash "ø"> <!-- latin small letter o with stroke,
|
||||||
|
= latin small letter o slash,
|
||||||
|
U+00F8 ISOlat1 -->
|
||||||
|
<!ENTITY ugrave "ù"> <!-- latin small letter u with grave,
|
||||||
|
U+00F9 ISOlat1 -->
|
||||||
|
<!ENTITY uacute "ú"> <!-- latin small letter u with acute,
|
||||||
|
U+00FA ISOlat1 -->
|
||||||
|
<!ENTITY ucirc "û"> <!-- latin small letter u with circumflex,
|
||||||
|
U+00FB ISOlat1 -->
|
||||||
|
<!ENTITY uuml "ü"> <!-- latin small letter u with diaeresis,
|
||||||
|
U+00FC ISOlat1 -->
|
||||||
|
<!ENTITY yacute "ý"> <!-- latin small letter y with acute,
|
||||||
|
U+00FD ISOlat1 -->
|
||||||
|
<!ENTITY thorn "þ"> <!-- latin small letter thorn,
|
||||||
|
U+00FE ISOlat1 -->
|
||||||
|
<!ENTITY yuml "ÿ"> <!-- latin small letter y with diaeresis,
|
||||||
|
U+00FF ISOlat1 -->
|
82
build/classes/fr/devinsy/xid/xhtml-special.ent
Normal file
82
build/classes/fr/devinsy/xid/xhtml-special.ent
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
<!-- Special characters for XHTML -->
|
||||||
|
|
||||||
|
<!-- Character entity set. Typical invocation:
|
||||||
|
<!ENTITY % HTMLspecial PUBLIC
|
||||||
|
"-//W3C//ENTITIES Special for XHTML//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
|
||||||
|
%HTMLspecial;
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Portions (C) International Organization for Standardization 1986:
|
||||||
|
Permission to copy in any form is granted for use with
|
||||||
|
conforming SGML systems and applications as defined in
|
||||||
|
ISO 8879, provided this notice is included in all copies.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Relevant ISO entity set is given unless names are newly introduced.
|
||||||
|
New names (i.e., not in ISO 8879 list) do not clash with any
|
||||||
|
existing ISO 8879 entity names. ISO 10646 character numbers
|
||||||
|
are given for each character, in hex. values are decimal
|
||||||
|
conversions of the ISO 10646 values and refer to the document
|
||||||
|
character set. Names are Unicode names.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- C0 Controls and Basic Latin -->
|
||||||
|
|
||||||
|
<!-- CB 10/03/2003 Commented out as these are already defined in XML -->
|
||||||
|
<!-- ENTITY quot """> quotation mark, U+0022 ISOnum -->
|
||||||
|
<!-- ENTITY amp "&#38;"> ampersand, U+0026 ISOnum -->
|
||||||
|
<!-- ENTITY lt "&#60;"> less-than sign, U+003C ISOnum -->
|
||||||
|
<!-- ENTITY gt ">"> greater-than sign, U+003E ISOnum -->
|
||||||
|
<!-- ENTITY apos "'"> apostrophe = APL quote, U+0027 ISOnum -->
|
||||||
|
|
||||||
|
<!-- Latin Extended-A -->
|
||||||
|
<!ENTITY OElig "Œ"> <!-- latin capital ligature OE,
|
||||||
|
U+0152 ISOlat2 -->
|
||||||
|
<!ENTITY oelig "œ"> <!-- latin small ligature oe, U+0153 ISOlat2 -->
|
||||||
|
<!-- ligature is a misnomer, this is a separate character in some languages -->
|
||||||
|
<!ENTITY Scaron "Š"> <!-- latin capital letter S with caron,
|
||||||
|
U+0160 ISOlat2 -->
|
||||||
|
<!ENTITY scaron "š"> <!-- latin small letter s with caron,
|
||||||
|
U+0161 ISOlat2 -->
|
||||||
|
<!ENTITY Yuml "Ÿ"> <!-- latin capital letter Y with diaeresis,
|
||||||
|
U+0178 ISOlat2 -->
|
||||||
|
|
||||||
|
<!-- Spacing Modifier Letters -->
|
||||||
|
<!ENTITY circ "ˆ"> <!-- modifier letter circumflex accent,
|
||||||
|
U+02C6 ISOpub -->
|
||||||
|
<!ENTITY tilde "˜"> <!-- small tilde, U+02DC ISOdia -->
|
||||||
|
|
||||||
|
<!-- General Punctuation -->
|
||||||
|
<!ENTITY ensp " "> <!-- en space, U+2002 ISOpub -->
|
||||||
|
<!ENTITY emsp " "> <!-- em space, U+2003 ISOpub -->
|
||||||
|
<!ENTITY thinsp " "> <!-- thin space, U+2009 ISOpub -->
|
||||||
|
<!ENTITY zwnj "‌"> <!-- zero width non-joiner,
|
||||||
|
U+200C NEW RFC 2070 -->
|
||||||
|
<!ENTITY zwj "‍"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
|
||||||
|
<!ENTITY lrm "‎"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
|
||||||
|
<!ENTITY rlm "‏"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
|
||||||
|
<!ENTITY ndash "–"> <!-- en dash, U+2013 ISOpub -->
|
||||||
|
<!ENTITY mdash "—"> <!-- em dash, U+2014 ISOpub -->
|
||||||
|
<!ENTITY lsquo "‘"> <!-- left single quotation mark,
|
||||||
|
U+2018 ISOnum -->
|
||||||
|
<!ENTITY rsquo "’"> <!-- right single quotation mark,
|
||||||
|
U+2019 ISOnum -->
|
||||||
|
<!ENTITY sbquo "‚"> <!-- single low-9 quotation mark, U+201A NEW -->
|
||||||
|
<!ENTITY ldquo "“"> <!-- left double quotation mark,
|
||||||
|
U+201C ISOnum -->
|
||||||
|
<!ENTITY rdquo "”"> <!-- right double quotation mark,
|
||||||
|
U+201D ISOnum -->
|
||||||
|
<!ENTITY bdquo "„"> <!-- double low-9 quotation mark, U+201E NEW -->
|
||||||
|
<!ENTITY dagger "†"> <!-- dagger, U+2020 ISOpub -->
|
||||||
|
<!ENTITY Dagger "‡"> <!-- double dagger, U+2021 ISOpub -->
|
||||||
|
<!ENTITY permil "‰"> <!-- per mille sign, U+2030 ISOtech -->
|
||||||
|
<!ENTITY lsaquo "‹"> <!-- single left-pointing angle quotation mark,
|
||||||
|
U+2039 ISO proposed -->
|
||||||
|
<!-- lsaquo is proposed but not yet ISO standardized -->
|
||||||
|
<!ENTITY rsaquo "›"> <!-- single right-pointing angle quotation mark,
|
||||||
|
U+203A ISO proposed -->
|
||||||
|
<!-- rsaquo is proposed but not yet ISO standardized -->
|
||||||
|
|
||||||
|
<!-- Currency Symbols -->
|
||||||
|
<!ENTITY euro "€"> <!-- euro sign, U+20AC NEW -->
|
237
build/classes/fr/devinsy/xid/xhtml-symbol.ent
Normal file
237
build/classes/fr/devinsy/xid/xhtml-symbol.ent
Normal file
|
@ -0,0 +1,237 @@
|
||||||
|
<!-- Mathematical, Greek and Symbolic characters for XHTML -->
|
||||||
|
|
||||||
|
<!-- Character entity set. Typical invocation:
|
||||||
|
<!ENTITY % HTMLsymbol PUBLIC
|
||||||
|
"-//W3C//ENTITIES Symbols for XHTML//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
|
||||||
|
%HTMLsymbol;
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Portions (C) International Organization for Standardization 1986:
|
||||||
|
Permission to copy in any form is granted for use with
|
||||||
|
conforming SGML systems and applications as defined in
|
||||||
|
ISO 8879, provided this notice is included in all copies.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Relevant ISO entity set is given unless names are newly introduced.
|
||||||
|
New names (i.e., not in ISO 8879 list) do not clash with any
|
||||||
|
existing ISO 8879 entity names. ISO 10646 character numbers
|
||||||
|
are given for each character, in hex. values are decimal
|
||||||
|
conversions of the ISO 10646 values and refer to the document
|
||||||
|
character set. Names are Unicode names.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Latin Extended-B -->
|
||||||
|
<!ENTITY fnof "ƒ"> <!-- latin small letter f with hook = function
|
||||||
|
= florin, U+0192 ISOtech -->
|
||||||
|
|
||||||
|
<!-- Greek -->
|
||||||
|
<!ENTITY Alpha "Α"> <!-- greek capital letter alpha, U+0391 -->
|
||||||
|
<!ENTITY Beta "Β"> <!-- greek capital letter beta, U+0392 -->
|
||||||
|
<!ENTITY Gamma "Γ"> <!-- greek capital letter gamma,
|
||||||
|
U+0393 ISOgrk3 -->
|
||||||
|
<!ENTITY Delta "Δ"> <!-- greek capital letter delta,
|
||||||
|
U+0394 ISOgrk3 -->
|
||||||
|
<!ENTITY Epsilon "Ε"> <!-- greek capital letter epsilon, U+0395 -->
|
||||||
|
<!ENTITY Zeta "Ζ"> <!-- greek capital letter zeta, U+0396 -->
|
||||||
|
<!ENTITY Eta "Η"> <!-- greek capital letter eta, U+0397 -->
|
||||||
|
<!ENTITY Theta "Θ"> <!-- greek capital letter theta,
|
||||||
|
U+0398 ISOgrk3 -->
|
||||||
|
<!ENTITY Iota "Ι"> <!-- greek capital letter iota, U+0399 -->
|
||||||
|
<!ENTITY Kappa "Κ"> <!-- greek capital letter kappa, U+039A -->
|
||||||
|
<!ENTITY Lambda "Λ"> <!-- greek capital letter lamda,
|
||||||
|
U+039B ISOgrk3 -->
|
||||||
|
<!ENTITY Mu "Μ"> <!-- greek capital letter mu, U+039C -->
|
||||||
|
<!ENTITY Nu "Ν"> <!-- greek capital letter nu, U+039D -->
|
||||||
|
<!ENTITY Xi "Ξ"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
|
||||||
|
<!ENTITY Omicron "Ο"> <!-- greek capital letter omicron, U+039F -->
|
||||||
|
<!ENTITY Pi "Π"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
|
||||||
|
<!ENTITY Rho "Ρ"> <!-- greek capital letter rho, U+03A1 -->
|
||||||
|
<!-- there is no Sigmaf, and no U+03A2 character either -->
|
||||||
|
<!ENTITY Sigma "Σ"> <!-- greek capital letter sigma,
|
||||||
|
U+03A3 ISOgrk3 -->
|
||||||
|
<!ENTITY Tau "Τ"> <!-- greek capital letter tau, U+03A4 -->
|
||||||
|
<!ENTITY Upsilon "Υ"> <!-- greek capital letter upsilon,
|
||||||
|
U+03A5 ISOgrk3 -->
|
||||||
|
<!ENTITY Phi "Φ"> <!-- greek capital letter phi,
|
||||||
|
U+03A6 ISOgrk3 -->
|
||||||
|
<!ENTITY Chi "Χ"> <!-- greek capital letter chi, U+03A7 -->
|
||||||
|
<!ENTITY Psi "Ψ"> <!-- greek capital letter psi,
|
||||||
|
U+03A8 ISOgrk3 -->
|
||||||
|
<!ENTITY Omega "Ω"> <!-- greek capital letter omega,
|
||||||
|
U+03A9 ISOgrk3 -->
|
||||||
|
|
||||||
|
<!ENTITY alpha "α"> <!-- greek small letter alpha,
|
||||||
|
U+03B1 ISOgrk3 -->
|
||||||
|
<!ENTITY beta "β"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
|
||||||
|
<!ENTITY gamma "γ"> <!-- greek small letter gamma,
|
||||||
|
U+03B3 ISOgrk3 -->
|
||||||
|
<!ENTITY delta "δ"> <!-- greek small letter delta,
|
||||||
|
U+03B4 ISOgrk3 -->
|
||||||
|
<!ENTITY epsilon "ε"> <!-- greek small letter epsilon,
|
||||||
|
U+03B5 ISOgrk3 -->
|
||||||
|
<!ENTITY zeta "ζ"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
|
||||||
|
<!ENTITY eta "η"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
|
||||||
|
<!ENTITY theta "θ"> <!-- greek small letter theta,
|
||||||
|
U+03B8 ISOgrk3 -->
|
||||||
|
<!ENTITY iota "ι"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
|
||||||
|
<!ENTITY kappa "κ"> <!-- greek small letter kappa,
|
||||||
|
U+03BA ISOgrk3 -->
|
||||||
|
<!ENTITY lambda "λ"> <!-- greek small letter lamda,
|
||||||
|
U+03BB ISOgrk3 -->
|
||||||
|
<!ENTITY mu "μ"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
|
||||||
|
<!ENTITY nu "ν"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
|
||||||
|
<!ENTITY xi "ξ"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
|
||||||
|
<!ENTITY omicron "ο"> <!-- greek small letter omicron, U+03BF NEW -->
|
||||||
|
<!ENTITY pi "π"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
|
||||||
|
<!ENTITY rho "ρ"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
|
||||||
|
<!ENTITY sigmaf "ς"> <!-- greek small letter final sigma,
|
||||||
|
U+03C2 ISOgrk3 -->
|
||||||
|
<!ENTITY sigma "σ"> <!-- greek small letter sigma,
|
||||||
|
U+03C3 ISOgrk3 -->
|
||||||
|
<!ENTITY tau "τ"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
|
||||||
|
<!ENTITY upsilon "υ"> <!-- greek small letter upsilon,
|
||||||
|
U+03C5 ISOgrk3 -->
|
||||||
|
<!ENTITY phi "φ"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
|
||||||
|
<!ENTITY chi "χ"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
|
||||||
|
<!ENTITY psi "ψ"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
|
||||||
|
<!ENTITY omega "ω"> <!-- greek small letter omega,
|
||||||
|
U+03C9 ISOgrk3 -->
|
||||||
|
<!ENTITY thetasym "ϑ"> <!-- greek theta symbol,
|
||||||
|
U+03D1 NEW -->
|
||||||
|
<!ENTITY upsih "ϒ"> <!-- greek upsilon with hook symbol,
|
||||||
|
U+03D2 NEW -->
|
||||||
|
<!ENTITY piv "ϖ"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
|
||||||
|
|
||||||
|
<!-- General Punctuation -->
|
||||||
|
<!ENTITY bull "•"> <!-- bullet = black small circle,
|
||||||
|
U+2022 ISOpub -->
|
||||||
|
<!-- bullet is NOT the same as bullet operator, U+2219 -->
|
||||||
|
<!ENTITY hellip "…"> <!-- horizontal ellipsis = three dot leader,
|
||||||
|
U+2026 ISOpub -->
|
||||||
|
<!ENTITY prime "′"> <!-- prime = minutes = feet, U+2032 ISOtech -->
|
||||||
|
<!ENTITY Prime "″"> <!-- double prime = seconds = inches,
|
||||||
|
U+2033 ISOtech -->
|
||||||
|
<!ENTITY oline "‾"> <!-- overline = spacing overscore,
|
||||||
|
U+203E NEW -->
|
||||||
|
<!ENTITY frasl "⁄"> <!-- fraction slash, U+2044 NEW -->
|
||||||
|
|
||||||
|
<!-- Letterlike Symbols -->
|
||||||
|
<!ENTITY weierp "℘"> <!-- script capital P = power set
|
||||||
|
= Weierstrass p, U+2118 ISOamso -->
|
||||||
|
<!ENTITY image "ℑ"> <!-- black-letter capital I = imaginary part,
|
||||||
|
U+2111 ISOamso -->
|
||||||
|
<!ENTITY real "ℜ"> <!-- black-letter capital R = real part symbol,
|
||||||
|
U+211C ISOamso -->
|
||||||
|
<!ENTITY trade "™"> <!-- trade mark sign, U+2122 ISOnum -->
|
||||||
|
<!ENTITY alefsym "ℵ"> <!-- alef symbol = first transfinite cardinal,
|
||||||
|
U+2135 NEW -->
|
||||||
|
<!-- alef symbol is NOT the same as hebrew letter alef,
|
||||||
|
U+05D0 although the same glyph could be used to depict both characters -->
|
||||||
|
|
||||||
|
<!-- Arrows -->
|
||||||
|
<!ENTITY larr "←"> <!-- leftwards arrow, U+2190 ISOnum -->
|
||||||
|
<!ENTITY uarr "↑"> <!-- upwards arrow, U+2191 ISOnum-->
|
||||||
|
<!ENTITY rarr "→"> <!-- rightwards arrow, U+2192 ISOnum -->
|
||||||
|
<!ENTITY darr "↓"> <!-- downwards arrow, U+2193 ISOnum -->
|
||||||
|
<!ENTITY harr "↔"> <!-- left right arrow, U+2194 ISOamsa -->
|
||||||
|
<!ENTITY crarr "↵"> <!-- downwards arrow with corner leftwards
|
||||||
|
= carriage return, U+21B5 NEW -->
|
||||||
|
<!ENTITY lArr "⇐"> <!-- leftwards double arrow, U+21D0 ISOtech -->
|
||||||
|
<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
|
||||||
|
but also does not have any other character for that function. So lArr can
|
||||||
|
be used for 'is implied by' as ISOtech suggests -->
|
||||||
|
<!ENTITY uArr "⇑"> <!-- upwards double arrow, U+21D1 ISOamsa -->
|
||||||
|
<!ENTITY rArr "⇒"> <!-- rightwards double arrow,
|
||||||
|
U+21D2 ISOtech -->
|
||||||
|
<!-- Unicode does not say this is the 'implies' character but does not have
|
||||||
|
another character with this function so rArr can be used for 'implies'
|
||||||
|
as ISOtech suggests -->
|
||||||
|
<!ENTITY dArr "⇓"> <!-- downwards double arrow, U+21D3 ISOamsa -->
|
||||||
|
<!ENTITY hArr "⇔"> <!-- left right double arrow,
|
||||||
|
U+21D4 ISOamsa -->
|
||||||
|
|
||||||
|
<!-- Mathematical Operators -->
|
||||||
|
<!ENTITY forall "∀"> <!-- for all, U+2200 ISOtech -->
|
||||||
|
<!ENTITY part "∂"> <!-- partial differential, U+2202 ISOtech -->
|
||||||
|
<!ENTITY exist "∃"> <!-- there exists, U+2203 ISOtech -->
|
||||||
|
<!ENTITY empty "∅"> <!-- empty set = null set, U+2205 ISOamso -->
|
||||||
|
<!ENTITY nabla "∇"> <!-- nabla = backward difference,
|
||||||
|
U+2207 ISOtech -->
|
||||||
|
<!ENTITY isin "∈"> <!-- element of, U+2208 ISOtech -->
|
||||||
|
<!ENTITY notin "∉"> <!-- not an element of, U+2209 ISOtech -->
|
||||||
|
<!ENTITY ni "∋"> <!-- contains as member, U+220B ISOtech -->
|
||||||
|
<!ENTITY prod "∏"> <!-- n-ary product = product sign,
|
||||||
|
U+220F ISOamsb -->
|
||||||
|
<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
|
||||||
|
the same glyph might be used for both -->
|
||||||
|
<!ENTITY sum "∑"> <!-- n-ary summation, U+2211 ISOamsb -->
|
||||||
|
<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
|
||||||
|
though the same glyph might be used for both -->
|
||||||
|
<!ENTITY minus "−"> <!-- minus sign, U+2212 ISOtech -->
|
||||||
|
<!ENTITY lowast "∗"> <!-- asterisk operator, U+2217 ISOtech -->
|
||||||
|
<!ENTITY radic "√"> <!-- square root = radical sign,
|
||||||
|
U+221A ISOtech -->
|
||||||
|
<!ENTITY prop "∝"> <!-- proportional to, U+221D ISOtech -->
|
||||||
|
<!ENTITY infin "∞"> <!-- infinity, U+221E ISOtech -->
|
||||||
|
<!ENTITY ang "∠"> <!-- angle, U+2220 ISOamso -->
|
||||||
|
<!ENTITY and "∧"> <!-- logical and = wedge, U+2227 ISOtech -->
|
||||||
|
<!ENTITY or "∨"> <!-- logical or = vee, U+2228 ISOtech -->
|
||||||
|
<!ENTITY cap "∩"> <!-- intersection = cap, U+2229 ISOtech -->
|
||||||
|
<!ENTITY cup "∪"> <!-- union = cup, U+222A ISOtech -->
|
||||||
|
<!ENTITY int "∫"> <!-- integral, U+222B ISOtech -->
|
||||||
|
<!ENTITY there4 "∴"> <!-- therefore, U+2234 ISOtech -->
|
||||||
|
<!ENTITY sim "∼"> <!-- tilde operator = varies with = similar to,
|
||||||
|
U+223C ISOtech -->
|
||||||
|
<!-- tilde operator is NOT the same character as the tilde, U+007E,
|
||||||
|
although the same glyph might be used to represent both -->
|
||||||
|
<!ENTITY cong "≅"> <!-- approximately equal to, U+2245 ISOtech -->
|
||||||
|
<!ENTITY asymp "≈"> <!-- almost equal to = asymptotic to,
|
||||||
|
U+2248 ISOamsr -->
|
||||||
|
<!ENTITY ne "≠"> <!-- not equal to, U+2260 ISOtech -->
|
||||||
|
<!ENTITY equiv "≡"> <!-- identical to, U+2261 ISOtech -->
|
||||||
|
<!ENTITY le "≤"> <!-- less-than or equal to, U+2264 ISOtech -->
|
||||||
|
<!ENTITY ge "≥"> <!-- greater-than or equal to,
|
||||||
|
U+2265 ISOtech -->
|
||||||
|
<!ENTITY sub "⊂"> <!-- subset of, U+2282 ISOtech -->
|
||||||
|
<!ENTITY sup "⊃"> <!-- superset of, U+2283 ISOtech -->
|
||||||
|
<!ENTITY nsub "⊄"> <!-- not a subset of, U+2284 ISOamsn -->
|
||||||
|
<!ENTITY sube "⊆"> <!-- subset of or equal to, U+2286 ISOtech -->
|
||||||
|
<!ENTITY supe "⊇"> <!-- superset of or equal to,
|
||||||
|
U+2287 ISOtech -->
|
||||||
|
<!ENTITY oplus "⊕"> <!-- circled plus = direct sum,
|
||||||
|
U+2295 ISOamsb -->
|
||||||
|
<!ENTITY otimes "⊗"> <!-- circled times = vector product,
|
||||||
|
U+2297 ISOamsb -->
|
||||||
|
<!ENTITY perp "⊥"> <!-- up tack = orthogonal to = perpendicular,
|
||||||
|
U+22A5 ISOtech -->
|
||||||
|
<!ENTITY sdot "⋅"> <!-- dot operator, U+22C5 ISOamsb -->
|
||||||
|
<!-- dot operator is NOT the same character as U+00B7 middle dot -->
|
||||||
|
|
||||||
|
<!-- Miscellaneous Technical -->
|
||||||
|
<!ENTITY lceil "⌈"> <!-- left ceiling = APL upstile,
|
||||||
|
U+2308 ISOamsc -->
|
||||||
|
<!ENTITY rceil "⌉"> <!-- right ceiling, U+2309 ISOamsc -->
|
||||||
|
<!ENTITY lfloor "⌊"> <!-- left floor = APL downstile,
|
||||||
|
U+230A ISOamsc -->
|
||||||
|
<!ENTITY rfloor "⌋"> <!-- right floor, U+230B ISOamsc -->
|
||||||
|
<!ENTITY lang "〈"> <!-- left-pointing angle bracket = bra,
|
||||||
|
U+2329 ISOtech -->
|
||||||
|
<!-- lang is NOT the same character as U+003C 'less than sign'
|
||||||
|
or U+2039 'single left-pointing angle quotation mark' -->
|
||||||
|
<!ENTITY rang "〉"> <!-- right-pointing angle bracket = ket,
|
||||||
|
U+232A ISOtech -->
|
||||||
|
<!-- rang is NOT the same character as U+003E 'greater than sign'
|
||||||
|
or U+203A 'single right-pointing angle quotation mark' -->
|
||||||
|
|
||||||
|
<!-- Geometric Shapes -->
|
||||||
|
<!ENTITY loz "◊"> <!-- lozenge, U+25CA ISOpub -->
|
||||||
|
|
||||||
|
<!-- Miscellaneous Symbols -->
|
||||||
|
<!ENTITY spades "♠"> <!-- black spade suit, U+2660 ISOpub -->
|
||||||
|
<!-- black here seems to mean filled as opposed to hollow -->
|
||||||
|
<!ENTITY clubs "♣"> <!-- black club suit = shamrock,
|
||||||
|
U+2663 ISOpub -->
|
||||||
|
<!ENTITY hearts "♥"> <!-- black heart suit = valentine,
|
||||||
|
U+2665 ISOpub -->
|
||||||
|
<!ENTITY diams "♦"> <!-- black diamond suit, U+2666 ISOpub -->
|
1235
build/classes/fr/devinsy/xid/xhtml1-frameset.dtd
Normal file
1235
build/classes/fr/devinsy/xid/xhtml1-frameset.dtd
Normal file
File diff suppressed because it is too large
Load diff
1210
build/classes/fr/devinsy/xid/xhtml1-transitional.dtd
Normal file
1210
build/classes/fr/devinsy/xid/xhtml1-transitional.dtd
Normal file
File diff suppressed because it is too large
Load diff
82
src/fr/devinsy/xid/Attributes.java
Normal file
82
src/fr/devinsy/xid/Attributes.java
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
package fr.devinsy.xid;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Note: no more AttrValue as in Brill, because the exception of style is managed
|
||||||
|
* in the attribute merging on the "style" string detection.
|
||||||
|
*/
|
||||||
|
public class Attributes extends HashMap<String, String>
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 2802739066295665336L;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Attributes ()
|
||||||
|
{
|
||||||
|
super ();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Useful for the merge attributes.
|
||||||
|
*/
|
||||||
|
public Attributes (Attributes attributes)
|
||||||
|
{
|
||||||
|
super (attributes);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setAttribute (String label, String value)
|
||||||
|
{
|
||||||
|
this.put (label, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add a value to an existing value. This is useful to the 'style' attribute.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void appendAttribute (String label, String value)
|
||||||
|
{
|
||||||
|
if (this.containsKey (label))
|
||||||
|
{
|
||||||
|
this.put (label, this.get (label) + value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.put (label, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getAttribute (String label)
|
||||||
|
{
|
||||||
|
String result;
|
||||||
|
|
||||||
|
if (this.containsKey (label))
|
||||||
|
{
|
||||||
|
result = this.get (label);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
390
src/fr/devinsy/xid/Data.java
Normal file
390
src/fr/devinsy/xid/Data.java
Normal file
|
@ -0,0 +1,390 @@
|
||||||
|
package fr.devinsy.xid;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class Data
|
||||||
|
{
|
||||||
|
protected IdsDataById idsDataById;
|
||||||
|
protected TagsDataById tagsDataById;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Data ()
|
||||||
|
{
|
||||||
|
this.idsDataById = new IdsDataById ();
|
||||||
|
this.tagsDataById = new TagsDataById ();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public IdsDataById getIdsDataById ()
|
||||||
|
{
|
||||||
|
IdsDataById result;
|
||||||
|
|
||||||
|
result = this.idsDataById;
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public TagsDataById getTagsDataById ()
|
||||||
|
{
|
||||||
|
TagsDataById result;
|
||||||
|
|
||||||
|
result = this.tagsDataById;
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public IdData getIdData (String id)
|
||||||
|
{
|
||||||
|
IdData result;
|
||||||
|
|
||||||
|
// Be sure that IdData is existing and get item.
|
||||||
|
result = (IdData) this.idsDataById.getId (id);
|
||||||
|
|
||||||
|
if (result == null)
|
||||||
|
{
|
||||||
|
this.idsDataById.setId (id, new IdData ());
|
||||||
|
|
||||||
|
result = (IdData) this.idsDataById.getId (id);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public IdData getIdData (String id, int line)
|
||||||
|
{
|
||||||
|
IdData result;
|
||||||
|
|
||||||
|
// Be sure that IdsData are existing.
|
||||||
|
IdsDataByIndex tags = (IdsDataByIndex) this.idsDataById.getId (id);
|
||||||
|
if (tags == null)
|
||||||
|
{
|
||||||
|
this.idsDataById.setId (id, new IdsDataByIndex ());
|
||||||
|
|
||||||
|
tags = (IdsDataByIndex) this.idsDataById.getId (id);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Be sure that lines are existing.
|
||||||
|
int nbLines = tags.size ();
|
||||||
|
for (int nLine = nbLines; nLine < line + 1; nLine++)
|
||||||
|
{
|
||||||
|
tags.add (nLine, new IdData ());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get item.
|
||||||
|
result = (IdData) tags.elementAt (line);
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public IdData getIdData (String id, int line, String column)
|
||||||
|
{
|
||||||
|
IdData result;
|
||||||
|
|
||||||
|
// Be sure that IdsData are existing.
|
||||||
|
IdsDataByIndex tags = (IdsDataByIndex) this.idsDataById.getId (id);
|
||||||
|
if (tags == null)
|
||||||
|
{
|
||||||
|
this.idsDataById.setId (id, new IdsDataByIndex ());
|
||||||
|
|
||||||
|
tags = (IdsDataByIndex) this.idsDataById.getId (id);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Be sure that lines are existing.
|
||||||
|
int nbLines = tags.size ();
|
||||||
|
for (int nLine = nbLines; nLine < line + 1; nLine++)
|
||||||
|
{
|
||||||
|
tags.add (nLine, new IdsDataById ());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get item.
|
||||||
|
IdsDataById lineData = (IdsDataById) tags.elementAt (line);
|
||||||
|
|
||||||
|
result = (IdData) lineData.get (column);
|
||||||
|
|
||||||
|
if (result == null)
|
||||||
|
{
|
||||||
|
lineData.put (column, new IdData ());
|
||||||
|
|
||||||
|
result = (IdData) lineData.get (column);
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setIterationStrategy (String id, IdData.IterationStrategy strategy)
|
||||||
|
{
|
||||||
|
IdData tag = (IdData) this.getIdData (id);
|
||||||
|
|
||||||
|
tag.setIterationStrategy (strategy);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setContent (String id, String content)
|
||||||
|
{
|
||||||
|
if (id.startsWith ("<"))
|
||||||
|
{
|
||||||
|
String tagName = id.substring (1, id.length () - 1);
|
||||||
|
|
||||||
|
TagData tag = this.tagsDataById.getId (tagName);
|
||||||
|
if (tag == null)
|
||||||
|
{
|
||||||
|
tag = new TagData ();
|
||||||
|
this.tagsDataById.setId (tagName, tag);
|
||||||
|
}
|
||||||
|
|
||||||
|
tag.setContent (content);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IdData idData = this.getIdData (id);
|
||||||
|
|
||||||
|
idData.setContent (content);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setContent (String id, int content)
|
||||||
|
{
|
||||||
|
setContent (id, (new Integer (content)).toString ());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setContent (String id, int line, String content)
|
||||||
|
{
|
||||||
|
IdData tag = this.getIdData (id, line);
|
||||||
|
|
||||||
|
tag.setContent (content);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setContent (String id, int line, int content)
|
||||||
|
{
|
||||||
|
setContent (id, line, (new Integer (content)).toString ());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setContent (String id, int line, String column, String content)
|
||||||
|
{
|
||||||
|
IdData tag = this.getIdData (id, line, column);
|
||||||
|
|
||||||
|
tag.setContent (content);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setContent (String id, int line, String column, int content)
|
||||||
|
{
|
||||||
|
setContent (id, line, column, (new Integer (content)).toString ());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @TODO
|
||||||
|
*/
|
||||||
|
public void setContent (String id, int line, String subId, int subLine, String column, String content)
|
||||||
|
{
|
||||||
|
// IdData tag = this.getIdData (id, line, subId, subLine, column);
|
||||||
|
|
||||||
|
//tag.setContent (content);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setAttribute (String id, String label, String value)
|
||||||
|
{
|
||||||
|
if (id.startsWith ("<"))
|
||||||
|
{
|
||||||
|
String tagName = id.substring (1, id.length () - 1);
|
||||||
|
|
||||||
|
TagData tag = this.tagsDataById.getId (tagName);
|
||||||
|
if (tag == null)
|
||||||
|
{
|
||||||
|
tag = new TagData ();
|
||||||
|
this.tagsDataById.setId (tagName, tag);
|
||||||
|
}
|
||||||
|
|
||||||
|
tag.getAttributes ().setAttribute (label, value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IdData tag = this.getIdData (id);
|
||||||
|
|
||||||
|
tag.getAttributes ().setAttribute (label, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setAttribute (String id, String label, int value)
|
||||||
|
{
|
||||||
|
setAttribute (id, label, (new Integer (value)).toString ());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setAttribute (String id, int line, String label, String value)
|
||||||
|
{
|
||||||
|
IdData tag = this.getIdData (id, line);
|
||||||
|
|
||||||
|
tag.getAttributes ().setAttribute (label, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setAttribute (String id, int line, String label, int value)
|
||||||
|
{
|
||||||
|
setAttribute (id, line, label, (new Integer (value)).toString ());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setAttribute (String id, int line, String column, String label, String value)
|
||||||
|
{
|
||||||
|
IdData tag = this.getIdData (id, line, column);
|
||||||
|
|
||||||
|
tag.getAttributes ().setAttribute (label, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setAttribute (String id, int line, String column, String label, int value)
|
||||||
|
{
|
||||||
|
setAttribute (id, line, column, label, (new Integer (value)).toString ());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void appendAttribute (String id, int line, String column, String label, String value)
|
||||||
|
{
|
||||||
|
IdData tag = this.getIdData (id, line, column);
|
||||||
|
|
||||||
|
tag.getAttributes ().appendAttribute (label, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void appendAttribute (String id, String label, String value)
|
||||||
|
{
|
||||||
|
IdData tag = this.getIdData (id);
|
||||||
|
|
||||||
|
tag.getAttributes ().appendAttribute (label, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void appendAttribute (String id, String label, int value)
|
||||||
|
{
|
||||||
|
appendAttribute (id, label, (new Integer (value)).toString ());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void appendContent (String id, int line, String value)
|
||||||
|
{
|
||||||
|
IdData tag = this.getIdData (id, line);
|
||||||
|
|
||||||
|
tag.appendContent (value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void appendContent (String id, int line, int value)
|
||||||
|
{
|
||||||
|
appendContent (id, line, (new Integer (value)).toString ());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void appendContent (String id, int line, String column, String value)
|
||||||
|
{
|
||||||
|
IdData tag = this.getIdData (id, line, column);
|
||||||
|
|
||||||
|
tag.appendContent (value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void appendContent (String id, int line, String column, int value)
|
||||||
|
{
|
||||||
|
appendContent (id, line, column, (new Integer (value)).toString ());
|
||||||
|
}
|
||||||
|
}
|
191
src/fr/devinsy/xid/DomPresenter.java
Normal file
191
src/fr/devinsy/xid/DomPresenter.java
Normal file
|
@ -0,0 +1,191 @@
|
||||||
|
package fr.devinsy.xid;
|
||||||
|
|
||||||
|
import org.w3c.dom.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class DomPresenter extends Presenter
|
||||||
|
{
|
||||||
|
static final public char INDEX_SEPARATOR = '_';
|
||||||
|
|
||||||
|
static protected org.apache.log4j.Logger logger;
|
||||||
|
static
|
||||||
|
{
|
||||||
|
logger = org.apache.log4j.Logger.getLogger (DomPresenter.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
static protected String staticRootPath;
|
||||||
|
static
|
||||||
|
{
|
||||||
|
staticRootPath = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected String webappPath;
|
||||||
|
protected Document doc;
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public DomPresenter ()
|
||||||
|
{
|
||||||
|
this.webappPath = Presenter.staticRootPath;
|
||||||
|
this.doc = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public DomPresenter (Document doc)
|
||||||
|
{
|
||||||
|
this.webappPath = Presenter.staticRootPath;
|
||||||
|
this.doc = doc;
|
||||||
|
DomPresenter.addMetaTag (this.doc, "generator", "XID 0.0");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public DomPresenter (String webappPath, Document doc)
|
||||||
|
{
|
||||||
|
if ((webappPath == null) || (webappPath.equals ("")))
|
||||||
|
{
|
||||||
|
this.webappPath = Presenter.staticRootPath;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.webappPath = webappPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.doc = doc;
|
||||||
|
DomPresenter.addMetaTag (this.doc, "generator", "XID 0.0");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getWebappPath ()
|
||||||
|
{
|
||||||
|
String result;
|
||||||
|
|
||||||
|
result = this.webappPath;
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setWebappPath (String path)
|
||||||
|
{
|
||||||
|
this.webappPath = path;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Document getDom ()
|
||||||
|
{
|
||||||
|
Document result;
|
||||||
|
|
||||||
|
result = this.doc;
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setDom (Document doc)
|
||||||
|
{
|
||||||
|
this.doc = doc;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setSource (Document doc)
|
||||||
|
{
|
||||||
|
this.doc = doc;
|
||||||
|
|
||||||
|
Presenter.addMetaTag (this.doc, "generator", "XID 0.0");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Object getSource ()
|
||||||
|
{
|
||||||
|
Object result;
|
||||||
|
|
||||||
|
result = this.doc;
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public StringBuffer doXid (Data datas, StringBuffer errorOutput)
|
||||||
|
{
|
||||||
|
return (doXid (datas.getIdsDataById (), datas.getTagsDataById (), errorOutput));
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public StringBuffer doXid (IdsDataById datas, TagsDataById tagsData, StringBuffer errorOutput)
|
||||||
|
{
|
||||||
|
StringBuffer result;
|
||||||
|
|
||||||
|
if (this.doc == null)
|
||||||
|
{
|
||||||
|
String errorMessage = "source not defined";
|
||||||
|
errorOutput.append (errorMessage);
|
||||||
|
logger.error (errorMessage);
|
||||||
|
result = null;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Build the web page.
|
||||||
|
result = Presenter.doXid (this.doc, datas, tagsData, this.webappPath, errorOutput);
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Xid a file with data.
|
||||||
|
*/
|
||||||
|
static public StringBuffer doXid (Document doc, IdsDataById datas, String webappPath, StringBuffer errorOutput)
|
||||||
|
{
|
||||||
|
return (doXid (doc, datas, null, webappPath, errorOutput));
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Xid a file with data.
|
||||||
|
*/
|
||||||
|
static public StringBuffer doXid (Document doc, IdsDataById datas, TagsDataById tagsData, String webappPath, StringBuffer errorOutput)
|
||||||
|
{
|
||||||
|
StringBuffer result;
|
||||||
|
|
||||||
|
result = Presenter.process (doc, datas, tagsData, webappPath, errorOutput);
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
}
|
167
src/fr/devinsy/xid/FilePresenter.java
Normal file
167
src/fr/devinsy/xid/FilePresenter.java
Normal file
|
@ -0,0 +1,167 @@
|
||||||
|
package fr.devinsy.xid;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
import org.w3c.dom.*;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class FilePresenter extends DomPresenter
|
||||||
|
{
|
||||||
|
static protected org.apache.log4j.Logger logger;
|
||||||
|
static
|
||||||
|
{
|
||||||
|
logger = org.apache.log4j.Logger.getLogger (FilePresenter.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String sourceFileName;
|
||||||
|
protected long sourceFileTime;
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public FilePresenter ()
|
||||||
|
{
|
||||||
|
this.webappPath = Presenter.staticRootPath;
|
||||||
|
this.sourceFileName = null;
|
||||||
|
this.sourceFileTime = 0;
|
||||||
|
this.doc = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public FilePresenter (String fileName)
|
||||||
|
{
|
||||||
|
this.webappPath = Presenter.staticRootPath;
|
||||||
|
this.sourceFileName = fileName;
|
||||||
|
this.sourceFileTime = 0;
|
||||||
|
this.doc = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public FilePresenter (String webappPath, String fileName)
|
||||||
|
{
|
||||||
|
if ((webappPath == null) || (webappPath.equals ("")))
|
||||||
|
{
|
||||||
|
this.webappPath = Presenter.staticRootPath;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.webappPath = webappPath;
|
||||||
|
}
|
||||||
|
this.sourceFileName = fileName;
|
||||||
|
this.sourceFileTime = 0;
|
||||||
|
this.doc = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setSource (String fileName)
|
||||||
|
{
|
||||||
|
this.sourceFileName = fileName;
|
||||||
|
this.sourceFileTime = 0;
|
||||||
|
this.doc = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getSource ()
|
||||||
|
{
|
||||||
|
String result;
|
||||||
|
|
||||||
|
result = this.sourceFileName;
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public StringBuffer doXid (Data datas, StringBuffer errorOutput)
|
||||||
|
{
|
||||||
|
return (doXid (datas.getIdsDataById (), datas.getTagsDataById (), errorOutput));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public StringBuffer doXid (IdsDataById datas, TagsDataById tagsData, StringBuffer errorOutput)
|
||||||
|
{
|
||||||
|
StringBuffer result;
|
||||||
|
|
||||||
|
String sourceFilePath = this.webappPath + File.separator + this.sourceFileName;
|
||||||
|
|
||||||
|
// Get the good tree.
|
||||||
|
File source = new File (sourceFilePath);
|
||||||
|
|
||||||
|
if (source == null)
|
||||||
|
{
|
||||||
|
String errorMessage = "source file not defined";
|
||||||
|
errorOutput.append (errorMessage);
|
||||||
|
logger.error (errorMessage);
|
||||||
|
result = null;
|
||||||
|
}
|
||||||
|
else if (!source.exists ())
|
||||||
|
{
|
||||||
|
String errorMessage = "source file defined but not found (" + sourceFilePath + ")";
|
||||||
|
errorOutput.append (errorMessage);
|
||||||
|
logger.error (errorMessage);
|
||||||
|
result = null;
|
||||||
|
}
|
||||||
|
else if ((this.doc == null) ||
|
||||||
|
(this.sourceFileTime != source.lastModified ()))
|
||||||
|
{
|
||||||
|
this.sourceFileTime = source.lastModified ();
|
||||||
|
this.doc = Presenter.fileToTree (sourceFilePath, errorOutput);
|
||||||
|
|
||||||
|
if (this.doc != null)
|
||||||
|
{
|
||||||
|
Presenter.addMetaTag (doc, "generator", "XID 0.0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Build the web page.
|
||||||
|
result = Presenter.doXid (doc, datas, tagsData, this.webappPath, errorOutput);
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Xid a file without data.
|
||||||
|
*/
|
||||||
|
static public StringBuffer doXid (String fileName, String webappPath, StringBuffer errorOutput)
|
||||||
|
{
|
||||||
|
StringBuffer result;
|
||||||
|
|
||||||
|
Document doc = Presenter.fileToTree (fileName, errorOutput);
|
||||||
|
|
||||||
|
if (doc == null)
|
||||||
|
{
|
||||||
|
result = null;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Presenter.addMetaTag (doc, "generator", "XID 0.0");
|
||||||
|
|
||||||
|
result = Presenter.doXid (doc, null, null, webappPath, errorOutput);
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
}
|
180
src/fr/devinsy/xid/IdData.java
Normal file
180
src/fr/devinsy/xid/IdData.java
Normal file
|
@ -0,0 +1,180 @@
|
||||||
|
package fr.devinsy.xid;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IdData class is used to hold application data and
|
||||||
|
* the business logic that operates on the data.
|
||||||
|
*
|
||||||
|
* The only requirement of a IdData class is that it must implement a
|
||||||
|
* display method. The display method must return a text representation
|
||||||
|
* of the data, suitable for display in a web page.
|
||||||
|
*
|
||||||
|
* XID provides a User Input IdData, Text IdData and ...
|
||||||
|
* application may also implement it's own IdData classes.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class IdData implements Serializable, IdDataCore
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 8976245034682639923L;
|
||||||
|
|
||||||
|
|
||||||
|
public enum IterationStrategy {ONLY_FIRST_ROW, ONLY_FIRST_TWO_ROWS, ONLY_ROWS_WITH_ID, ONLY_ROWS_WITHOUT_ID, ALL_ROWS}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public enum MODE {REPLACE, APPEND, IGNORE};
|
||||||
|
|
||||||
|
protected IterationStrategy iterationStrategy;
|
||||||
|
protected Attributes attributes;
|
||||||
|
protected boolean excludeSection;
|
||||||
|
protected MODE displayMode = MODE.REPLACE;
|
||||||
|
protected String content;
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public IdData ()
|
||||||
|
{
|
||||||
|
this.attributes = null;
|
||||||
|
this.excludeSection = false;
|
||||||
|
this.displayMode = MODE.REPLACE;
|
||||||
|
this.content = null;
|
||||||
|
this.iterationStrategy = IterationStrategy.ALL_ROWS;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public IdData (String text)
|
||||||
|
{
|
||||||
|
this.attributes = null;
|
||||||
|
this.excludeSection = false;
|
||||||
|
this.displayMode = MODE.REPLACE;
|
||||||
|
this.content = text;
|
||||||
|
this.iterationStrategy = IterationStrategy.ALL_ROWS;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String display ()
|
||||||
|
{
|
||||||
|
String result;
|
||||||
|
|
||||||
|
result = this.content;
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setContent (String text)
|
||||||
|
{
|
||||||
|
this.content = text;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void appendContent (String text)
|
||||||
|
{
|
||||||
|
if (this.content == null)
|
||||||
|
{
|
||||||
|
this.content = text;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.content += text;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setDisplayMode(MODE displayMode)
|
||||||
|
{
|
||||||
|
this.displayMode = displayMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public MODE getDisplayMode()
|
||||||
|
{
|
||||||
|
MODE result;
|
||||||
|
|
||||||
|
result = this.displayMode;
|
||||||
|
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Attributes getAttributes ()
|
||||||
|
{
|
||||||
|
Attributes result;
|
||||||
|
|
||||||
|
if (this.attributes == null)
|
||||||
|
{
|
||||||
|
this.attributes = new Attributes ();
|
||||||
|
}
|
||||||
|
|
||||||
|
result = this.attributes;
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setExcludeSection(boolean excludeSection)
|
||||||
|
{
|
||||||
|
this.excludeSection = excludeSection;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public boolean getExcludeSection()
|
||||||
|
{
|
||||||
|
return excludeSection;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setIterationStrategy (IterationStrategy strategy)
|
||||||
|
{
|
||||||
|
this.iterationStrategy = strategy;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public IterationStrategy getIterationStrategy ()
|
||||||
|
{
|
||||||
|
IterationStrategy result;
|
||||||
|
|
||||||
|
result = this.iterationStrategy;
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
}
|
15
src/fr/devinsy/xid/IdDataCore.java
Normal file
15
src/fr/devinsy/xid/IdDataCore.java
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
package fr.devinsy.xid;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Xid uses three class to describe data:
|
||||||
|
* - TagData
|
||||||
|
* - TagsData
|
||||||
|
* - TagsDataById
|
||||||
|
* Others class that doesn't extends these won't be use by Xid.
|
||||||
|
*
|
||||||
|
* This interface helps to express this fact.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public interface IdDataCore
|
||||||
|
{
|
||||||
|
}
|
42
src/fr/devinsy/xid/IdsDataById.java
Normal file
42
src/fr/devinsy/xid/IdsDataById.java
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
package fr.devinsy.xid;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class IdsDataById extends HashMap<String, IdDataCore> implements IdDataCore
|
||||||
|
{
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -5787252043825503554L;
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public IdsDataById ()
|
||||||
|
{
|
||||||
|
super ();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setId (String id, IdDataCore data)
|
||||||
|
{
|
||||||
|
this.put (id, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public IdDataCore getId (String id)
|
||||||
|
{
|
||||||
|
IdDataCore result;
|
||||||
|
|
||||||
|
result = this.get (id);
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
21
src/fr/devinsy/xid/IdsDataByIndex.java
Normal file
21
src/fr/devinsy/xid/IdsDataByIndex.java
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
package fr.devinsy.xid;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class IdsDataByIndex extends Vector<IdDataCore> implements IdDataCore
|
||||||
|
{
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 215545720925753884L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public IdsDataByIndex ()
|
||||||
|
{
|
||||||
|
super ();
|
||||||
|
}
|
||||||
|
}
|
159
src/fr/devinsy/xid/ParserErrorHandler.java
Normal file
159
src/fr/devinsy/xid/ParserErrorHandler.java
Normal file
|
@ -0,0 +1,159 @@
|
||||||
|
package fr.devinsy.xid;
|
||||||
|
|
||||||
|
import org.xml.sax.*;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extract from org.xml.sax Interface ErrorHandler:
|
||||||
|
* "If a SAX application needs to implement customized error handling,
|
||||||
|
* it must implement this interface and then register an instance with
|
||||||
|
* the XML reader using the setErrorHandler method. The parser will
|
||||||
|
* then report all errors and warnings through this interface."
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ParserErrorHandler implements ErrorHandler
|
||||||
|
{
|
||||||
|
Vector<String> messages;
|
||||||
|
int fatalErrorsCount;
|
||||||
|
int errorsCount;
|
||||||
|
int warningCount;
|
||||||
|
|
||||||
|
public ParserErrorHandler ()
|
||||||
|
{
|
||||||
|
fatalErrorsCount = 0;
|
||||||
|
errorsCount = 0;
|
||||||
|
warningCount = 0;
|
||||||
|
messages = new Vector<String> ();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public int fatalErrorsCount ()
|
||||||
|
{
|
||||||
|
int result;
|
||||||
|
|
||||||
|
result = this.fatalErrorsCount;
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public int errorsCount ()
|
||||||
|
{
|
||||||
|
int result;
|
||||||
|
|
||||||
|
result = this.errorsCount;
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public int warningCount ()
|
||||||
|
{
|
||||||
|
int result;
|
||||||
|
|
||||||
|
result = this.warningCount;
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public int allErrorsCount ()
|
||||||
|
{
|
||||||
|
int result;
|
||||||
|
|
||||||
|
result = fatalErrorsCount () + errorsCount () + warningCount ();
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public boolean hasError ()
|
||||||
|
{
|
||||||
|
boolean result;
|
||||||
|
|
||||||
|
if (allErrorsCount () == 0)
|
||||||
|
{
|
||||||
|
result = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called by the XML parser to handle fatal errors.
|
||||||
|
* @param ex Parse Excpetion. Contains the warning text and the line number.
|
||||||
|
*/
|
||||||
|
public void error (SAXParseException exception)
|
||||||
|
{
|
||||||
|
String message = "Error at line " + exception.getLineNumber() + " : " + exception.getMessage();
|
||||||
|
|
||||||
|
this.errorsCount += 1;
|
||||||
|
this.messages.add (message);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called by the XML parser to handle fatal errors.
|
||||||
|
* @param ex Parse Excpetion. Contains the error text and the line number.
|
||||||
|
* When a fatal parse error occurs, the parse does not return a document.
|
||||||
|
*/
|
||||||
|
public void fatalError (SAXParseException exception)
|
||||||
|
{
|
||||||
|
String message = "Fatal error at line " + exception.getLineNumber() + " : " + exception.getMessage();
|
||||||
|
|
||||||
|
this.fatalErrorsCount += 1;
|
||||||
|
this.messages.add (message);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called by the XML parser to handle warnings.
|
||||||
|
* @param ex Parse Excpetion. Contains the warning text and the line number.
|
||||||
|
*/
|
||||||
|
public void warning(SAXParseException exception)
|
||||||
|
{
|
||||||
|
String message = "Warning at line " + exception.getLineNumber() + " : " + exception.getMessage();
|
||||||
|
|
||||||
|
this.warningCount += 1;
|
||||||
|
this.messages.add (message);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String toString ()
|
||||||
|
{
|
||||||
|
StringBuffer result;
|
||||||
|
|
||||||
|
result = new StringBuffer ();
|
||||||
|
|
||||||
|
for (String message : messages)
|
||||||
|
{
|
||||||
|
result.append (message);
|
||||||
|
result.append ('\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result.toString ());
|
||||||
|
}
|
||||||
|
}
|
1331
src/fr/devinsy/xid/Presenter.java
Normal file
1331
src/fr/devinsy/xid/Presenter.java
Normal file
File diff suppressed because it is too large
Load diff
195
src/fr/devinsy/xid/StringPresenter.java
Normal file
195
src/fr/devinsy/xid/StringPresenter.java
Normal file
|
@ -0,0 +1,195 @@
|
||||||
|
package fr.devinsy.xid;
|
||||||
|
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class StringPresenter extends DomPresenter
|
||||||
|
{
|
||||||
|
static protected org.apache.log4j.Logger logger;
|
||||||
|
static
|
||||||
|
{
|
||||||
|
logger = org.apache.log4j.Logger.getLogger (StringPresenter.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String html;
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public StringPresenter ()
|
||||||
|
{
|
||||||
|
super ();
|
||||||
|
this.webappPath = Presenter.staticRootPath;
|
||||||
|
this.doc = null;
|
||||||
|
this.html = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public StringPresenter (String html)
|
||||||
|
{
|
||||||
|
this.webappPath = Presenter.staticRootPath;
|
||||||
|
this.doc = null;
|
||||||
|
this.html = html;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public StringPresenter (String webappPath, String html)
|
||||||
|
{
|
||||||
|
if ((webappPath == null) || (webappPath.equals ("")))
|
||||||
|
{
|
||||||
|
this.webappPath = Presenter.staticRootPath;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.webappPath = webappPath;
|
||||||
|
}
|
||||||
|
this.doc = null;
|
||||||
|
this.html = html;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setSource (String html)
|
||||||
|
{
|
||||||
|
this.html = html;
|
||||||
|
this.doc = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getSource ()
|
||||||
|
{
|
||||||
|
String result;
|
||||||
|
|
||||||
|
result = this.html;
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public StringBuffer doXid (Data datas, StringBuffer errorOutput)
|
||||||
|
{
|
||||||
|
return (doXid (datas.getIdsDataById (), datas.getTagsDataById (), errorOutput));
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public StringBuffer doXid (IdsDataById datas, TagsDataById tagsData, StringBuffer errorOutput)
|
||||||
|
{
|
||||||
|
StringBuffer result;
|
||||||
|
|
||||||
|
if (this.doc == null)
|
||||||
|
{
|
||||||
|
// Build doc from this.html.
|
||||||
|
String htmlSource;
|
||||||
|
if ((this.html.startsWith ("<!DOCTYPE")) ||
|
||||||
|
(this.html.startsWith ("<!doctype")) ||
|
||||||
|
(this.html.startsWith ("<html>")) ||
|
||||||
|
(this.html.startsWith ("<HTML>")))
|
||||||
|
{
|
||||||
|
htmlSource = html;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
htmlSource = "<html><head></head><body>\n" + html + "</body></html>";
|
||||||
|
}
|
||||||
|
|
||||||
|
// StringBufferInputStream is deprecated so we use another solution.
|
||||||
|
// (see http://www.developpez.net/forums/archive/index.php/t-14101.html).
|
||||||
|
doc = buildTree (new ByteArrayInputStream (htmlSource.getBytes ()), errorOutput);
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuffer htmlTarget;
|
||||||
|
htmlTarget = Presenter.doXid (doc, datas, tagsData, this.webappPath, errorOutput);
|
||||||
|
|
||||||
|
if (htmlTarget == null)
|
||||||
|
{
|
||||||
|
result = null;
|
||||||
|
}
|
||||||
|
else if ((this.html.startsWith ("<!DOCTYPE")) ||
|
||||||
|
(this.html.startsWith ("<!doctype")) ||
|
||||||
|
(this.html.startsWith ("<html>")) ||
|
||||||
|
(this.html.startsWith ("<HTML>")))
|
||||||
|
{
|
||||||
|
result = htmlTarget;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
String bodyContent = extractBodyContent (htmlTarget);
|
||||||
|
|
||||||
|
if (bodyContent == null)
|
||||||
|
{
|
||||||
|
result = null;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result = new StringBuffer (bodyContent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
static public StringBuffer doXid (String html, Data datas, StringBuffer errorOutput)
|
||||||
|
{
|
||||||
|
return (doXid (html, datas.getIdsDataById (), datas.getTagsDataById (), "", errorOutput));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
static public StringBuffer doXid (String html, Data datas, String webappPath, StringBuffer errorOutput)
|
||||||
|
{
|
||||||
|
return (doXid (html, datas.getIdsDataById (), datas.getTagsDataById (), webappPath, errorOutput));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Xid a string with html in.
|
||||||
|
*/
|
||||||
|
static public StringBuffer doXid (String html, IdsDataById datas, String webappPath, StringBuffer errorOutput)
|
||||||
|
{
|
||||||
|
return (doXid (html, datas, null, webappPath, errorOutput));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Xid a string with html in.
|
||||||
|
*/
|
||||||
|
static public StringBuffer doXid (String html, IdsDataById datas, TagsDataById tagsData, String webappPath, StringBuffer errorOutput)
|
||||||
|
{
|
||||||
|
StringBuffer result;
|
||||||
|
|
||||||
|
StringPresenter presenter = new StringPresenter (webappPath, html);
|
||||||
|
|
||||||
|
result = presenter.doXid (datas, tagsData, errorOutput);
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
}
|
39
src/fr/devinsy/xid/TagData.java
Normal file
39
src/fr/devinsy/xid/TagData.java
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
package fr.devinsy.xid;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IdData class is used to hold application data and
|
||||||
|
* the business logic that operates on the data.
|
||||||
|
*
|
||||||
|
* The only requirement of a IdData class is that it must implement a
|
||||||
|
* display method. The display method must return a text representation
|
||||||
|
* of the data, suitable for display in a web page.
|
||||||
|
*
|
||||||
|
* XID provides a User Input IdData, Text IdData and ...
|
||||||
|
* application may also implement it's own IdData classes.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class TagData extends IdData implements Serializable
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 2857526344702056757L;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public TagData ()
|
||||||
|
{
|
||||||
|
super ();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public TagData (String text)
|
||||||
|
{
|
||||||
|
super (text);
|
||||||
|
}
|
||||||
|
}
|
43
src/fr/devinsy/xid/TagsDataById.java
Normal file
43
src/fr/devinsy/xid/TagsDataById.java
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
package fr.devinsy.xid;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class TagsDataById extends HashMap<String, TagData>
|
||||||
|
{
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 7818145931750600119L;
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public TagsDataById ()
|
||||||
|
{
|
||||||
|
super ();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setId (String id, TagData data)
|
||||||
|
{
|
||||||
|
this.put (id, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public TagData getId (String id)
|
||||||
|
{
|
||||||
|
TagData result;
|
||||||
|
|
||||||
|
result = this.get (id);
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
79
src/fr/devinsy/xid/testXid.html
Normal file
79
src/fr/devinsy/xid/testXid.html
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
<!DOCTYPE html SYSTEM "xhtml1-transitional.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>test</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Test 01: No id attribute
|
||||||
|
XHTML: Hello <b title="a">world</b>.
|
||||||
|
no Java code
|
||||||
|
Result: Hello <b title="a">world</b>.
|
||||||
|
|
||||||
|
Test 02: id attribute with empty model
|
||||||
|
XHTML: Hello <b id="test02-original" title="b">world</b>.
|
||||||
|
no Java code
|
||||||
|
Result: Hello <b id="test02" title="b">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 03: model changing the text
|
||||||
|
XHTML: Hello <b id="test03-original" title="c">world</b>.
|
||||||
|
// Populate attributes of Test 03.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().appendAttribute ("style", "background: blue;");
|
||||||
|
text.getAttributes ().appendAttribute ("style", "foreground: red;");
|
||||||
|
text.getAttributes ().setAttribute ("class", "totoClass");
|
||||||
|
text.setText ("mummy");
|
||||||
|
datas.put ("test03", text);
|
||||||
|
Result: Hello <b id="test03" title="c">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 04: model changing title
|
||||||
|
XHTML: Hello <b id="test04-original" title="d">world</b>.
|
||||||
|
// Populate attributes of Test 04.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().setAttribute ("title", "another title");
|
||||||
|
datas.put ("test04", text);
|
||||||
|
Result: Hello <b id="test04" title="d">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 05: model adding style attributes
|
||||||
|
XHTML: Hello <b id="test05-original" title="d">world</b>.
|
||||||
|
// Populate attributes of Test 05.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().appendAttribute ("style", "background: blue;");
|
||||||
|
text.getAttributes ().appendAttribute ("style", "foreground: red;");
|
||||||
|
text.getAttributes ().setAttribute ("class", "aClass");
|
||||||
|
datas.put ("test05", text);
|
||||||
|
Result: Hello <b id="test05" title="d">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 06: model appending style attributes
|
||||||
|
XHTML: Hello <b id="test06-original" title="d" style="background:yellow;">world</b>.
|
||||||
|
// Populate attributes of Test 06.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().appendAttribute ("style", "foreground: red;");
|
||||||
|
text.getAttributes ().setAttribute ("class", "aClass");
|
||||||
|
datas.put ("test06", text);
|
||||||
|
Result: Hello <b id="test06" title="d" style="background:yellow;">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 07: image
|
||||||
|
XHTML: A picture <img id="test07-original" src="http://www.ocmland.org/tmp/floatingb.jpg" alt="pinguoin flottant" />.
|
||||||
|
// Populate attributes of Test 07.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().setAttribute ("width", "50%");
|
||||||
|
datas.put ("test07", text);
|
||||||
|
Result: A picture <img id="test07" src="http://www.ocmland.org/tmp/floatingb.jpg" alt="pinguoin flottant" />.
|
||||||
|
|
||||||
|
|
||||||
|
Test 08: xhtml source contains no display order in a tag.
|
||||||
|
XHTML: Hello <b class="xid:nodisplay_">you</b> there.
|
||||||
|
Result: Hello <b class="xid:nodisplay">you</b> there.
|
||||||
|
|
||||||
|
|
||||||
|
Test 09: dynamic addition of the nodisplay order.
|
||||||
|
XHTML: Hello <b id="test09-original">you</b> there.
|
||||||
|
Result: Hello <b id="test09">you</b> there.
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
69
src/fr/devinsy/xid/testXid.t
Normal file
69
src/fr/devinsy/xid/testXid.t
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
<!DOCTYPE html SYSTEM "xhtml1-transitional.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>test</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Test 01: No id attribute
|
||||||
|
XHTML: Hello <b title="a">world</b>.
|
||||||
|
no Java code
|
||||||
|
Result: Hello <b title="a">world</b>.
|
||||||
|
|
||||||
|
Test 02: id attribute with empty model
|
||||||
|
XHTML: Hello <b id="test02-original" title="b">world</b>.
|
||||||
|
no Java code
|
||||||
|
Result: Hello <b id="test02" title="b">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 03: model changing the text
|
||||||
|
XHTML: Hello <b id="test03-original" title="c">world</b>.
|
||||||
|
// Populate attributes of Test 03.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().appendAttribute ("style", "background: blue;");
|
||||||
|
text.getAttributes ().appendAttribute ("style", "foreground: red;");
|
||||||
|
text.getAttributes ().setAttribute ("class", "totoClass");
|
||||||
|
text.setText ("mummy");
|
||||||
|
datas.put ("test03", text);
|
||||||
|
Result: Hello <b id="test03" title="c">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 04: model changing title
|
||||||
|
XHTML: Hello <b id="test04-original" title="d">world</b>.
|
||||||
|
// Populate attributes of Test 04.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().setAttribute ("title", "another title");
|
||||||
|
datas.put ("test04", text);
|
||||||
|
Result: Hello <b id="test04" title="d">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 05: model adding style attributes
|
||||||
|
XHTML: Hello <b id="test05-original" title="d">world</b>.
|
||||||
|
// Populate attributes of Test 05.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().appendAttribute ("style", "background: blue;");
|
||||||
|
text.getAttributes ().appendAttribute ("style", "foreground: red;");
|
||||||
|
text.getAttributes ().setAttribute ("class", "aClass");
|
||||||
|
datas.put ("test05", text);
|
||||||
|
Result: Hello <b id="test05" title="d">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 06: model appending style attributes
|
||||||
|
XHTML: Hello <b id="test06-original" title="d" style="background:yellow;">world</b>.
|
||||||
|
// Populate attributes of Test 06.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().appendAttribute ("style", "foreground: red;");
|
||||||
|
text.getAttributes ().setAttribute ("class", "aClass");
|
||||||
|
datas.put ("test06", text);
|
||||||
|
Result: Hello <b id="test06" title="d" style="background:yellow;">world</b>.
|
||||||
|
|
||||||
|
|
||||||
|
Test 07: image
|
||||||
|
XHTML: A picture <img id="test07-original" src="http://www.ocmland.org/tmp/floatingb.jpg" alt="pinguoin flottant" />.
|
||||||
|
// Populate attributes of Test 07.
|
||||||
|
text = new TextModel ();
|
||||||
|
text.getAttributes ().setAttribute ("width", "50%");
|
||||||
|
datas.put ("test07", text);
|
||||||
|
Result: A picture <img id="test07" src="http://www.ocmland.org/tmp/floatingb.jpg" alt="pinguoin flottant" />.
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
196
src/fr/devinsy/xid/xhtml-lat1.ent
Normal file
196
src/fr/devinsy/xid/xhtml-lat1.ent
Normal file
|
@ -0,0 +1,196 @@
|
||||||
|
<!-- Portions (C) International Organization for Standardization 1986
|
||||||
|
Permission to copy in any form is granted for use with
|
||||||
|
conforming SGML systems and applications as defined in
|
||||||
|
ISO 8879, provided this notice is included in all copies.
|
||||||
|
-->
|
||||||
|
<!-- Character entity set. Typical invocation:
|
||||||
|
<!ENTITY % HTMLlat1 PUBLIC
|
||||||
|
"-//W3C//ENTITIES Latin 1 for XHTML//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
|
||||||
|
%HTMLlat1;
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!ENTITY nbsp " "> <!-- no-break space = non-breaking space,
|
||||||
|
U+00A0 ISOnum -->
|
||||||
|
<!ENTITY iexcl "¡"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
|
||||||
|
<!ENTITY cent "¢"> <!-- cent sign, U+00A2 ISOnum -->
|
||||||
|
<!ENTITY pound "£"> <!-- pound sign, U+00A3 ISOnum -->
|
||||||
|
<!ENTITY curren "¤"> <!-- currency sign, U+00A4 ISOnum -->
|
||||||
|
<!ENTITY yen "¥"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
|
||||||
|
<!ENTITY brvbar "¦"> <!-- broken bar = broken vertical bar,
|
||||||
|
U+00A6 ISOnum -->
|
||||||
|
<!ENTITY sect "§"> <!-- section sign, U+00A7 ISOnum -->
|
||||||
|
<!ENTITY uml "¨"> <!-- diaeresis = spacing diaeresis,
|
||||||
|
U+00A8 ISOdia -->
|
||||||
|
<!ENTITY copy "©"> <!-- copyright sign, U+00A9 ISOnum -->
|
||||||
|
<!ENTITY ordf "ª"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
|
||||||
|
<!ENTITY laquo "«"> <!-- left-pointing double angle quotation mark
|
||||||
|
= left pointing guillemet, U+00AB ISOnum -->
|
||||||
|
<!ENTITY not "¬"> <!-- not sign = angled dash,
|
||||||
|
U+00AC ISOnum -->
|
||||||
|
<!ENTITY shy "­"> <!-- soft hyphen = discretionary hyphen,
|
||||||
|
U+00AD ISOnum -->
|
||||||
|
<!ENTITY reg "®"> <!-- registered sign = registered trade mark sign,
|
||||||
|
U+00AE ISOnum -->
|
||||||
|
<!ENTITY macr "¯"> <!-- macron = spacing macron = overline
|
||||||
|
= APL overbar, U+00AF ISOdia -->
|
||||||
|
<!ENTITY deg "°"> <!-- degree sign, U+00B0 ISOnum -->
|
||||||
|
<!ENTITY plusmn "±"> <!-- plus-minus sign = plus-or-minus sign,
|
||||||
|
U+00B1 ISOnum -->
|
||||||
|
<!ENTITY sup2 "²"> <!-- superscript two = superscript digit two
|
||||||
|
= squared, U+00B2 ISOnum -->
|
||||||
|
<!ENTITY sup3 "³"> <!-- superscript three = superscript digit three
|
||||||
|
= cubed, U+00B3 ISOnum -->
|
||||||
|
<!ENTITY acute "´"> <!-- acute accent = spacing acute,
|
||||||
|
U+00B4 ISOdia -->
|
||||||
|
<!ENTITY micro "µ"> <!-- micro sign, U+00B5 ISOnum -->
|
||||||
|
<!ENTITY para "¶"> <!-- pilcrow sign = paragraph sign,
|
||||||
|
U+00B6 ISOnum -->
|
||||||
|
<!ENTITY middot "·"> <!-- middle dot = Georgian comma
|
||||||
|
= Greek middle dot, U+00B7 ISOnum -->
|
||||||
|
<!ENTITY cedil "¸"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
|
||||||
|
<!ENTITY sup1 "¹"> <!-- superscript one = superscript digit one,
|
||||||
|
U+00B9 ISOnum -->
|
||||||
|
<!ENTITY ordm "º"> <!-- masculine ordinal indicator,
|
||||||
|
U+00BA ISOnum -->
|
||||||
|
<!ENTITY raquo "»"> <!-- right-pointing double angle quotation mark
|
||||||
|
= right pointing guillemet, U+00BB ISOnum -->
|
||||||
|
<!ENTITY frac14 "¼"> <!-- vulgar fraction one quarter
|
||||||
|
= fraction one quarter, U+00BC ISOnum -->
|
||||||
|
<!ENTITY frac12 "½"> <!-- vulgar fraction one half
|
||||||
|
= fraction one half, U+00BD ISOnum -->
|
||||||
|
<!ENTITY frac34 "¾"> <!-- vulgar fraction three quarters
|
||||||
|
= fraction three quarters, U+00BE ISOnum -->
|
||||||
|
<!ENTITY iquest "¿"> <!-- inverted question mark
|
||||||
|
= turned question mark, U+00BF ISOnum -->
|
||||||
|
<!ENTITY Agrave "À"> <!-- latin capital letter A with grave
|
||||||
|
= latin capital letter A grave,
|
||||||
|
U+00C0 ISOlat1 -->
|
||||||
|
<!ENTITY Aacute "Á"> <!-- latin capital letter A with acute,
|
||||||
|
U+00C1 ISOlat1 -->
|
||||||
|
<!ENTITY Acirc "Â"> <!-- latin capital letter A with circumflex,
|
||||||
|
U+00C2 ISOlat1 -->
|
||||||
|
<!ENTITY Atilde "Ã"> <!-- latin capital letter A with tilde,
|
||||||
|
U+00C3 ISOlat1 -->
|
||||||
|
<!ENTITY Auml "Ä"> <!-- latin capital letter A with diaeresis,
|
||||||
|
U+00C4 ISOlat1 -->
|
||||||
|
<!ENTITY Aring "Å"> <!-- latin capital letter A with ring above
|
||||||
|
= latin capital letter A ring,
|
||||||
|
U+00C5 ISOlat1 -->
|
||||||
|
<!ENTITY AElig "Æ"> <!-- latin capital letter AE
|
||||||
|
= latin capital ligature AE,
|
||||||
|
U+00C6 ISOlat1 -->
|
||||||
|
<!ENTITY Ccedil "Ç"> <!-- latin capital letter C with cedilla,
|
||||||
|
U+00C7 ISOlat1 -->
|
||||||
|
<!ENTITY Egrave "È"> <!-- latin capital letter E with grave,
|
||||||
|
U+00C8 ISOlat1 -->
|
||||||
|
<!ENTITY Eacute "É"> <!-- latin capital letter E with acute,
|
||||||
|
U+00C9 ISOlat1 -->
|
||||||
|
<!ENTITY Ecirc "Ê"> <!-- latin capital letter E with circumflex,
|
||||||
|
U+00CA ISOlat1 -->
|
||||||
|
<!ENTITY Euml "Ë"> <!-- latin capital letter E with diaeresis,
|
||||||
|
U+00CB ISOlat1 -->
|
||||||
|
<!ENTITY Igrave "Ì"> <!-- latin capital letter I with grave,
|
||||||
|
U+00CC ISOlat1 -->
|
||||||
|
<!ENTITY Iacute "Í"> <!-- latin capital letter I with acute,
|
||||||
|
U+00CD ISOlat1 -->
|
||||||
|
<!ENTITY Icirc "Î"> <!-- latin capital letter I with circumflex,
|
||||||
|
U+00CE ISOlat1 -->
|
||||||
|
<!ENTITY Iuml "Ï"> <!-- latin capital letter I with diaeresis,
|
||||||
|
U+00CF ISOlat1 -->
|
||||||
|
<!ENTITY ETH "Ð"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
|
||||||
|
<!ENTITY Ntilde "Ñ"> <!-- latin capital letter N with tilde,
|
||||||
|
U+00D1 ISOlat1 -->
|
||||||
|
<!ENTITY Ograve "Ò"> <!-- latin capital letter O with grave,
|
||||||
|
U+00D2 ISOlat1 -->
|
||||||
|
<!ENTITY Oacute "Ó"> <!-- latin capital letter O with acute,
|
||||||
|
U+00D3 ISOlat1 -->
|
||||||
|
<!ENTITY Ocirc "Ô"> <!-- latin capital letter O with circumflex,
|
||||||
|
U+00D4 ISOlat1 -->
|
||||||
|
<!ENTITY Otilde "Õ"> <!-- latin capital letter O with tilde,
|
||||||
|
U+00D5 ISOlat1 -->
|
||||||
|
<!ENTITY Ouml "Ö"> <!-- latin capital letter O with diaeresis,
|
||||||
|
U+00D6 ISOlat1 -->
|
||||||
|
<!ENTITY times "×"> <!-- multiplication sign, U+00D7 ISOnum -->
|
||||||
|
<!ENTITY Oslash "Ø"> <!-- latin capital letter O with stroke
|
||||||
|
= latin capital letter O slash,
|
||||||
|
U+00D8 ISOlat1 -->
|
||||||
|
<!ENTITY Ugrave "Ù"> <!-- latin capital letter U with grave,
|
||||||
|
U+00D9 ISOlat1 -->
|
||||||
|
<!ENTITY Uacute "Ú"> <!-- latin capital letter U with acute,
|
||||||
|
U+00DA ISOlat1 -->
|
||||||
|
<!ENTITY Ucirc "Û"> <!-- latin capital letter U with circumflex,
|
||||||
|
U+00DB ISOlat1 -->
|
||||||
|
<!ENTITY Uuml "Ü"> <!-- latin capital letter U with diaeresis,
|
||||||
|
U+00DC ISOlat1 -->
|
||||||
|
<!ENTITY Yacute "Ý"> <!-- latin capital letter Y with acute,
|
||||||
|
U+00DD ISOlat1 -->
|
||||||
|
<!ENTITY THORN "Þ"> <!-- latin capital letter THORN,
|
||||||
|
U+00DE ISOlat1 -->
|
||||||
|
<!ENTITY szlig "ß"> <!-- latin small letter sharp s = ess-zed,
|
||||||
|
U+00DF ISOlat1 -->
|
||||||
|
<!ENTITY agrave "à"> <!-- latin small letter a with grave
|
||||||
|
= latin small letter a grave,
|
||||||
|
U+00E0 ISOlat1 -->
|
||||||
|
<!ENTITY aacute "á"> <!-- latin small letter a with acute,
|
||||||
|
U+00E1 ISOlat1 -->
|
||||||
|
<!ENTITY acirc "â"> <!-- latin small letter a with circumflex,
|
||||||
|
U+00E2 ISOlat1 -->
|
||||||
|
<!ENTITY atilde "ã"> <!-- latin small letter a with tilde,
|
||||||
|
U+00E3 ISOlat1 -->
|
||||||
|
<!ENTITY auml "ä"> <!-- latin small letter a with diaeresis,
|
||||||
|
U+00E4 ISOlat1 -->
|
||||||
|
<!ENTITY aring "å"> <!-- latin small letter a with ring above
|
||||||
|
= latin small letter a ring,
|
||||||
|
U+00E5 ISOlat1 -->
|
||||||
|
<!ENTITY aelig "æ"> <!-- latin small letter ae
|
||||||
|
= latin small ligature ae, U+00E6 ISOlat1 -->
|
||||||
|
<!ENTITY ccedil "ç"> <!-- latin small letter c with cedilla,
|
||||||
|
U+00E7 ISOlat1 -->
|
||||||
|
<!ENTITY egrave "è"> <!-- latin small letter e with grave,
|
||||||
|
U+00E8 ISOlat1 -->
|
||||||
|
<!ENTITY eacute "é"> <!-- latin small letter e with acute,
|
||||||
|
U+00E9 ISOlat1 -->
|
||||||
|
<!ENTITY ecirc "ê"> <!-- latin small letter e with circumflex,
|
||||||
|
U+00EA ISOlat1 -->
|
||||||
|
<!ENTITY euml "ë"> <!-- latin small letter e with diaeresis,
|
||||||
|
U+00EB ISOlat1 -->
|
||||||
|
<!ENTITY igrave "ì"> <!-- latin small letter i with grave,
|
||||||
|
U+00EC ISOlat1 -->
|
||||||
|
<!ENTITY iacute "í"> <!-- latin small letter i with acute,
|
||||||
|
U+00ED ISOlat1 -->
|
||||||
|
<!ENTITY icirc "î"> <!-- latin small letter i with circumflex,
|
||||||
|
U+00EE ISOlat1 -->
|
||||||
|
<!ENTITY iuml "ï"> <!-- latin small letter i with diaeresis,
|
||||||
|
U+00EF ISOlat1 -->
|
||||||
|
<!ENTITY eth "ð"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
|
||||||
|
<!ENTITY ntilde "ñ"> <!-- latin small letter n with tilde,
|
||||||
|
U+00F1 ISOlat1 -->
|
||||||
|
<!ENTITY ograve "ò"> <!-- latin small letter o with grave,
|
||||||
|
U+00F2 ISOlat1 -->
|
||||||
|
<!ENTITY oacute "ó"> <!-- latin small letter o with acute,
|
||||||
|
U+00F3 ISOlat1 -->
|
||||||
|
<!ENTITY ocirc "ô"> <!-- latin small letter o with circumflex,
|
||||||
|
U+00F4 ISOlat1 -->
|
||||||
|
<!ENTITY otilde "õ"> <!-- latin small letter o with tilde,
|
||||||
|
U+00F5 ISOlat1 -->
|
||||||
|
<!ENTITY ouml "ö"> <!-- latin small letter o with diaeresis,
|
||||||
|
U+00F6 ISOlat1 -->
|
||||||
|
<!ENTITY divide "÷"> <!-- division sign, U+00F7 ISOnum -->
|
||||||
|
<!ENTITY oslash "ø"> <!-- latin small letter o with stroke,
|
||||||
|
= latin small letter o slash,
|
||||||
|
U+00F8 ISOlat1 -->
|
||||||
|
<!ENTITY ugrave "ù"> <!-- latin small letter u with grave,
|
||||||
|
U+00F9 ISOlat1 -->
|
||||||
|
<!ENTITY uacute "ú"> <!-- latin small letter u with acute,
|
||||||
|
U+00FA ISOlat1 -->
|
||||||
|
<!ENTITY ucirc "û"> <!-- latin small letter u with circumflex,
|
||||||
|
U+00FB ISOlat1 -->
|
||||||
|
<!ENTITY uuml "ü"> <!-- latin small letter u with diaeresis,
|
||||||
|
U+00FC ISOlat1 -->
|
||||||
|
<!ENTITY yacute "ý"> <!-- latin small letter y with acute,
|
||||||
|
U+00FD ISOlat1 -->
|
||||||
|
<!ENTITY thorn "þ"> <!-- latin small letter thorn,
|
||||||
|
U+00FE ISOlat1 -->
|
||||||
|
<!ENTITY yuml "ÿ"> <!-- latin small letter y with diaeresis,
|
||||||
|
U+00FF ISOlat1 -->
|
82
src/fr/devinsy/xid/xhtml-special.ent
Normal file
82
src/fr/devinsy/xid/xhtml-special.ent
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
<!-- Special characters for XHTML -->
|
||||||
|
|
||||||
|
<!-- Character entity set. Typical invocation:
|
||||||
|
<!ENTITY % HTMLspecial PUBLIC
|
||||||
|
"-//W3C//ENTITIES Special for XHTML//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
|
||||||
|
%HTMLspecial;
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Portions (C) International Organization for Standardization 1986:
|
||||||
|
Permission to copy in any form is granted for use with
|
||||||
|
conforming SGML systems and applications as defined in
|
||||||
|
ISO 8879, provided this notice is included in all copies.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Relevant ISO entity set is given unless names are newly introduced.
|
||||||
|
New names (i.e., not in ISO 8879 list) do not clash with any
|
||||||
|
existing ISO 8879 entity names. ISO 10646 character numbers
|
||||||
|
are given for each character, in hex. values are decimal
|
||||||
|
conversions of the ISO 10646 values and refer to the document
|
||||||
|
character set. Names are Unicode names.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- C0 Controls and Basic Latin -->
|
||||||
|
|
||||||
|
<!-- CB 10/03/2003 Commented out as these are already defined in XML -->
|
||||||
|
<!-- ENTITY quot """> quotation mark, U+0022 ISOnum -->
|
||||||
|
<!-- ENTITY amp "&#38;"> ampersand, U+0026 ISOnum -->
|
||||||
|
<!-- ENTITY lt "&#60;"> less-than sign, U+003C ISOnum -->
|
||||||
|
<!-- ENTITY gt ">"> greater-than sign, U+003E ISOnum -->
|
||||||
|
<!-- ENTITY apos "'"> apostrophe = APL quote, U+0027 ISOnum -->
|
||||||
|
|
||||||
|
<!-- Latin Extended-A -->
|
||||||
|
<!ENTITY OElig "Œ"> <!-- latin capital ligature OE,
|
||||||
|
U+0152 ISOlat2 -->
|
||||||
|
<!ENTITY oelig "œ"> <!-- latin small ligature oe, U+0153 ISOlat2 -->
|
||||||
|
<!-- ligature is a misnomer, this is a separate character in some languages -->
|
||||||
|
<!ENTITY Scaron "Š"> <!-- latin capital letter S with caron,
|
||||||
|
U+0160 ISOlat2 -->
|
||||||
|
<!ENTITY scaron "š"> <!-- latin small letter s with caron,
|
||||||
|
U+0161 ISOlat2 -->
|
||||||
|
<!ENTITY Yuml "Ÿ"> <!-- latin capital letter Y with diaeresis,
|
||||||
|
U+0178 ISOlat2 -->
|
||||||
|
|
||||||
|
<!-- Spacing Modifier Letters -->
|
||||||
|
<!ENTITY circ "ˆ"> <!-- modifier letter circumflex accent,
|
||||||
|
U+02C6 ISOpub -->
|
||||||
|
<!ENTITY tilde "˜"> <!-- small tilde, U+02DC ISOdia -->
|
||||||
|
|
||||||
|
<!-- General Punctuation -->
|
||||||
|
<!ENTITY ensp " "> <!-- en space, U+2002 ISOpub -->
|
||||||
|
<!ENTITY emsp " "> <!-- em space, U+2003 ISOpub -->
|
||||||
|
<!ENTITY thinsp " "> <!-- thin space, U+2009 ISOpub -->
|
||||||
|
<!ENTITY zwnj "‌"> <!-- zero width non-joiner,
|
||||||
|
U+200C NEW RFC 2070 -->
|
||||||
|
<!ENTITY zwj "‍"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
|
||||||
|
<!ENTITY lrm "‎"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
|
||||||
|
<!ENTITY rlm "‏"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
|
||||||
|
<!ENTITY ndash "–"> <!-- en dash, U+2013 ISOpub -->
|
||||||
|
<!ENTITY mdash "—"> <!-- em dash, U+2014 ISOpub -->
|
||||||
|
<!ENTITY lsquo "‘"> <!-- left single quotation mark,
|
||||||
|
U+2018 ISOnum -->
|
||||||
|
<!ENTITY rsquo "’"> <!-- right single quotation mark,
|
||||||
|
U+2019 ISOnum -->
|
||||||
|
<!ENTITY sbquo "‚"> <!-- single low-9 quotation mark, U+201A NEW -->
|
||||||
|
<!ENTITY ldquo "“"> <!-- left double quotation mark,
|
||||||
|
U+201C ISOnum -->
|
||||||
|
<!ENTITY rdquo "”"> <!-- right double quotation mark,
|
||||||
|
U+201D ISOnum -->
|
||||||
|
<!ENTITY bdquo "„"> <!-- double low-9 quotation mark, U+201E NEW -->
|
||||||
|
<!ENTITY dagger "†"> <!-- dagger, U+2020 ISOpub -->
|
||||||
|
<!ENTITY Dagger "‡"> <!-- double dagger, U+2021 ISOpub -->
|
||||||
|
<!ENTITY permil "‰"> <!-- per mille sign, U+2030 ISOtech -->
|
||||||
|
<!ENTITY lsaquo "‹"> <!-- single left-pointing angle quotation mark,
|
||||||
|
U+2039 ISO proposed -->
|
||||||
|
<!-- lsaquo is proposed but not yet ISO standardized -->
|
||||||
|
<!ENTITY rsaquo "›"> <!-- single right-pointing angle quotation mark,
|
||||||
|
U+203A ISO proposed -->
|
||||||
|
<!-- rsaquo is proposed but not yet ISO standardized -->
|
||||||
|
|
||||||
|
<!-- Currency Symbols -->
|
||||||
|
<!ENTITY euro "€"> <!-- euro sign, U+20AC NEW -->
|
237
src/fr/devinsy/xid/xhtml-symbol.ent
Normal file
237
src/fr/devinsy/xid/xhtml-symbol.ent
Normal file
|
@ -0,0 +1,237 @@
|
||||||
|
<!-- Mathematical, Greek and Symbolic characters for XHTML -->
|
||||||
|
|
||||||
|
<!-- Character entity set. Typical invocation:
|
||||||
|
<!ENTITY % HTMLsymbol PUBLIC
|
||||||
|
"-//W3C//ENTITIES Symbols for XHTML//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
|
||||||
|
%HTMLsymbol;
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Portions (C) International Organization for Standardization 1986:
|
||||||
|
Permission to copy in any form is granted for use with
|
||||||
|
conforming SGML systems and applications as defined in
|
||||||
|
ISO 8879, provided this notice is included in all copies.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Relevant ISO entity set is given unless names are newly introduced.
|
||||||
|
New names (i.e., not in ISO 8879 list) do not clash with any
|
||||||
|
existing ISO 8879 entity names. ISO 10646 character numbers
|
||||||
|
are given for each character, in hex. values are decimal
|
||||||
|
conversions of the ISO 10646 values and refer to the document
|
||||||
|
character set. Names are Unicode names.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Latin Extended-B -->
|
||||||
|
<!ENTITY fnof "ƒ"> <!-- latin small letter f with hook = function
|
||||||
|
= florin, U+0192 ISOtech -->
|
||||||
|
|
||||||
|
<!-- Greek -->
|
||||||
|
<!ENTITY Alpha "Α"> <!-- greek capital letter alpha, U+0391 -->
|
||||||
|
<!ENTITY Beta "Β"> <!-- greek capital letter beta, U+0392 -->
|
||||||
|
<!ENTITY Gamma "Γ"> <!-- greek capital letter gamma,
|
||||||
|
U+0393 ISOgrk3 -->
|
||||||
|
<!ENTITY Delta "Δ"> <!-- greek capital letter delta,
|
||||||
|
U+0394 ISOgrk3 -->
|
||||||
|
<!ENTITY Epsilon "Ε"> <!-- greek capital letter epsilon, U+0395 -->
|
||||||
|
<!ENTITY Zeta "Ζ"> <!-- greek capital letter zeta, U+0396 -->
|
||||||
|
<!ENTITY Eta "Η"> <!-- greek capital letter eta, U+0397 -->
|
||||||
|
<!ENTITY Theta "Θ"> <!-- greek capital letter theta,
|
||||||
|
U+0398 ISOgrk3 -->
|
||||||
|
<!ENTITY Iota "Ι"> <!-- greek capital letter iota, U+0399 -->
|
||||||
|
<!ENTITY Kappa "Κ"> <!-- greek capital letter kappa, U+039A -->
|
||||||
|
<!ENTITY Lambda "Λ"> <!-- greek capital letter lamda,
|
||||||
|
U+039B ISOgrk3 -->
|
||||||
|
<!ENTITY Mu "Μ"> <!-- greek capital letter mu, U+039C -->
|
||||||
|
<!ENTITY Nu "Ν"> <!-- greek capital letter nu, U+039D -->
|
||||||
|
<!ENTITY Xi "Ξ"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
|
||||||
|
<!ENTITY Omicron "Ο"> <!-- greek capital letter omicron, U+039F -->
|
||||||
|
<!ENTITY Pi "Π"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
|
||||||
|
<!ENTITY Rho "Ρ"> <!-- greek capital letter rho, U+03A1 -->
|
||||||
|
<!-- there is no Sigmaf, and no U+03A2 character either -->
|
||||||
|
<!ENTITY Sigma "Σ"> <!-- greek capital letter sigma,
|
||||||
|
U+03A3 ISOgrk3 -->
|
||||||
|
<!ENTITY Tau "Τ"> <!-- greek capital letter tau, U+03A4 -->
|
||||||
|
<!ENTITY Upsilon "Υ"> <!-- greek capital letter upsilon,
|
||||||
|
U+03A5 ISOgrk3 -->
|
||||||
|
<!ENTITY Phi "Φ"> <!-- greek capital letter phi,
|
||||||
|
U+03A6 ISOgrk3 -->
|
||||||
|
<!ENTITY Chi "Χ"> <!-- greek capital letter chi, U+03A7 -->
|
||||||
|
<!ENTITY Psi "Ψ"> <!-- greek capital letter psi,
|
||||||
|
U+03A8 ISOgrk3 -->
|
||||||
|
<!ENTITY Omega "Ω"> <!-- greek capital letter omega,
|
||||||
|
U+03A9 ISOgrk3 -->
|
||||||
|
|
||||||
|
<!ENTITY alpha "α"> <!-- greek small letter alpha,
|
||||||
|
U+03B1 ISOgrk3 -->
|
||||||
|
<!ENTITY beta "β"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
|
||||||
|
<!ENTITY gamma "γ"> <!-- greek small letter gamma,
|
||||||
|
U+03B3 ISOgrk3 -->
|
||||||
|
<!ENTITY delta "δ"> <!-- greek small letter delta,
|
||||||
|
U+03B4 ISOgrk3 -->
|
||||||
|
<!ENTITY epsilon "ε"> <!-- greek small letter epsilon,
|
||||||
|
U+03B5 ISOgrk3 -->
|
||||||
|
<!ENTITY zeta "ζ"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
|
||||||
|
<!ENTITY eta "η"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
|
||||||
|
<!ENTITY theta "θ"> <!-- greek small letter theta,
|
||||||
|
U+03B8 ISOgrk3 -->
|
||||||
|
<!ENTITY iota "ι"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
|
||||||
|
<!ENTITY kappa "κ"> <!-- greek small letter kappa,
|
||||||
|
U+03BA ISOgrk3 -->
|
||||||
|
<!ENTITY lambda "λ"> <!-- greek small letter lamda,
|
||||||
|
U+03BB ISOgrk3 -->
|
||||||
|
<!ENTITY mu "μ"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
|
||||||
|
<!ENTITY nu "ν"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
|
||||||
|
<!ENTITY xi "ξ"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
|
||||||
|
<!ENTITY omicron "ο"> <!-- greek small letter omicron, U+03BF NEW -->
|
||||||
|
<!ENTITY pi "π"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
|
||||||
|
<!ENTITY rho "ρ"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
|
||||||
|
<!ENTITY sigmaf "ς"> <!-- greek small letter final sigma,
|
||||||
|
U+03C2 ISOgrk3 -->
|
||||||
|
<!ENTITY sigma "σ"> <!-- greek small letter sigma,
|
||||||
|
U+03C3 ISOgrk3 -->
|
||||||
|
<!ENTITY tau "τ"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
|
||||||
|
<!ENTITY upsilon "υ"> <!-- greek small letter upsilon,
|
||||||
|
U+03C5 ISOgrk3 -->
|
||||||
|
<!ENTITY phi "φ"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
|
||||||
|
<!ENTITY chi "χ"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
|
||||||
|
<!ENTITY psi "ψ"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
|
||||||
|
<!ENTITY omega "ω"> <!-- greek small letter omega,
|
||||||
|
U+03C9 ISOgrk3 -->
|
||||||
|
<!ENTITY thetasym "ϑ"> <!-- greek theta symbol,
|
||||||
|
U+03D1 NEW -->
|
||||||
|
<!ENTITY upsih "ϒ"> <!-- greek upsilon with hook symbol,
|
||||||
|
U+03D2 NEW -->
|
||||||
|
<!ENTITY piv "ϖ"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
|
||||||
|
|
||||||
|
<!-- General Punctuation -->
|
||||||
|
<!ENTITY bull "•"> <!-- bullet = black small circle,
|
||||||
|
U+2022 ISOpub -->
|
||||||
|
<!-- bullet is NOT the same as bullet operator, U+2219 -->
|
||||||
|
<!ENTITY hellip "…"> <!-- horizontal ellipsis = three dot leader,
|
||||||
|
U+2026 ISOpub -->
|
||||||
|
<!ENTITY prime "′"> <!-- prime = minutes = feet, U+2032 ISOtech -->
|
||||||
|
<!ENTITY Prime "″"> <!-- double prime = seconds = inches,
|
||||||
|
U+2033 ISOtech -->
|
||||||
|
<!ENTITY oline "‾"> <!-- overline = spacing overscore,
|
||||||
|
U+203E NEW -->
|
||||||
|
<!ENTITY frasl "⁄"> <!-- fraction slash, U+2044 NEW -->
|
||||||
|
|
||||||
|
<!-- Letterlike Symbols -->
|
||||||
|
<!ENTITY weierp "℘"> <!-- script capital P = power set
|
||||||
|
= Weierstrass p, U+2118 ISOamso -->
|
||||||
|
<!ENTITY image "ℑ"> <!-- black-letter capital I = imaginary part,
|
||||||
|
U+2111 ISOamso -->
|
||||||
|
<!ENTITY real "ℜ"> <!-- black-letter capital R = real part symbol,
|
||||||
|
U+211C ISOamso -->
|
||||||
|
<!ENTITY trade "™"> <!-- trade mark sign, U+2122 ISOnum -->
|
||||||
|
<!ENTITY alefsym "ℵ"> <!-- alef symbol = first transfinite cardinal,
|
||||||
|
U+2135 NEW -->
|
||||||
|
<!-- alef symbol is NOT the same as hebrew letter alef,
|
||||||
|
U+05D0 although the same glyph could be used to depict both characters -->
|
||||||
|
|
||||||
|
<!-- Arrows -->
|
||||||
|
<!ENTITY larr "←"> <!-- leftwards arrow, U+2190 ISOnum -->
|
||||||
|
<!ENTITY uarr "↑"> <!-- upwards arrow, U+2191 ISOnum-->
|
||||||
|
<!ENTITY rarr "→"> <!-- rightwards arrow, U+2192 ISOnum -->
|
||||||
|
<!ENTITY darr "↓"> <!-- downwards arrow, U+2193 ISOnum -->
|
||||||
|
<!ENTITY harr "↔"> <!-- left right arrow, U+2194 ISOamsa -->
|
||||||
|
<!ENTITY crarr "↵"> <!-- downwards arrow with corner leftwards
|
||||||
|
= carriage return, U+21B5 NEW -->
|
||||||
|
<!ENTITY lArr "⇐"> <!-- leftwards double arrow, U+21D0 ISOtech -->
|
||||||
|
<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
|
||||||
|
but also does not have any other character for that function. So lArr can
|
||||||
|
be used for 'is implied by' as ISOtech suggests -->
|
||||||
|
<!ENTITY uArr "⇑"> <!-- upwards double arrow, U+21D1 ISOamsa -->
|
||||||
|
<!ENTITY rArr "⇒"> <!-- rightwards double arrow,
|
||||||
|
U+21D2 ISOtech -->
|
||||||
|
<!-- Unicode does not say this is the 'implies' character but does not have
|
||||||
|
another character with this function so rArr can be used for 'implies'
|
||||||
|
as ISOtech suggests -->
|
||||||
|
<!ENTITY dArr "⇓"> <!-- downwards double arrow, U+21D3 ISOamsa -->
|
||||||
|
<!ENTITY hArr "⇔"> <!-- left right double arrow,
|
||||||
|
U+21D4 ISOamsa -->
|
||||||
|
|
||||||
|
<!-- Mathematical Operators -->
|
||||||
|
<!ENTITY forall "∀"> <!-- for all, U+2200 ISOtech -->
|
||||||
|
<!ENTITY part "∂"> <!-- partial differential, U+2202 ISOtech -->
|
||||||
|
<!ENTITY exist "∃"> <!-- there exists, U+2203 ISOtech -->
|
||||||
|
<!ENTITY empty "∅"> <!-- empty set = null set, U+2205 ISOamso -->
|
||||||
|
<!ENTITY nabla "∇"> <!-- nabla = backward difference,
|
||||||
|
U+2207 ISOtech -->
|
||||||
|
<!ENTITY isin "∈"> <!-- element of, U+2208 ISOtech -->
|
||||||
|
<!ENTITY notin "∉"> <!-- not an element of, U+2209 ISOtech -->
|
||||||
|
<!ENTITY ni "∋"> <!-- contains as member, U+220B ISOtech -->
|
||||||
|
<!ENTITY prod "∏"> <!-- n-ary product = product sign,
|
||||||
|
U+220F ISOamsb -->
|
||||||
|
<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
|
||||||
|
the same glyph might be used for both -->
|
||||||
|
<!ENTITY sum "∑"> <!-- n-ary summation, U+2211 ISOamsb -->
|
||||||
|
<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
|
||||||
|
though the same glyph might be used for both -->
|
||||||
|
<!ENTITY minus "−"> <!-- minus sign, U+2212 ISOtech -->
|
||||||
|
<!ENTITY lowast "∗"> <!-- asterisk operator, U+2217 ISOtech -->
|
||||||
|
<!ENTITY radic "√"> <!-- square root = radical sign,
|
||||||
|
U+221A ISOtech -->
|
||||||
|
<!ENTITY prop "∝"> <!-- proportional to, U+221D ISOtech -->
|
||||||
|
<!ENTITY infin "∞"> <!-- infinity, U+221E ISOtech -->
|
||||||
|
<!ENTITY ang "∠"> <!-- angle, U+2220 ISOamso -->
|
||||||
|
<!ENTITY and "∧"> <!-- logical and = wedge, U+2227 ISOtech -->
|
||||||
|
<!ENTITY or "∨"> <!-- logical or = vee, U+2228 ISOtech -->
|
||||||
|
<!ENTITY cap "∩"> <!-- intersection = cap, U+2229 ISOtech -->
|
||||||
|
<!ENTITY cup "∪"> <!-- union = cup, U+222A ISOtech -->
|
||||||
|
<!ENTITY int "∫"> <!-- integral, U+222B ISOtech -->
|
||||||
|
<!ENTITY there4 "∴"> <!-- therefore, U+2234 ISOtech -->
|
||||||
|
<!ENTITY sim "∼"> <!-- tilde operator = varies with = similar to,
|
||||||
|
U+223C ISOtech -->
|
||||||
|
<!-- tilde operator is NOT the same character as the tilde, U+007E,
|
||||||
|
although the same glyph might be used to represent both -->
|
||||||
|
<!ENTITY cong "≅"> <!-- approximately equal to, U+2245 ISOtech -->
|
||||||
|
<!ENTITY asymp "≈"> <!-- almost equal to = asymptotic to,
|
||||||
|
U+2248 ISOamsr -->
|
||||||
|
<!ENTITY ne "≠"> <!-- not equal to, U+2260 ISOtech -->
|
||||||
|
<!ENTITY equiv "≡"> <!-- identical to, U+2261 ISOtech -->
|
||||||
|
<!ENTITY le "≤"> <!-- less-than or equal to, U+2264 ISOtech -->
|
||||||
|
<!ENTITY ge "≥"> <!-- greater-than or equal to,
|
||||||
|
U+2265 ISOtech -->
|
||||||
|
<!ENTITY sub "⊂"> <!-- subset of, U+2282 ISOtech -->
|
||||||
|
<!ENTITY sup "⊃"> <!-- superset of, U+2283 ISOtech -->
|
||||||
|
<!ENTITY nsub "⊄"> <!-- not a subset of, U+2284 ISOamsn -->
|
||||||
|
<!ENTITY sube "⊆"> <!-- subset of or equal to, U+2286 ISOtech -->
|
||||||
|
<!ENTITY supe "⊇"> <!-- superset of or equal to,
|
||||||
|
U+2287 ISOtech -->
|
||||||
|
<!ENTITY oplus "⊕"> <!-- circled plus = direct sum,
|
||||||
|
U+2295 ISOamsb -->
|
||||||
|
<!ENTITY otimes "⊗"> <!-- circled times = vector product,
|
||||||
|
U+2297 ISOamsb -->
|
||||||
|
<!ENTITY perp "⊥"> <!-- up tack = orthogonal to = perpendicular,
|
||||||
|
U+22A5 ISOtech -->
|
||||||
|
<!ENTITY sdot "⋅"> <!-- dot operator, U+22C5 ISOamsb -->
|
||||||
|
<!-- dot operator is NOT the same character as U+00B7 middle dot -->
|
||||||
|
|
||||||
|
<!-- Miscellaneous Technical -->
|
||||||
|
<!ENTITY lceil "⌈"> <!-- left ceiling = APL upstile,
|
||||||
|
U+2308 ISOamsc -->
|
||||||
|
<!ENTITY rceil "⌉"> <!-- right ceiling, U+2309 ISOamsc -->
|
||||||
|
<!ENTITY lfloor "⌊"> <!-- left floor = APL downstile,
|
||||||
|
U+230A ISOamsc -->
|
||||||
|
<!ENTITY rfloor "⌋"> <!-- right floor, U+230B ISOamsc -->
|
||||||
|
<!ENTITY lang "〈"> <!-- left-pointing angle bracket = bra,
|
||||||
|
U+2329 ISOtech -->
|
||||||
|
<!-- lang is NOT the same character as U+003C 'less than sign'
|
||||||
|
or U+2039 'single left-pointing angle quotation mark' -->
|
||||||
|
<!ENTITY rang "〉"> <!-- right-pointing angle bracket = ket,
|
||||||
|
U+232A ISOtech -->
|
||||||
|
<!-- rang is NOT the same character as U+003E 'greater than sign'
|
||||||
|
or U+203A 'single right-pointing angle quotation mark' -->
|
||||||
|
|
||||||
|
<!-- Geometric Shapes -->
|
||||||
|
<!ENTITY loz "◊"> <!-- lozenge, U+25CA ISOpub -->
|
||||||
|
|
||||||
|
<!-- Miscellaneous Symbols -->
|
||||||
|
<!ENTITY spades "♠"> <!-- black spade suit, U+2660 ISOpub -->
|
||||||
|
<!-- black here seems to mean filled as opposed to hollow -->
|
||||||
|
<!ENTITY clubs "♣"> <!-- black club suit = shamrock,
|
||||||
|
U+2663 ISOpub -->
|
||||||
|
<!ENTITY hearts "♥"> <!-- black heart suit = valentine,
|
||||||
|
U+2665 ISOpub -->
|
||||||
|
<!ENTITY diams "♦"> <!-- black diamond suit, U+2666 ISOpub -->
|
1235
src/fr/devinsy/xid/xhtml1-frameset.dtd
Normal file
1235
src/fr/devinsy/xid/xhtml1-frameset.dtd
Normal file
File diff suppressed because it is too large
Load diff
1210
src/fr/devinsy/xid/xhtml1-transitional.dtd
Normal file
1210
src/fr/devinsy/xid/xhtml1-transitional.dtd
Normal file
File diff suppressed because it is too large
Load diff
238
tests/XidTest.java
Normal file
238
tests/XidTest.java
Normal file
|
@ -0,0 +1,238 @@
|
||||||
|
/**
|
||||||
|
* XidTest.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
import fr.devinsy.xid.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class XidTest
|
||||||
|
{
|
||||||
|
static private org.apache.log4j.Logger logger;
|
||||||
|
|
||||||
|
static
|
||||||
|
{
|
||||||
|
// Initialize logger.
|
||||||
|
org.apache.log4j.Logger log = null;
|
||||||
|
|
||||||
|
org.apache.log4j.BasicConfigurator.configure ();
|
||||||
|
|
||||||
|
|
||||||
|
log = org.apache.log4j.Logger.getRootLogger ();
|
||||||
|
//logger.setLevel (org.apache.log4j.Level.INFO);
|
||||||
|
logger.setLevel (org.apache.log4j.Level.INFO);
|
||||||
|
|
||||||
|
logger.info ("Enter");
|
||||||
|
|
||||||
|
//
|
||||||
|
logger.info ("Set the log file format...");
|
||||||
|
|
||||||
|
|
||||||
|
// log = org.apache.log4j.Category.getInstance(Application.class.getName());
|
||||||
|
logger.info ("... done.");
|
||||||
|
|
||||||
|
logger.debug ("Exit");
|
||||||
|
log = org.apache.log4j.Logger.getLogger (XidTest.class.getName ());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static String check (String title, StringBuffer source, String model)
|
||||||
|
{
|
||||||
|
String result;
|
||||||
|
|
||||||
|
if (source.indexOf (model) == -1)
|
||||||
|
{
|
||||||
|
result = String.format ("%-40s -> KO <-", title) + "\nGet:\n" + source + "\nWaiting:\n" + model;
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result = String.format ("%-40s [ OK ] ", title);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum MONTHS {JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBRE, DECEMBRE};
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static void main(String[] args)
|
||||||
|
{
|
||||||
|
System.out.println("Automatic test action for Xid!");
|
||||||
|
|
||||||
|
|
||||||
|
Data datas;
|
||||||
|
IdData tag;
|
||||||
|
|
||||||
|
|
||||||
|
String htmlSource;
|
||||||
|
StringBuffer html;
|
||||||
|
StringBuffer errorMessage;
|
||||||
|
|
||||||
|
// Populate attributes of Test 03.
|
||||||
|
System.out.println ("----------------------------");
|
||||||
|
datas = new Data ();
|
||||||
|
datas.setContent ("name", "Superman");
|
||||||
|
errorMessage = new StringBuffer ();
|
||||||
|
|
||||||
|
html = StringPresenter.doXid ("<div id='name'>a name</div >", datas, errorMessage);
|
||||||
|
|
||||||
|
System.out.println (check ("only content change", html, "<div id=\"name\">Superman</div>"));
|
||||||
|
|
||||||
|
|
||||||
|
// Populate attributes of Test 03.
|
||||||
|
System.out.println ("----------------------------");
|
||||||
|
datas = new Data ();
|
||||||
|
datas.setContent ("lastname", "Spiderman");
|
||||||
|
datas.appendAttribute ("lastname", "style", "background: blue;");
|
||||||
|
datas.appendAttribute ("lastname", "style", "foreground: red;");
|
||||||
|
datas.setAttribute ("lastname", "class", "nameClass");
|
||||||
|
|
||||||
|
errorMessage = new StringBuffer ();
|
||||||
|
html = StringPresenter.doXid ("<div id='lastname'>a last name</div >", datas, errorMessage);
|
||||||
|
System.out.println (check ("content and attributes", html, "<div id=\"lastname\" style=\"background: blue;foreground: red;\" class=\"nameClass\">Spiderman</div>"));
|
||||||
|
|
||||||
|
// Populate attributes of Test 03.
|
||||||
|
System.out.println ("----------------------------");
|
||||||
|
datas = new Data ();
|
||||||
|
datas.setContent ("words", 0, "alpha");
|
||||||
|
datas.setContent ("words", 1, "bravo");
|
||||||
|
datas.setContent ("words", 2, "charlie");
|
||||||
|
datas.setContent ("words", 3, "delta");
|
||||||
|
datas.setContent ("words", 4, "echo");
|
||||||
|
datas.setContent ("words", 5, "fox");
|
||||||
|
|
||||||
|
|
||||||
|
errorMessage = new StringBuffer ();
|
||||||
|
html = StringPresenter.doXid ("<ul>\n <li id='words'>a word</li>\n</ul>", datas, errorMessage);
|
||||||
|
|
||||||
|
System.out.println (check ("list assertion 1", html, "<li id=\"words_0\">alpha</li>"));
|
||||||
|
System.out.println (check ("list assertion 2", html, "<li id=\"words_1\">bravo</li>"));
|
||||||
|
System.out.println (check ("list assertion 3", html, "<li id=\"words_2\">charlie</li>"));
|
||||||
|
System.out.println (check ("list assertion 4", html, "<li id=\"words_3\">delta</li>"));
|
||||||
|
System.out.println (check ("list assertion 5", html, "<li id=\"words_4\">echo</li>"));
|
||||||
|
System.out.println (check ("list assertion 6", html, "<li id=\"words_5\">fox</li>"));
|
||||||
|
|
||||||
|
// Populate attributes of Test 03.
|
||||||
|
System.out.println ("----------------------------");
|
||||||
|
datas = new Data ();
|
||||||
|
datas.setContent ("identity", 0, "nom", "Jemba");
|
||||||
|
datas.setContent ("identity", 0, "prenom", "Epo");
|
||||||
|
datas.setContent ("identity", 1, "nom", "Momon");
|
||||||
|
datas.setContent ("identity", 1, "prenom", "Christian");
|
||||||
|
datas.setContent ("identity", 2, "nom", "Tronche");
|
||||||
|
datas.setContent ("identity", 2, "prenom", "Christophe");
|
||||||
|
|
||||||
|
|
||||||
|
errorMessage = new StringBuffer ();
|
||||||
|
StringBuffer source = new StringBuffer ();
|
||||||
|
source.append ("<table>\n");
|
||||||
|
source.append (" <tr id='identity'><td>noid</td><td id='nom'>un nom</td><td id='prenom'>un prenom</td></tr>\n");
|
||||||
|
source.append ("</table>");
|
||||||
|
htmlSource = source.toString ();
|
||||||
|
html = StringPresenter.doXid (htmlSource, datas, errorMessage);
|
||||||
|
|
||||||
|
System.out.println (check ("table 1 assertion 1", html, "<tr id=\"identity_0\"><td>noid</td><td id=\"nom_0\">Jemba</td><td id=\"prenom_0\">Epo</td></tr>"));
|
||||||
|
System.out.println (check ("table 1 assertion 2", html, "<tr id=\"identity_1\"><td>noid</td><td id=\"nom_1\">Momon</td><td id=\"prenom_1\">Christian</td></tr>"));
|
||||||
|
System.out.println (check ("table 1 assertion 3", html, "<tr id=\"identity_2\"><td>noid</td><td id=\"nom_2\">Tronche</td><td id=\"prenom_2\">Christophe</td></tr>"));
|
||||||
|
|
||||||
|
/*
|
||||||
|
// Populate attributes of Test 03.
|
||||||
|
System.out.println ("----------------------------");
|
||||||
|
datas = new Data ();
|
||||||
|
datas.setContent ("identity", 0, "nom", "Jemba");
|
||||||
|
datas.setContent ("identity", 0, "prenom", "Epo");
|
||||||
|
datas.setContent ("identity", 1, "nom", "Momon");
|
||||||
|
datas.setContent ("identity", 1, "prenom", "Christian");
|
||||||
|
datas.setContent ("identity", 2, "nom", "Tronche");
|
||||||
|
datas.setContent ("identity", 2, "prenom", "Christophe");
|
||||||
|
datas.setIterationStrategy ("identity", IdsDataByIndex.IterationStrategy.ONLY_FIRST_ROW);
|
||||||
|
//datas.setIterationStrategy ("identity", IdsDataByIndex.IterationStrategy.ONLY_ROWS_WITH_ID);
|
||||||
|
//datas.setIterationStrategy ("identity", IdsDataByIndex.IterationStrategy.ONLY_ROWS_WITHOUT_ID);
|
||||||
|
//datas.setIterationStrategy ("identity", IdsDataByIndex.IterationStrategy.ALL_ROWS);
|
||||||
|
|
||||||
|
|
||||||
|
errorMessage = new StringBuffer ();
|
||||||
|
source = new StringBuffer ();
|
||||||
|
source.append ("<table>\n");
|
||||||
|
source.append (" <tr id='identity'><td>noid</td><td id='nom'>un nom</td><td id='prenom'>un prenom</td></tr>\n");
|
||||||
|
source.append (" <tr id='identity2'><td>noid</td><td id='nom2'>un nom</td><td id='prenom2'>un prenom</td></tr>\n");
|
||||||
|
source.append (" <tr><td>noid</td><td id='nom3'>un nom</td><td id='prenom3'>un prenom</td></tr>\n");
|
||||||
|
source.append ("</table>");
|
||||||
|
htmlSource = source.toString ();
|
||||||
|
|
||||||
|
System.out.println ("datas = new Data ();");
|
||||||
|
System.out.println ("datas.setContent (\"identity\", 0, \"nom\", \"Jemba\");");
|
||||||
|
System.out.println ("datas.setContent (\"identity\", 0, \"prenom\", \"Epo\");");
|
||||||
|
System.out.println ("datas.setContent (\"identity\", 1, \"nom\", \"Momon\");");
|
||||||
|
System.out.println ("datas.setContent (\"identity\", 1, \"prenom\", \"Christian\");");
|
||||||
|
System.out.println ("datas.setContent (\"identity\", 2, \"nom\", \"Tronche\");");
|
||||||
|
System.out.println ("datas.setContent (\"identity\", 2, \"prenom\", \"Christophe\");");
|
||||||
|
|
||||||
|
System.out.println ("+");
|
||||||
|
System.out.println (htmlSource);
|
||||||
|
System.out.println ("=>");
|
||||||
|
|
||||||
|
|
||||||
|
datas.setIterationStrategy ("identity", IdsDataByIndex.IterationStrategy.ONLY_FIRST_ROW);
|
||||||
|
System.out.println ("ONLY_FIRST_ROW:");
|
||||||
|
html = Presenter.doXid (htmlSource, datas, "", errorMessage);
|
||||||
|
System.out.println (html);
|
||||||
|
|
||||||
|
datas.setIterationStrategy ("identity", IdsDataByIndex.IterationStrategy.ONLY_ROWS_WITH_ID);
|
||||||
|
System.out.println ("ONLY_ROWS_WITH_ID:");
|
||||||
|
html = Presenter.doXid (htmlSource, datas, "", errorMessage);
|
||||||
|
System.out.println (html);
|
||||||
|
|
||||||
|
datas.setIterationStrategy ("identity", IdsDataByIndex.IterationStrategy.ONLY_ROWS_WITHOUT_ID);
|
||||||
|
System.out.println ("ONLY_ROWS_WITHOUT_ID:");
|
||||||
|
html = Presenter.doXid (htmlSource, datas, "", errorMessage);
|
||||||
|
System.out.println (html);
|
||||||
|
|
||||||
|
datas.setIterationStrategy ("identity", IdsDataByIndex.IterationStrategy.ALL_ROWS);
|
||||||
|
System.out.println ("ALL_ROWS:");
|
||||||
|
html = Presenter.doXid (htmlSource, datas, "", errorMessage);
|
||||||
|
System.out.println (html);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Populate attributes of Test 03.
|
||||||
|
System.out.println ("----------------------------");
|
||||||
|
datas = new Data ();
|
||||||
|
datas.setAttribute ("<div>", "class", "aDivClass");
|
||||||
|
datas.setAttribute ("<div>", "style", "background-color: #000000;");
|
||||||
|
datas.setAttribute ("number", "style", "background-color: #0000FF;");
|
||||||
|
|
||||||
|
errorMessage = new StringBuffer ();
|
||||||
|
source = new StringBuffer ();
|
||||||
|
source.append ("<div>\n");
|
||||||
|
source.append (" <h1>one</h1>\n");
|
||||||
|
source.append ("</div>\n");
|
||||||
|
source.append ("<div id=\"number\">\n");
|
||||||
|
source.append (" <h1>three</h1>\n");
|
||||||
|
source.append ("</div>");
|
||||||
|
htmlSource = source.toString ();
|
||||||
|
html = Presenter.doXid (htmlSource, datas, "", errorMessage);
|
||||||
|
|
||||||
|
System.out.println (htmlSource);
|
||||||
|
System.out.println ("+");
|
||||||
|
System.out.println ("datas = new Data ();");
|
||||||
|
System.out.println ("datas.setAttribute (\"<div>\", \"class\", \"aDivClass\");");
|
||||||
|
System.out.println ("datas.setAttribute (\"<div>\", \"style\", \"background-color: #000000;\");");
|
||||||
|
System.out.println ("datas.setAttribute (\"number\", \"style\", \"background-color: #0000FF;\");");
|
||||||
|
|
||||||
|
System.out.println ("=>");
|
||||||
|
System.out.println (html);
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
}
|
3
webapp-examples/META-INF/MANIFEST.MF
Normal file
3
webapp-examples/META-INF/MANIFEST.MF
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Manifest-Version: 1.0
|
||||||
|
Class-Path:
|
||||||
|
|
Loading…
Reference in a new issue