mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
fixed bug with checkboxes
partially removed need for sample instance xml - i'm doing a bunch of hacks at the moment to get around it - basically using xmlbeans to generate the sample xml, and then cleaning it up. ended up not needing to do insane things in javascript with this approach. emailed joern at chiba to see if he has suggestions for how others deal with this issue. serializing the template configuration using object serialization for now. it'll work good for the demo and we'll do something more robust/human readable post demo. this required a bunch of refactoring and springifying the TemplateService, but we're now reading back xsds and xsls from the repository which is sorta a nice thing i think. remove the preview form wizard step from create xml content type flow. tried getting rid of a temporary file in generating the xform but failed. need to find a way to get an url to a noderef that the xform can use to reference the xsd. emailed london people about that. but still did some refactoring along those lines. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3558 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -19,6 +19,7 @@ package org.alfresco.web.templating.xforms;
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
|
||||
import org.alfresco.util.TempFileProvider;
|
||||
import org.alfresco.web.templating.*;
|
||||
@@ -27,23 +28,35 @@ import org.alfresco.web.templating.xforms.schemabuilder.FormBuilderException;
|
||||
import org.apache.xmlbeans.*;
|
||||
import org.apache.xmlbeans.impl.xsd2inst.SampleXmlUtil;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.*;
|
||||
import org.xml.sax.SAXException;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
public class TemplateTypeImpl
|
||||
implements TemplateType
|
||||
{
|
||||
private static final Log LOGGER = LogFactory.getLog(TemplateTypeImpl.class);
|
||||
|
||||
private final Document schema;
|
||||
private transient Document schema;
|
||||
private final NodeRef schemaNodeRef;
|
||||
private final String name;
|
||||
private final LinkedList outputMethods = new LinkedList();
|
||||
private final LinkedList<TemplateOutputMethod> outputMethods =
|
||||
new LinkedList<TemplateOutputMethod>();
|
||||
private final static LinkedList<TemplateInputMethod> INPUT_METHODS =
|
||||
new LinkedList<TemplateInputMethod>();
|
||||
|
||||
static
|
||||
{
|
||||
INPUT_METHODS.add(new XFormsInputMethod());
|
||||
}
|
||||
|
||||
public TemplateTypeImpl(final String name,
|
||||
final Document schema)
|
||||
final NodeRef schemaNodeRef)
|
||||
{
|
||||
this.name = name;
|
||||
this.schema = schema;
|
||||
this.schemaNodeRef = schemaNodeRef;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
@@ -53,6 +66,18 @@ public class TemplateTypeImpl
|
||||
|
||||
public Document getSchema()
|
||||
{
|
||||
if (this.schema == null)
|
||||
{
|
||||
final TemplatingService ts = TemplatingService.getInstance();
|
||||
try
|
||||
{
|
||||
this.schema = ts.parseXML(this.schemaNodeRef);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LOGGER.error(e);
|
||||
}
|
||||
}
|
||||
return this.schema;
|
||||
}
|
||||
|
||||
@@ -63,15 +88,11 @@ public class TemplateTypeImpl
|
||||
final XmlObject[] schemas = new XmlObject[1];
|
||||
try
|
||||
{
|
||||
final File schemaFile = TempFileProvider.createTempFile("alfresco", ".schema");
|
||||
TemplatingService.getInstance().writeXML(this.schema, schemaFile);
|
||||
schemas[0] = XmlObject.Factory.parse(schemaFile, xmlOptions);
|
||||
schemaFile.delete();
|
||||
schemas[0] = XmlObject.Factory.parse(this.getSchema(), xmlOptions);
|
||||
}
|
||||
catch (Exception e)
|
||||
catch (XmlException xmle)
|
||||
{
|
||||
System.err.println("Can not load schema file: " + schema + ": ");
|
||||
e.printStackTrace();
|
||||
LOGGER.error(xmle);
|
||||
}
|
||||
|
||||
final XmlOptions compileOptions = new XmlOptions();
|
||||
@@ -88,8 +109,7 @@ public class TemplateTypeImpl
|
||||
}
|
||||
catch (XmlException xmle)
|
||||
{
|
||||
xmle.printStackTrace();
|
||||
return null;
|
||||
LOGGER.error(xmle);
|
||||
}
|
||||
|
||||
if (sts == null)
|
||||
@@ -110,11 +130,18 @@ public class TemplateTypeImpl
|
||||
if (elem == null)
|
||||
throw new NullPointerException("Could not find a global element with name \"" + rootTagName + "\"");
|
||||
|
||||
final String result = SampleXmlUtil.createSampleForType(elem);
|
||||
final String xmlString = SampleXmlUtil.createSampleForType(elem);
|
||||
try
|
||||
{
|
||||
final TemplatingService ts = TemplatingService.getInstance();
|
||||
return ts.parseXML(new ByteArrayInputStream(result.getBytes()));
|
||||
final Document d = ts.parseXML(new ByteArrayInputStream(xmlString.getBytes()));
|
||||
System.out.println("sample xml:");
|
||||
System.out.println(ts.writeXMLToString(d));
|
||||
|
||||
TemplateTypeImpl.cleanUpSampleXml(d.getDocumentElement());
|
||||
System.out.println("cleaned up xml:");
|
||||
System.out.println(ts.writeXMLToString(d));
|
||||
return d;
|
||||
}
|
||||
catch (ParserConfigurationException pce)
|
||||
{
|
||||
@@ -133,11 +160,32 @@ public class TemplateTypeImpl
|
||||
}
|
||||
}
|
||||
|
||||
private static void cleanUpSampleXml(final Node n)
|
||||
{
|
||||
if (n instanceof CharacterData)
|
||||
{
|
||||
// System.out.println("replacing data " + ((CharacterData)n).getData());
|
||||
((CharacterData)n).setData(" ");
|
||||
}
|
||||
else if (n instanceof Element)
|
||||
{
|
||||
final NamedNodeMap attrs = n.getAttributes();
|
||||
for (int i = 0; i < attrs.getLength(); i++)
|
||||
{
|
||||
// System.out.println("not replacing data " + ((Attr)n).getValue());
|
||||
// ((Attr)attrs.item(i)).setValue("");
|
||||
}
|
||||
}
|
||||
final NodeList nl = n.getChildNodes();
|
||||
for (int i = 0; i < nl.getLength(); i++)
|
||||
{
|
||||
TemplateTypeImpl.cleanUpSampleXml(nl.item(i));
|
||||
}
|
||||
}
|
||||
|
||||
public List<TemplateInputMethod> getInputMethods()
|
||||
{
|
||||
return (List<TemplateInputMethod>)Arrays.asList(new TemplateInputMethod[] {
|
||||
new XFormsInputMethod()
|
||||
});
|
||||
return INPUT_METHODS;
|
||||
}
|
||||
|
||||
public void addOutputMethod(TemplateOutputMethod output)
|
||||
|
@@ -21,7 +21,6 @@ import javax.faces.context.FacesContext;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.ServletContext;
|
||||
|
||||
import org.alfresco.util.TempFileProvider;
|
||||
import org.alfresco.web.templating.*;
|
||||
import org.alfresco.web.templating.xforms.schemabuilder.*;
|
||||
import org.alfresco.web.bean.ajax.XFormsBean;
|
||||
@@ -105,16 +104,6 @@ public class XFormsInputMethod
|
||||
if (xmlContent == null)
|
||||
xmlContent = tt.getSampleXml(tt.getName());
|
||||
final TemplatingService ts = TemplatingService.getInstance();
|
||||
final File schemaFile = TempFileProvider.createTempFile("alfresco", ".schema");
|
||||
try
|
||||
{
|
||||
ts.writeXML(tt.getSchema(), schemaFile);
|
||||
}
|
||||
catch (IOException ioe)
|
||||
{
|
||||
assert false : ioe.getMessage();
|
||||
LOGGER.error(ioe);
|
||||
}
|
||||
final FacesContext fc = FacesContext.getCurrentInstance();
|
||||
final HttpServletRequest request = (HttpServletRequest)
|
||||
fc.getExternalContext().getRequest();
|
||||
@@ -124,16 +113,16 @@ public class XFormsInputMethod
|
||||
LOGGER.debug("using baseUrl " + baseUrl + " for schemaformbuilder");
|
||||
|
||||
final SchemaFormBuilder builder =
|
||||
new BaseSchemaFormBuilder(getDocumentElementNameNoNS(xmlContent),
|
||||
new BaseSchemaFormBuilder(tt.getName(),
|
||||
xmlContent,
|
||||
request.getContextPath() + "/ajax/invoke/XFormsBean.handleAction",
|
||||
"post",
|
||||
SchemaFormBuilder.SUBMIT_METHOD_POST,
|
||||
new XHTMLWrapperElementsBuilder(),
|
||||
null,
|
||||
baseUrl,
|
||||
true);
|
||||
LOGGER.debug("building xform for schema " + schemaFile.getPath());
|
||||
final Document result = builder.buildForm(schemaFile.getPath());
|
||||
LOGGER.debug("building xform for schema " + tt.getName());
|
||||
final Document result = builder.buildForm(tt); //schemaFile.getPath());
|
||||
// xmlContentFile.delete();
|
||||
// schemaFile.delete();
|
||||
return result;
|
||||
|
@@ -35,16 +35,17 @@ import javax.xml.transform.stream.StreamResult;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
import org.xml.sax.SAXException;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
|
||||
public class XSLTOutputMethod
|
||||
implements TemplateOutputMethod
|
||||
{
|
||||
|
||||
private final File file;
|
||||
private final NodeRef nodeRef;
|
||||
|
||||
public XSLTOutputMethod(final File f)
|
||||
public XSLTOutputMethod(final NodeRef nodeRef)
|
||||
{
|
||||
this.file = f;
|
||||
this.nodeRef = nodeRef;
|
||||
}
|
||||
|
||||
public void generate(final Document xmlContent,
|
||||
@@ -58,7 +59,7 @@ public class XSLTOutputMethod
|
||||
{
|
||||
TransformerFactory tf = TransformerFactory.newInstance();
|
||||
TemplatingService ts = TemplatingService.getInstance();
|
||||
DOMSource source = new DOMSource(ts.parseXML(this.file));
|
||||
DOMSource source = new DOMSource(ts.parseXML(this.nodeRef));
|
||||
final Templates templates = tf.newTemplates(source);
|
||||
final Transformer t = templates.newTransformer();
|
||||
final StreamResult result = new StreamResult(out);
|
||||
|
@@ -24,7 +24,7 @@ import org.chiba.xml.xforms.NamespaceCtx;
|
||||
import org.w3c.dom.*;
|
||||
import org.w3c.dom.bootstrap.DOMImplementationRegistry;
|
||||
import org.xml.sax.InputSource;
|
||||
|
||||
import org.alfresco.web.templating.*;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
@@ -33,7 +33,7 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.StringWriter;
|
||||
import java.util.*;
|
||||
|
||||
import org.alfresco.util.TempFileProvider;
|
||||
/*
|
||||
* Search for TODO for things remaining to-do in this implementation.
|
||||
*
|
||||
@@ -199,32 +199,6 @@ public abstract class AbstractSchemaFormBuilder implements SchemaFormBuilder {
|
||||
PROPERTY_PREFIX + "group@border";
|
||||
private static final String DEFAULT_GROUP_BORDER = "0";
|
||||
|
||||
/**
|
||||
* Prossible values of the "@method" on the "submission" element
|
||||
*/
|
||||
public static final String SUBMIT_METHOD_POST = "post";
|
||||
|
||||
/**
|
||||
* __UNDOCUMENTED__
|
||||
*/
|
||||
public static final String SUBMIT_METHOD_PUT = "put";
|
||||
|
||||
/**
|
||||
* __UNDOCUMENTED__
|
||||
*/
|
||||
public static final String SUBMIT_METHOD_GET = "get";
|
||||
|
||||
/**
|
||||
* __UNDOCUMENTED__
|
||||
*/
|
||||
public static final String SUBMIT_METHOD_FORM_DATA_POST = "form-data-post";
|
||||
|
||||
/**
|
||||
* __UNDOCUMENTED__
|
||||
*/
|
||||
public static final String SUBMIT_METHOD_URLENCODED_POST =
|
||||
"urlencoded-post";
|
||||
|
||||
/**
|
||||
* __UNDOCUMENTED__
|
||||
*/
|
||||
@@ -418,33 +392,6 @@ public abstract class AbstractSchemaFormBuilder implements SchemaFormBuilder {
|
||||
return _submitMethod;
|
||||
}
|
||||
|
||||
private void loadSchema(String inputURI)
|
||||
throws ClassNotFoundException,
|
||||
InstantiationException,
|
||||
IllegalAccessException
|
||||
{
|
||||
|
||||
// Get DOM Implementation using DOM Registry
|
||||
System.setProperty(DOMImplementationRegistry.PROPERTY,
|
||||
"org.apache.xerces.dom.DOMXSImplementationSourceImpl");
|
||||
DOMImplementationRegistry registry =
|
||||
DOMImplementationRegistry.newInstance();
|
||||
Object o = registry.getDOMImplementation("XS-Loader");
|
||||
if (o instanceof XSImplementation)
|
||||
{
|
||||
XSImplementation impl = (XSImplementation) o;
|
||||
XSLoader schemaLoader = impl.createXSLoader(null);
|
||||
this.schema = schemaLoader.loadURI(inputURI);
|
||||
}
|
||||
else if (o != null)
|
||||
{
|
||||
if (LOGGER.isDebugEnabled())
|
||||
LOGGER.debug("DOMImplementation is not a XSImplementation: "
|
||||
+ o.getClass().getName());
|
||||
throw new RuntimeException(o.getClass().getName() + " is not a XSImplementation");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* builds a form from a XML schema.
|
||||
*
|
||||
@@ -452,37 +399,62 @@ public abstract class AbstractSchemaFormBuilder implements SchemaFormBuilder {
|
||||
* @return __UNDOCUMENTED__
|
||||
* @throws FormBuilderException __UNDOCUMENTED__
|
||||
*/
|
||||
public Document buildForm(String inputFile)
|
||||
public Document buildForm(final TemplateType tt)
|
||||
throws FormBuilderException {
|
||||
try {
|
||||
this.loadSchema(new File(inputFile).toURI().toString());
|
||||
this.buildTypeTree(schema);
|
||||
// Get DOM Implementation using DOM Registry
|
||||
System.setProperty(DOMImplementationRegistry.PROPERTY,
|
||||
"org.apache.xerces.dom.DOMXSImplementationSourceImpl");
|
||||
final DOMImplementationRegistry registry =
|
||||
DOMImplementationRegistry.newInstance();
|
||||
final XSImplementation xsImpl = (XSImplementation)
|
||||
registry.getDOMImplementation("XS-Loader");
|
||||
// final DOMImplementationLS lsImpl = (DOMImplementationLS)
|
||||
// registry.getDOMImplementation("XML 1.0 LS 3.0");
|
||||
// LSInput in = lsImpl.createLSInput();
|
||||
// in.setCharacterStrea
|
||||
final TemplatingService ts = TemplatingService.getInstance();
|
||||
final File schemaFile = TempFileProvider.createTempFile("alfresco", ".schema");
|
||||
try
|
||||
{
|
||||
ts.writeXML(tt.getSchema(), schemaFile);
|
||||
}
|
||||
catch (IOException ioe)
|
||||
{
|
||||
assert false : ioe.getMessage();
|
||||
LOGGER.error(ioe);
|
||||
}
|
||||
|
||||
final String inputURI = schemaFile.toURI().toString();
|
||||
final XSLoader schemaLoader = xsImpl.createXSLoader(null);
|
||||
this.schema = schemaLoader.loadURI(inputURI);
|
||||
this.buildTypeTree(this.schema);
|
||||
|
||||
//refCounter = 0;
|
||||
counter = new HashMap();
|
||||
|
||||
Document xForm = createFormTemplate(_rootTagName,
|
||||
_rootTagName + " Form",
|
||||
getProperty(CSS_STYLE_PROP,
|
||||
DEFAULT_CSS_STYLE_PROP));
|
||||
this.counter = new HashMap();
|
||||
|
||||
final Document xForm = createFormTemplate(_rootTagName,
|
||||
_rootTagName + " Form",
|
||||
getProperty(CSS_STYLE_PROP,
|
||||
DEFAULT_CSS_STYLE_PROP));
|
||||
|
||||
//this.buildInheritenceTree(schema);
|
||||
Element envelopeElement = xForm.getDocumentElement();
|
||||
|
||||
//Element formSection = (Element) envelopeElement.getElementsByTagNameNS(CHIBA_NS, "form").item(0);
|
||||
//Element formSection =(Element) envelopeElement.getElementsByTagName("body").item(0);
|
||||
//find form element: last element created
|
||||
NodeList children = xForm.getDocumentElement().getChildNodes();
|
||||
final NodeList children = xForm.getDocumentElement().getChildNodes();
|
||||
|
||||
Element formSection = (Element)children.item(children.getLength() - 1);
|
||||
Element modelSection = (Element)
|
||||
final Element formSection = (Element)children.item(children.getLength() - 1);
|
||||
final Element modelSection = (Element)
|
||||
envelopeElement.getElementsByTagNameNS(XFORMS_NS, "model").item(0);
|
||||
|
||||
//add XMLSchema if we use schema types
|
||||
if (_useSchemaTypes && modelSection != null)
|
||||
modelSection.setAttributeNS(XFORMS_NS,
|
||||
this.getXFormsNSPrefix() + "schema",
|
||||
new File(inputFile).toURI().toString());
|
||||
inputURI);
|
||||
|
||||
//change stylesheet
|
||||
String stylesheet = this.getStylesheet();
|
||||
@@ -502,7 +474,7 @@ public abstract class AbstractSchemaFormBuilder implements SchemaFormBuilder {
|
||||
//TODO: find a better way to find the targetNamespace
|
||||
try
|
||||
{
|
||||
Document domDoc = DOMUtil.parseXmlFile(inputFile, true, false);
|
||||
final Document domDoc = tt.getSchema();
|
||||
if (domDoc != null)
|
||||
{
|
||||
Element root = domDoc.getDocumentElement();
|
||||
@@ -1167,14 +1139,14 @@ public abstract class AbstractSchemaFormBuilder implements SchemaFormBuilder {
|
||||
int[] occurance = this.getOccurance(owner);
|
||||
|
||||
addSimpleType(xForm,
|
||||
modelSection,
|
||||
formSection,
|
||||
controlType,
|
||||
owner.getName(),
|
||||
owner,
|
||||
pathToRoot,
|
||||
occurance[0],
|
||||
occurance[1]);
|
||||
modelSection,
|
||||
formSection,
|
||||
controlType,
|
||||
owner.getName(),
|
||||
owner,
|
||||
pathToRoot,
|
||||
occurance[0],
|
||||
occurance[1]);
|
||||
}
|
||||
|
||||
private void addAttributeSet(Document xForm,
|
||||
@@ -1189,20 +1161,22 @@ public abstract class AbstractSchemaFormBuilder implements SchemaFormBuilder {
|
||||
if (attrUses != null) {
|
||||
int nbAttr = attrUses.getLength();
|
||||
for (int i = 0; i < nbAttr; i++) {
|
||||
XSAttributeUse currentAttributeUse =
|
||||
(XSAttributeUse) attrUses.item(i);
|
||||
XSAttributeUse currentAttributeUse = (XSAttributeUse)attrUses.item(i);
|
||||
XSAttributeDeclaration currentAttribute =
|
||||
currentAttributeUse.getAttrDeclaration();
|
||||
currentAttributeUse.getAttrDeclaration();
|
||||
|
||||
//test if extended !
|
||||
if (checkIfExtension && this.doesAttributeComeFromExtension(currentAttributeUse, controlType)) {
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
if (checkIfExtension &&
|
||||
this.doesAttributeComeFromExtension(currentAttributeUse, controlType))
|
||||
{
|
||||
if (LOGGER.isDebugEnabled())
|
||||
{
|
||||
LOGGER.debug("This attribute comes from an extension: recopy form controls. \n Model section: ");
|
||||
DOMUtil.prettyPrintDOM(modelSection);
|
||||
}
|
||||
|
||||
String attributeName = currentAttributeUse.getName();
|
||||
if (attributeName == null || attributeName.equals(""))
|
||||
if (attributeName == null || attributeName.length() == 0)
|
||||
attributeName = currentAttributeUse.getAttrDeclaration().getName();
|
||||
|
||||
//find the existing bind Id
|
||||
@@ -1248,7 +1222,7 @@ public abstract class AbstractSchemaFormBuilder implements SchemaFormBuilder {
|
||||
} else {
|
||||
String newPathToRoot;
|
||||
|
||||
if ((pathToRoot == null) || pathToRoot.equals("")) {
|
||||
if (pathToRoot == null || pathToRoot.length() == 0) {
|
||||
newPathToRoot = "@" + currentAttribute.getName();
|
||||
} else if (pathToRoot.endsWith("/")) {
|
||||
newPathToRoot =
|
||||
@@ -1266,11 +1240,11 @@ public abstract class AbstractSchemaFormBuilder implements SchemaFormBuilder {
|
||||
}*/
|
||||
|
||||
addSimpleType(xForm,
|
||||
modelSection,
|
||||
formSection,
|
||||
simpleType,
|
||||
currentAttributeUse,
|
||||
newPathToRoot);
|
||||
modelSection,
|
||||
formSection,
|
||||
simpleType,
|
||||
currentAttributeUse,
|
||||
newPathToRoot);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1411,12 +1385,12 @@ public abstract class AbstractSchemaFormBuilder implements SchemaFormBuilder {
|
||||
|
||||
//attributes
|
||||
addAttributeSet(xForm,
|
||||
modelSection,
|
||||
formSection,
|
||||
controlType,
|
||||
owner,
|
||||
pathToRoot,
|
||||
checkIfExtension);
|
||||
modelSection,
|
||||
formSection,
|
||||
controlType,
|
||||
owner,
|
||||
pathToRoot,
|
||||
checkIfExtension);
|
||||
|
||||
//process group
|
||||
XSParticle particle = controlType.getParticle();
|
||||
|
@@ -25,6 +25,8 @@ import org.w3c.dom.Element;
|
||||
import javax.xml.transform.Source;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.alfresco.web.templating.*;
|
||||
|
||||
/**
|
||||
* An object that implements this interface can build an XForm that conforms to
|
||||
* the elements and attributes declared in an XML Schema.
|
||||
@@ -101,6 +103,32 @@ public interface SchemaFormBuilder {
|
||||
*/
|
||||
public static final String xmleventsNSPrefix = "ev:";
|
||||
|
||||
/**
|
||||
* Prossible values of the "@method" on the "submission" element
|
||||
*/
|
||||
public static final String SUBMIT_METHOD_POST = "post";
|
||||
|
||||
/**
|
||||
* __UNDOCUMENTED__
|
||||
*/
|
||||
public static final String SUBMIT_METHOD_PUT = "put";
|
||||
|
||||
/**
|
||||
* __UNDOCUMENTED__
|
||||
*/
|
||||
public static final String SUBMIT_METHOD_GET = "get";
|
||||
|
||||
/**
|
||||
* __UNDOCUMENTED__
|
||||
*/
|
||||
public static final String SUBMIT_METHOD_FORM_DATA_POST = "form-data-post";
|
||||
|
||||
/**
|
||||
* __UNDOCUMENTED__
|
||||
*/
|
||||
public static final String SUBMIT_METHOD_URLENCODED_POST =
|
||||
"urlencoded-post";
|
||||
|
||||
/**
|
||||
* __UNDOCUMENTED__
|
||||
*
|
||||
@@ -174,7 +202,8 @@ public interface SchemaFormBuilder {
|
||||
* @throws org.chiba.tools.schemabuilder.FormBuilderException
|
||||
* If an error occurs building the XForm.
|
||||
*/
|
||||
public Document buildForm(String inputURI) throws FormBuilderException;
|
||||
public Document buildForm(final TemplateType tt)
|
||||
throws FormBuilderException;
|
||||
|
||||
/**
|
||||
* Creates a caption for the provided text extracted from the XML Schema.
|
||||
|
Reference in New Issue
Block a user