XmlThemeBuilder: fix checkElement

This commit is contained in:
Emux 2018-10-10 21:09:38 +03:00
parent 61318bff8a
commit 9524c9d74d
No known key found for this signature in database
GPG Key ID: 64ED9980896038C3

View File

@ -81,7 +81,7 @@ public class XmlThemeBuilder extends DefaultHandler {
private static final int RENDER_THEME_VERSION_VTM = 1;
private enum Element {
RENDER_THEME, RENDERING_INSTRUCTION, RULE, STYLE, ATLAS, RENDERING_STYLE
RENDER_THEME, RENDERING_INSTRUCTION, RULE, STYLE, ATLAS, RENDERING_STYLE, TAG_TRANSFORM
}
private static final String ELEMENT_NAME_RENDER_THEME = "rendertheme";
@ -375,7 +375,7 @@ public class XmlThemeBuilder extends DefaultHandler {
getStringAttribute(attributes, "defaultlang"), getStringAttribute(attributes, "defaultvalue"));
} else if ("tag-transform".equals(localName)) {
checkState(qName, Element.RENDERING_STYLE);
checkState(qName, Element.TAG_TRANSFORM);
tagTransform(localName, attributes);
} else {
@ -870,14 +870,23 @@ public class XmlThemeBuilder extends DefaultHandler {
case ATLAS:
parentElement = mElementStack.peek();
// FIXME
if (parentElement != Element.RENDER_THEME
&& parentElement != Element.ATLAS) {
if (parentElement != Element.RENDER_THEME) {
throw new SAXException(UNEXPECTED_ELEMENT + elementName);
}
return;
case RENDERING_STYLE:
parentElement = mElementStack.peek();
if (parentElement != Element.RENDER_THEME) {
throw new SAXException(UNEXPECTED_ELEMENT + elementName);
}
return;
case TAG_TRANSFORM:
parentElement = mElementStack.peek();
if (parentElement != Element.RENDER_THEME) {
throw new SAXException(UNEXPECTED_ELEMENT + elementName);
}
return;
}