//create <Datasets> = root node\r
ElementImpl baselement = new ElementImpl(document, DATASETS);\r
if (natlang) {\r
- buildNaturalLanguageDescription(baselement);\r
+ buildIdentificationKey(baselement);\r
}\r
else {\r
baselement.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");\r
for (TaxonDescription td : taxon.getDescriptions()){\r
descriptions.add(td);\r
for(DescriptionElementBase deb : td.getElements()){\r
- if (deb.isInstanceOf(CategoricalData.class)){\r
- CategoricalData catdat = (CategoricalData)deb;\r
- Feature feat = catdat.getFeature();\r
+// if (deb.isInstanceOf(CategoricalData.class)){\r
+ //CategoricalData catdat = (CategoricalData)deb;\r
+ Feature feat = deb.getFeature();\r
if (feat!=null && feat.getLabel()!=null && !featureList.contains(feat)){\r
- featureList.add(catdat.getFeature());\r
+ featureList.add(feat);\r
}\r
- }\r
+// }\r
}\r
}\r
}\r
charnodeCount = buildReference(parent, featuretrees, ID, elCharNode, "cn", charnodeCount);\r
ElementImpl elCharacter = new ElementImpl(document, CHARACTER);\r
Feature fref = parent.getFeature();\r
+ boolean dependencies = false;\r
+ ElementImpl elDependecyRules = new ElementImpl(document, "DependecyRules");\r
+ if (parent.getInapplicableIf()!=null){\r
+ Set<State> innaplicableIf = parent.getInapplicableIf();\r
+ ElementImpl elInnaplicableIf = new ElementImpl(document, "InapplicableIf");\r
+ for (State state : innaplicableIf) {\r
+ ElementImpl elState = new ElementImpl(document, STATE);\r
+ buildReference(state, states, REF, elState, "State", statesCount);\r
+ elInnaplicableIf.appendChild(elState);\r
+ }\r
+ elDependecyRules.appendChild(elInnaplicableIf);\r
+ dependencies = true;\r
+ }\r
+ if (parent.getOnlyApplicableIf()!=null){\r
+ Set<State> onlyApplicableIf = parent.getOnlyApplicableIf();\r
+ ElementImpl elOnlyApplicableIf = new ElementImpl(document, "OnlyApplicableIf");\r
+ for (State state : onlyApplicableIf) {\r
+ ElementImpl elState = new ElementImpl(document, STATE);\r
+ buildReference(state, states, REF, elState, "State", statesCount);\r
+ elOnlyApplicableIf.appendChild(elState);\r
+ }\r
+ elDependecyRules.appendChild(elOnlyApplicableIf);\r
+ dependencies = true;\r
+ }\r
+ if (dependencies == true) elCharNode.appendChild(elDependecyRules);\r
charactersCount = buildReference(fref, characters, REF, elCharacter, "c", charactersCount);\r
elCharNode.appendChild(elCharacter);\r
elCharNode.appendChild(elParent);\r