Package org.apache.xmlbeans.impl.inst2xsd

## Class RussianDollStrategy

- java.lang.Object
- - org.apache.xmlbeans.impl.inst2xsd.RussianDollStrategy

- All Implemented Interfaces:
    `XsdGenStrategy`
  Direct Known Subclasses:
    `SalamiSliceStrategy`, `VenetianBlindStrategy`

      public class RussianDollStrategy
      extends Object
      implements XsdGenStrategy

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected static class` | `RussianDollStrategy.SCTValidationContext` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RussianDollStrategy()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Element` | `addGlobalElement​(Element withElem, TypeSystemHolder typeSystemHolder, Inst2XsdOptions options)` |
    `protected void` | `checkIfAttributeReferenceIsNeeded​(Attribute attribute, String parentNamespace, TypeSystemHolder typeSystemHolder)` |
    `protected void` | `checkIfElementReferenceIsNeeded​(Element child, String parentNamespace, TypeSystemHolder typeSystemHolder, Inst2XsdOptions options)` |
    `protected void` | `checkIfReferenceToGlobalTypeIsNeeded​(Element elem, TypeSystemHolder typeSystemHolder, Inst2XsdOptions options)` |
    `protected void` | `combineAttributesOfTypes​(Type into, Type from)` |
    `protected void` | `combineElementComments​(Element into, Element with)` |
    `protected void` | `combineElementsOfTypes​(Type into, Type from, Inst2XsdOptions options)` |
    `protected void` | `combineSimpleTypes​(Type into, Type with, Inst2XsdOptions options)` |
    `protected QName` | `combineToMoreGeneralSimpleType​(QName t1, QName t2)` |
    `protected void` | `combineTypes​(Type into, Type with, Inst2XsdOptions options)` |
    `protected Attribute` | `processAttribute​(XmlCursor xc, Inst2XsdOptions options, String parentNamespace, TypeSystemHolder typeSystemHolder)` |
    `protected void` | `processAttributesInComplexType​(Type elemType, List<Attribute> attributes)` |
    `void` | `processDoc​(XmlObject[] instances, Inst2XsdOptions options, TypeSystemHolder typeSystemHolder)` |
    `protected Element` | `processElement​(XmlCursor xc, String comment, Inst2XsdOptions options, TypeSystemHolder typeSystemHolder)` |
    `protected void` | `processElementsInComplexType​(Type elemType, List<Element> children, String parentNamespace, TypeSystemHolder typeSystemHolder, Inst2XsdOptions options)` |
    `protected QName` | `processSimpleContentType​(String lexicalValue, Inst2XsdOptions options, XmlCursor xc)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RussianDollStrategy

          public RussianDollStrategy()

  - ### Method Detail

    - #### processDoc

          public void processDoc​(XmlObject[] instances,
                                 Inst2XsdOptions options,
                                 TypeSystemHolder typeSystemHolder)

      Specified by:
        `processDoc` in interface `XsdGenStrategy`

    - #### addGlobalElement

          protected Element addGlobalElement​(Element withElem,
                                             TypeSystemHolder typeSystemHolder,
                                             Inst2XsdOptions options)

    - #### processElement

          protected Element processElement​(XmlCursor xc,
                                           String comment,
                                           Inst2XsdOptions options,
                                           TypeSystemHolder typeSystemHolder)

    - #### processElementsInComplexType

          protected void processElementsInComplexType​(Type elemType,
                                                      List<Element> children,
                                                      String parentNamespace,
                                                      TypeSystemHolder typeSystemHolder,
                                                      Inst2XsdOptions options)

    - #### checkIfElementReferenceIsNeeded

          protected void checkIfElementReferenceIsNeeded​(Element child,
                                                         String parentNamespace,
                                                         TypeSystemHolder typeSystemHolder,
                                                         Inst2XsdOptions options)

    - #### checkIfReferenceToGlobalTypeIsNeeded

          protected void checkIfReferenceToGlobalTypeIsNeeded​(Element elem,
                                                              TypeSystemHolder typeSystemHolder,
                                                              Inst2XsdOptions options)

    - #### processAttributesInComplexType

          protected void processAttributesInComplexType​(Type elemType,
                                                        List<Attribute> attributes)

    - #### processAttribute

          protected Attribute processAttribute​(XmlCursor xc,
                                               Inst2XsdOptions options,
                                               String parentNamespace,
                                               TypeSystemHolder typeSystemHolder)

    - #### checkIfAttributeReferenceIsNeeded

          protected void checkIfAttributeReferenceIsNeeded​(Attribute attribute,
                                                           String parentNamespace,
                                                           TypeSystemHolder typeSystemHolder)

    - #### processSimpleContentType

          protected QName processSimpleContentType​(String lexicalValue,
                                                   Inst2XsdOptions options,
                                                   XmlCursor xc)

    - #### combineTypes

          protected void combineTypes​(Type into,
                                      Type with,
                                      Inst2XsdOptions options)

    - #### combineSimpleTypes

          protected void combineSimpleTypes​(Type into,
                                            Type with,
                                            Inst2XsdOptions options)

    - #### combineToMoreGeneralSimpleType

          protected QName combineToMoreGeneralSimpleType​(QName t1,
                                                         QName t2)

    - #### combineAttributesOfTypes

          protected void combineAttributesOfTypes​(Type into,
                                                  Type from)

    - #### combineElementsOfTypes

          protected void combineElementsOfTypes​(Type into,
                                                Type from,
                                                Inst2XsdOptions options)

    - #### combineElementComments

          protected void combineElementComments​(Element into,
                                                Element with)