1
package com.thaiopensource.relaxng.output.dtd;
3
import com.thaiopensource.relaxng.edit.ElementPattern;
4
import com.thaiopensource.relaxng.edit.NameClass;
5
import com.thaiopensource.relaxng.edit.NameNameClass;
7
import java.util.HashMap;
11
private final Map<ElementPattern, Object> elementToAttlistMap = new HashMap<ElementPattern, Object>();
12
private final Map<String, Object> paramEntityToElementMap = new HashMap<String, Object>();
14
void noteAttribute(ElementPattern e) {
15
elementToAttlistMap.put(e, Boolean.FALSE);
18
void noteAttributeGroupRef(ElementPattern e, String paramEntityName) {
20
if (elementToAttlistMap.get(e) != null)
21
elementToAttlistMap.put(e, Boolean.FALSE);
23
elementToAttlistMap.put(e, paramEntityName);
25
if (e == null || paramEntityToElementMap.get(paramEntityName) != null)
26
paramEntityToElementMap.put(paramEntityName, Boolean.FALSE);
28
paramEntityToElementMap.put(paramEntityName, e);
31
NameNameClass getParamEntityElementName(String name) {
32
Object elem = paramEntityToElementMap.get(name);
33
if (elem == null || elem == Boolean.FALSE)
35
Object tem = elementToAttlistMap.get(elem);
36
if (!name.equals(tem))
38
NameClass nc = ((ElementPattern)elem).getNameClass();
39
if (!(nc instanceof NameNameClass))
41
return (NameNameClass)nc;