This page (revision-41) was last changed on 13-May-2015 13:30 by Dieter Käppel

This page was created on 16-Mar-2014 00:11 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
41 13-May-2015 13:30 26 KB Dieter Käppel to previous

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 48 added one line
* __XML-Schema:__ [Xplate] kommt mit XML-Schema (auch XSD genannt) aus, um die Tags zu beschreiben. Es sind keine besonderen Taglibs erforderlich, da Tags einfach mit dem entsprechenden XML-Namespace annotiert werden. Zum Unterstützen des Content-Assist von Entwicklungsumgebungen wird aus den Tags ein XML-Schema generiert.
At line 53 added 106 lines
!!!Dokumentation
Hier wird API, Tags, Konfiguration und Hinweise zu [Xplate] dokumentuiert:
!!Meta Tags
Meta-Tags sind Bestandteil von [Xplate] und unter dem XML-Namespace http://intersult.com/xplate/meta und haben das Prefix meta.
!Include Tag
Mit dem Include-Tag kann ein Fragment in eine bestehende Page eingebunden werden:
{{{
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:meta="http://intersult.com/xplate/meta"
<meta:include viewId="/fragment.xhtml"/>
</html>
}}}
Ein derartiges Fragment kann so aussehen:
{{{
<?xml version="1.0" encoding="UTF-8"?>
<meta:tag xmlns="http://www.w3.org/1999/xhtml"
xmlns:meta="http://intersult.com/xplate/meta"
xmlns:flow="http://intersult.com/xplate/flow"
xmlns:h="http://intersult.com/xplate/html">
<p>
<h:text value="Included Tag"/>
</p>
</meta:tag>
}}}
__Hinweis:__ der Tag <meta:tag> stellt zum einen die Möglichkeit zur Verfügung, Namespaces anzugeben (xmlns:...), zum anderen sorgt er für ein einheitliches Interface.
!!Allgemeine Tags (HTML)
[Xplate] behandelt Tags einheitlich. Alle Tags unterstützen EL-Expressions, Functional Tags etc. [Xplate] liefert daher nicht für jeden HTML-Tag einen eigenen Tag mit. Es reicht völlig aus, den Namespace in der Page anzugeben und enthaltene Tags in die Page zu schreiben:
{{{
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8"/>
<title>test</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
}}}
!!Spezielle HTML Tags
Es gibt spezielle Tags, für die eine erweiterte Unterstützung von [Xplate] angeboten wird. Diese werden unter dem Namespace http://intersult.com/xplate/html mit dem Prefix h.
!Der Text Tag
Mit diesem Tag ist das Ausgeben von Text möglich. Generell kann auch Text zwischen die Tags geschrieben werden, wie es bei XML gemeinhin üblich ist. Allerdings unterstützt der Text-Tag das dynamische Gestalten der Seite:
{{{
<h:text value="#{testBean.text}"/>
}}}
!!Flow Tags
Flow-Tags stehen unter dem Namespace http://intersult.com/xplate/flow und dem Prefix flow zur Verfügung.
!If Tag
Mit dem If Tag ist ein bedingtes Abarbeiten der untergeordneten Tags möglich:
{{{
<flow:if test="#{true}">
<h1>Hello World!</h1>
</flow:if>
}}}
!!Functional Tags
Wird noch ergänzt.
!!Composite Tags
In [Xplate] können Composite Tags gebaut werden. Diese können dann wir andere Tags in einer Page verwendet werden. Composite Tags werden angesprochen, indem der Namespace mit http://intersult.com/xplate/tag/<prefix>/ beginnt. Die entsprechenden XHTML-Dateien werden dann unter <base-path>/tag/<prefix>/ zugegriffen.
{{{
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:meta="http://intersult.com/xplate/meta"
xmlns:flow="http://intersult.com/xplate/flow"
xmlns:h="http://intersult.com/xplate/html"
xmlns:app="http://intersult.com/xplate/tag/app">
...
<app:composite/>
...
</html>
}}}
Der Composite Tag befindet sich dann unter /tag/app/composite.xhtml:
{{{
<?xml version="1.0" encoding="UTF-8"?>
<meta:tag xmlns="http://www.w3.org/1999/xhtml"
xmlns:meta="http://intersult.com/xplate/meta"
xmlns:flow="http://intersult.com/xplate/flow"
xmlns:h="http://intersult.com/xplate/html">
<p>
<h:text value="Composite Tag"/>
</p>
</meta:tag>
}}}