It depends on what you want to accomplish semantically. Often, thinking in terms of the application domain - rather than completely opaque As Bs and Cs - clarifies requirements. Here, one can only guess at the real pattern to be captured. For instance, this would answer your question, but would it address what you really need?
<!ELEMENT A (B+)>
<!ELEMENT B (C,D+)+>
<!ELEMENT C (#PCDATA)>
<!ELEMENT D (#PCDATA)>