# -*- coding: utf-8 -*-# cython: language_level=3, always_allow_keywords=True## Copyright 1999-2024 by LivingLogic AG, Bayreuth/Germany## Copyright 1999-2024 by Walter Dörwald#### All Rights Reserved#### See ll/xist/__init__.py for the license"""A module that allows you to embed tags from Struts__ html custom tag library.__ http://jakarta.apache.org/struts/"""fromll.xistimportxsc,sims__docformat__="reStructuredText"xmlns="http://jakarta.apache.org/struts/tags-html"
[docs]classtaglib(xsc.ProcInst):""" Creates a standard struts taglib header """xmlns=xmlnsdefpublish(self,publisher):yieldpublisher.encode('<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="')yieldpublisher.encode(publisher.getobjectprefix(self))yieldpublisher.encode('" %>')
[docs]classElement(xsc.Element):""" Common base class for all the struts html elements """register=False
[docs]classMouseElement(PartMouseElement):""" Common base class for all the struts elements which have mouse attributes """xmlns=xmlnsclassAttrs(PartMouseElement.Attrs):classaccesskey(xsc.TextAttr):passclasstabindex(xsc.TextAttr):passclassdisabled(xsc.TextAttr):pass
[docs]classbase(Element):""" Document base URI """xmlns=xmlnsmodel=sims.Empty()classAttrs(Element.Attrs):classtarget(xsc.URLAttr):passclassserver(xsc.TextAttr):pass
[docs]classbutton(MouseElement):""" A button """xmlns=xmlnsmodel=sims.Any()classAttrs(MouseElement.Attrs):classindexed(xsc.TextAttr):pass
[docs]classcancel(MouseElement):""" A cancel button """xmlns=xmlnsmodel=sims.Any()
[docs]classcheckbox(MouseElement):""" A html checkbox element """xmlns=xmlnsmodel=sims.Any()classAttrs(MouseElement.Attrs):classindexed(xsc.TextAttr):passclassname(xsc.TextAttr):pass
[docs]classerrors(Element):""" Displays error messages which have been generated from an action or a validation method """xmlns=xmlnsmodel=sims.Empty()classAttrs(Element.Attrs):classbundle(xsc.TextAttr):passclasslocale(xsc.TextAttr):passclassname(xsc.TextAttr):passclassproperty(xsc.TextAttr):pass
[docs]classfile(MouseElement):""" HTML input element of type file """xmlns=xmlnsmodel=sims.Any()classAttrs(MouseElement.Attrs):classaccept(xsc.TextAttr):passclassindexed(xsc.TextAttr):passclassmaxlength(xsc.TextAttr):passclassname(xsc.TextAttr):passclasssize(xsc.TextAttr):pass
[docs]classform(Element):""" HTML form """xmlns=xmlnsmodel=sims.Any()classAttrs(Element.Attrs):classaction(xsc.TextAttr):passclassenctype(xsc.TextAttr):passclassfocus(xsc.TextAttr):passclassfocusIndex(xsc.TextAttr):passclassmethod(xsc.TextAttr):passclassname(xsc.TextAttr):passclassonreset(xsc.TextAttr):passclassonsubmit(xsc.TextAttr):passclassscope(xsc.TextAttr):passclassstyle(xsc.TextAttr):passclassstyleClass(xsc.TextAttr):passclassstyleId(xsc.TextAttr):passclasstarget(xsc.TextAttr):passclasstype(xsc.TextAttr):pass
[docs]classframe(Element):""" Render an HTML frame element """xmlns=xmlnsmodel=sims.Any()classAttrs(Element.Attrs):classaction(xsc.TextAttr):passclassanchor(xsc.TextAttr):passclassforward(xsc.TextAttr):passclassframeborder(xsc.TextAttr):passclassframeName(xsc.TextAttr):passclasshref(xsc.URLAttr):passclasslongdesc(xsc.TextAttr):passclassmarginheight(xsc.TextAttr):passclassmarginwidth(xsc.TextAttr):passclassname(xsc.TextAttr):passclassnoresize(xsc.TextAttr):passclasspage(xsc.TextAttr):passclassparamId(xsc.TextAttr):passclassparamName(xsc.TextAttr):passclassparamProperty(xsc.TextAttr):passclassparamScope(xsc.TextAttr):passclassproperty(xsc.TextAttr):passclassscope(xsc.TextAttr):passclassscrolling(xsc.TextAttr):passclassstyle(xsc.TextAttr):passclassstyleClass(xsc.TextAttr):passclassstyleId(xsc.TextAttr):passclasstitle(xsc.TextAttr):passclasstitleKey(xsc.TextAttr):passclasstransaction(xsc.TextAttr):pass
[docs]classhidden(PartMouseElement):""" hidden form field """xmlns=xmlnsmodel=sims.Empty()classAttrs(PartMouseElement.Attrs):classaccesskey(xsc.TextAttr):passclassindexed(xsc.TextAttr):passclassname(xsc.TextAttr):passclasswrite(xsc.TextAttr):pass
[docs]classhtml(Element):""" Render a HTML html element """xmlns=xmlnsmodel=sims.Any()classAttrs(Element.Attrs):classlocale(xsc.TextAttr):passclassxhtml(xsc.TextAttr):pass
[docs]classimg(Element):""" html img tag """xmlns=xmlnsmodel=sims.Any()classAttrs(Element.Attrs):classalign(xsc.TextAttr):passclassalt(xsc.TextAttr):passclassaltKey(xsc.TextAttr):passclassborder(xsc.TextAttr):passclassbundle(xsc.TextAttr):passclassheight(xsc.TextAttr):passclasshspace(xsc.TextAttr):passclassimageName(xsc.TextAttr):passclassismap(xsc.TextAttr):passclasslocale(xsc.TextAttr):passclasslowsrc(xsc.TextAttr):passclassname(xsc.TextAttr):passclassonclick(xsc.TextAttr):passclassondblclick(xsc.TextAttr):passclassonkeydown(xsc.TextAttr):passclassonkeypress(xsc.TextAttr):passclassonkeyup(xsc.TextAttr):passclassonmousedown(xsc.TextAttr):passclassonmousemove(xsc.TextAttr):passclassonmouseout(xsc.TextAttr):passclassonmouseover(xsc.TextAttr):passclassonmouseup(xsc.TextAttr):passclassparamId(xsc.TextAttr):passclasspage(xsc.TextAttr):passclasspageKey(xsc.TextAttr):passclassparamName(xsc.TextAttr):passclassparamProperty(xsc.TextAttr):passclassparamScope(xsc.TextAttr):passclassproperty(xsc.TextAttr):passclassscope(xsc.TextAttr):passclasssrc(xsc.TextAttr):passclasssrcKey(xsc.TextAttr):passclassstyle(xsc.TextAttr):passclassstyleClass(xsc.TextAttr):passclassstyleId(xsc.TextAttr):passclasstitle(xsc.TextAttr):passclasstitleKey(xsc.TextAttr):passclassusemap(xsc.TextAttr):passclassvspace(xsc.TextAttr):passclasswidth(xsc.TextAttr):pass
[docs]classjavascript(Element):""" Render JavaScript validation based on the validation rules loaded by the ValidatorPlugIn. """xmlns=xmlnsmodel=sims.Empty()classAttrs(Element.Attrs):classcdata(xsc.TextAttr):passclassdynamicJavascript(xsc.TextAttr):passclassformName(xsc.TextAttr):passclassmethod(xsc.TextAttr):passclasspage(xsc.TextAttr):passclasssrc(xsc.TextAttr):passclassstaticJavascript(xsc.TextAttr):passclasshtmlComment(xsc.TextAttr):pass
[docs]classlink(Element):""" html link """xmlns=xmlnsmodel=sims.Any()classAttrs(Element.Attrs):classaccesskey(xsc.TextAttr):passclassaction(xsc.TextAttr):passclassanchor(xsc.TextAttr):passclassforward(xsc.TextAttr):passclasshref(xsc.URLAttr):passclassindexed(xsc.TextAttr):passclassindexId(xsc.TextAttr):passclasslinkName(xsc.TextAttr):passclassname(xsc.TextAttr):passclassonblur(xsc.TextAttr):passclassonclick(xsc.TextAttr):passclassondblclick(xsc.TextAttr):passclassonfocus(xsc.TextAttr):passclassonkeydown(xsc.TextAttr):passclassonkeypress(xsc.TextAttr):passclassonkeyup(xsc.TextAttr):passclassonmousedown(xsc.TextAttr):passclassonmousemove(xsc.TextAttr):passclassonmouseout(xsc.TextAttr):passclassonmouseover(xsc.TextAttr):passclassonmouseup(xsc.TextAttr):passclasspage(xsc.TextAttr):passclassparamId(xsc.TextAttr):passclassparamName(xsc.TextAttr):passclassparamProperty(xsc.TextAttr):passclassparamScope(xsc.TextAttr):passclassproperty(xsc.TextAttr):passclassscope(xsc.TextAttr):passclassstyle(xsc.TextAttr):passclassstyleClass(xsc.TextAttr):passclassstyleId(xsc.TextAttr):passclasstabindex(xsc.TextAttr):passclasstarget(xsc.TextAttr):passclasstitle(xsc.TextAttr):passclasstitleKey(xsc.TextAttr):passclasstransaction(xsc.TextAttr):pass
[docs]classmessages(Element):""" Conditionally display a set of accumulated messages. """xmlns=xmlnsmodel=sims.Any()classAttrs(Element.Attrs):classid(xsc.TextAttr):passclassbundle(xsc.TextAttr):passclasslocale(xsc.TextAttr):passclassname(xsc.TextAttr):passclassproperty(xsc.TextAttr):passclassheader(xsc.TextAttr):passclassfooter(xsc.TextAttr):passclassmessage(xsc.TextAttr):pass
[docs]classmultibox(MouseElement):""" multiple checkbox element """xmlns=xmlnsmodel=sims.Any()classAttrs(MouseElement.Attrs):classname(xsc.TextAttr):pass
[docs]classoption(Element):""" option element """xmlns=xmlnsmodel=sims.Any()classAttrs(Element.Attrs):classbundle(xsc.TextAttr):passclassdir(xsc.TextAttr):passclassdisabled(xsc.TextAttr):passclassfilter(xsc.TextAttr):passclasslang(xsc.TextAttr):passclasskey(xsc.TextAttr):passclasslocale(xsc.TextAttr):passclassstyle(xsc.TextAttr):passclassstyleId(xsc.TextAttr):passclassstyleClass(xsc.TextAttr):passclassvalue(xsc.TextAttr):pass
[docs]classoptions(Element):""" struts html options element """xmlns=xmlnsmodel=sims.Empty()classAttrs(Element.Attrs):classcollection(xsc.TextAttr):passclassfilter(xsc.TextAttr):passclasslabelName(xsc.TextAttr):passclasslabelProperty(xsc.TextAttr):passclassname(xsc.TextAttr):passclassproperty(xsc.TextAttr):passclassstyle(xsc.TextAttr):passclassstyleClass(xsc.TextAttr):pass
[docs]classoptionsCollection(Element):""" Render a collection of select options """xmlns=xmlnsmodel=sims.Empty()classAttrs(Element.Attrs):classfilter(xsc.TextAttr):passclasslabel(xsc.TextAttr):passclassname(xsc.TextAttr):passclassproperty(xsc.TextAttr):passclassstyle(xsc.TextAttr):passclassstyleClass(xsc.TextAttr):passclassvalue(xsc.TextAttr):pass
[docs]classpassword(MouseElement):""" a password text input field """xmlns=xmlnsmodel=sims.Any()classAttrs(MouseElement.Attrs):classindexed(xsc.TextAttr):passclassmaxlength(xsc.TextAttr):passclassname(xsc.TextAttr):passclassreadonly(xsc.TextAttr):passclassredisplay(xsc.TextAttr):passclasssize(xsc.TextAttr):pass
[docs]classradio(MouseElement):""" html input radio """xmlns=xmlnsclassAttrs(MouseElement.Attrs):classindexed(xsc.TextAttr):passclassname(xsc.TextAttr):passclassidName(xsc.TextAttr):pass
[docs]classreset(MouseElement):""" a reset button """xmlns=xmlnsmodel=sims.Any()
[docs]classrewrite(Element):""" render a request uri like html link """xmlns=xmlnsmodel=sims.Any()classAttrs(Element.Attrs):classanchor(xsc.TextAttr):passclassforward(xsc.TextAttr):passclasshref(xsc.URLAttr):passclassname(xsc.TextAttr):passclasspage(xsc.TextAttr):passclassparamId(xsc.TextAttr):passclassparamName(xsc.TextAttr):passclassparamProperty(xsc.TextAttr):passclassparamScope(xsc.TextAttr):passclassproperty(xsc.TextAttr):passclassscope(xsc.TextAttr):passclasstransaction(xsc.TextAttr):pass
[docs]classselect(PartMouseElement):""" a select element text input field """xmlns=xmlnsmodel=sims.Any()classAttrs(PartMouseElement.Attrs):classdisabled(xsc.TextAttr):passclassindexed(xsc.TextAttr):passclassmultiple(xsc.TextAttr):passclassname(xsc.TextAttr):passclasstabindex(xsc.TextAttr):passclasssize(xsc.TextAttr):pass
[docs]classsubmit(MouseElement):""" a submit button """xmlns=xmlnsmodel=sims.Any()classAttrs(MouseElement.Attrs):classindexed(xsc.TextAttr):pass
[docs]classtext(MouseElement):""" a text input field """xmlns=xmlnsmodel=sims.Any()classAttrs(MouseElement.Attrs):classindexed(xsc.TextAttr):passclassmaxlength(xsc.TextAttr):passclassname(xsc.TextAttr):passclassreadonly(xsc.TextAttr):passclasssize(xsc.TextAttr):pass
[docs]classtextarea(MouseElement):""" a textarea """xmlns=xmlnsmodel=sims.Any()classAttrs(MouseElement.Attrs):classcols(xsc.TextAttr):passclassindexed(xsc.TextAttr):passclassname(xsc.TextAttr):passclassreadonly(xsc.TextAttr):passclassrows(xsc.TextAttr):pass
[docs]classxhtml(Element):""" Render HTML tags as XHTML """xmlns=xmlnsmodel=sims.Empty()