*
* @generated modifiable
*/
public Object parse(ElementInstance instance, Node node, Object value)
throws Exception {
GetFeatureType getFeature = wfsfactory.createGetFeatureType();
//lt;xsd:element maxOccurs="unbounded" ref="wfs:Query"/>
getFeature.getQuery().addAll(node.getChildValues(QueryType.class));
//<xsd:attribute default="results" name="resultType"
// type="wfs:ResultTypeType" use="optional">
if (node.hasAttribute("resultType")) {
getFeature.setResultType((ResultTypeType) node.getAttributeValue("resultType"));
}
//<xsd:attribute default="text/xml; subtype=gml/3.1.1"
// name="outputFormat" type="xsd:string" use="optional">
if (node.hasAttribute("outputFormat")) {
getFeature.setOutputFormat((String) node.getAttributeValue("outputFormat"));
}
//<xsd:attribute name="maxFeatures" type="xsd:positiveInteger" use="optional">
if (node.hasAttribute("maxFeatures")) {
getFeature.setMaxFeatures((BigInteger) node.getAttributeValue("maxFeatures"));
}
//support startIndex from wfs 2.0
if (node.hasAttribute("startIndex")) {
//since this is not going to be defined as a type in the schema we have to manually
// convert it since the parser won't parse it into the correct type for us
getFeature.setStartIndex(
Converters.convert(node.getAttributeValue("startIndex"), BigInteger.class));
}
//<xsd:attribute name="traverseXlinkDepth" type="xsd:string" use="optional">
if (node.hasAttribute("traverseXlinkDepth")) {
getFeature.setTraverseXlinkDepth((String) node.getAttributeValue("traverseXlinkDepth"));
}
//<xsd:attribute name="traverseXlinkExpiry"
// type="xsd:positiveInteger" use="optional">
if (node.hasAttribute("traverseXlinkExpiry")) {
getFeature.setTraverseXlinkExpiry((BigInteger) node.getAttributeValue(
"traverseXlinkExpiry"));
}
// viewParams
SqlViewParamsExtractor.viewParams(getFeature, node);