39 import com.sun.xml.internal.xsom.XSModelGroupDecl; |
39 import com.sun.xml.internal.xsom.XSModelGroupDecl; |
40 import com.sun.xml.internal.xsom.XSParticle; |
40 import com.sun.xml.internal.xsom.XSParticle; |
41 import com.sun.xml.internal.xsom.XSType; |
41 import com.sun.xml.internal.xsom.XSType; |
42 import com.sun.xml.internal.xsom.XSWildcard; |
42 import com.sun.xml.internal.xsom.XSWildcard; |
43 import com.sun.xml.internal.xsom.visitor.XSTermFunction; |
43 import com.sun.xml.internal.xsom.visitor.XSTermFunction; |
|
44 import javax.xml.namespace.QName; |
44 |
45 |
45 import com.sun.xml.internal.rngom.nc.ChoiceNameClass; |
46 import com.sun.xml.internal.rngom.nc.ChoiceNameClass; |
46 import com.sun.xml.internal.rngom.nc.NameClass; |
47 import com.sun.xml.internal.rngom.nc.NameClass; |
47 import com.sun.xml.internal.rngom.nc.SimpleNameClass; |
48 import com.sun.xml.internal.rngom.nc.SimpleNameClass; |
48 |
49 |
63 |
64 |
64 /** |
65 /** |
65 * Computes a name class that represents everything in a given content model. |
66 * Computes a name class that represents everything in a given content model. |
66 */ |
67 */ |
67 protected final XSTermFunction<NameClass> contentModelNameClassBuilder = new XSTermFunction<NameClass>() { |
68 protected final XSTermFunction<NameClass> contentModelNameClassBuilder = new XSTermFunction<NameClass>() { |
|
69 @Override |
68 public NameClass wildcard(XSWildcard wc) { |
70 public NameClass wildcard(XSWildcard wc) { |
69 return WildcardNameClassBuilder.build(wc); |
71 return WildcardNameClassBuilder.build(wc); |
70 } |
72 } |
71 |
73 |
|
74 @Override |
72 public NameClass modelGroupDecl(XSModelGroupDecl decl) { |
75 public NameClass modelGroupDecl(XSModelGroupDecl decl) { |
73 return modelGroup(decl.getModelGroup()); |
76 return modelGroup(decl.getModelGroup()); |
74 } |
77 } |
75 |
78 |
|
79 @Override |
76 public NameClass modelGroup(XSModelGroup group) { |
80 public NameClass modelGroup(XSModelGroup group) { |
77 NameClass nc = NameClass.NULL; |
81 NameClass nc = NameClass.NULL; |
78 for( int i=0; i<group.getSize(); i++ ) |
82 for( int i=0; i<group.getSize(); i++ ) |
79 nc = new ChoiceNameClass(nc, group.getChild(i).getTerm().apply(this)); |
83 nc = new ChoiceNameClass(nc, group.getChild(i).getTerm().apply(this)); |
80 return nc; |
84 return nc; |