55 * Set of binding nodes that have target nodes specified via SCD. 56 * 57 * This is parsed during {@link Internalizer} works on the tree, 58 * but applying this has to wait for {@link XSSchemaSet} to be parsed. 59 * 60 * @author Kohsuke Kawaguchi 61 * @see SCD 62 */ 63 public final class SCDBasedBindingSet { 64 65 /** 66 * Represents the target schema component of the 67 * customization identified by SCD. 68 * 69 * @author Kohsuke Kawaguchi 70 */ 71 final class Target { 72 /** 73 * SCDs can be specified via multiple steps, like: 74 * 75 * <xmp> 76 * <bindings scd="foo/bar"> 77 * <bindings scd="zot/xyz"> 78 * </xmp> 79 * 80 * This field and {@link #nextSibling} form a single-linked list that 81 * represent the children that shall be evaluated within this target. 82 * Think of it as {@code List<Target>}. 83 */ 84 private Target firstChild; 85 private final Target nextSibling; 86 87 /** 88 * Compiled SCD. 89 */ 90 private final @NotNull SCD scd; 91 92 /** 93 * The element on which SCD was found. 94 */ 95 private final @NotNull Element src; 96 97 /** 98 * Bindings that apply to this SCD. | 55 * Set of binding nodes that have target nodes specified via SCD. 56 * 57 * This is parsed during {@link Internalizer} works on the tree, 58 * but applying this has to wait for {@link XSSchemaSet} to be parsed. 59 * 60 * @author Kohsuke Kawaguchi 61 * @see SCD 62 */ 63 public final class SCDBasedBindingSet { 64 65 /** 66 * Represents the target schema component of the 67 * customization identified by SCD. 68 * 69 * @author Kohsuke Kawaguchi 70 */ 71 final class Target { 72 /** 73 * SCDs can be specified via multiple steps, like: 74 * 75 * <pre>{@code 76 * <bindings scd="foo/bar"> 77 * <bindings scd="zot/xyz"> 78 * }</pre> 79 * 80 * This field and {@link #nextSibling} form a single-linked list that 81 * represent the children that shall be evaluated within this target. 82 * Think of it as {@code List<Target>}. 83 */ 84 private Target firstChild; 85 private final Target nextSibling; 86 87 /** 88 * Compiled SCD. 89 */ 90 private final @NotNull SCD scd; 91 92 /** 93 * The element on which SCD was found. 94 */ 95 private final @NotNull Element src; 96 97 /** 98 * Bindings that apply to this SCD. |