<!-- Placeholder for SSML -->
<!ELEMENT speak ANY>
<!ATTLIST speak
    version CDATA #REQUIRED
    xml:lang CDATA #IMPLIED
    xmlns CDATA #IMPLIED
    xmlns:xsi CDATA #IMPLIED
    xsi:schemaLocation CDATA #IMPLIED
    xml:base CDATA #IMPLIED
    onlangfailure CDATA #IMPLIED
    startmark CDATA #IMPLIED
    endmark CDATA #IMPLIED
>

<!-- Control prefixing - can be 'switched off' in internal subset -->
<!ENTITY % Conf.prefixed "INCLUDE" >

<!-- Declare the actual namespace -->
<!ENTITY % Conf.xmlns "http://www.w3.org/2002/ssml-conformance" >

<!-- Declare the prefix -->
<!ENTITY % Conf.prefix "conf" >

<![%Conf.prefixed;[
<!ENTITY % Conf.pfx "%Conf.prefix;:" >
]]>
<!ENTITY % Conf.pfx "" >

<![%Conf.prefixed;[
<!ENTITY % Conf.xmlns.attrib
    "xmlns:%Conf.prefix; CDATA #FIXED '%Conf.xmlns;'"
>
]]>
<!ENTITY % Conf.xmlns.attrib
     "xmlns CDATA  #FIXED '%Conf.xmlns;'"
>

<!-- Qualified names -->
<!ENTITY % Conf.test.qname "%Conf.pfx;test" >
<!ENTITY % Conf.instruction.qname "%Conf.pfx;instruction" >
<!ENTITY % Conf.reference_markup.qname "%Conf.pfx;reference_markup" >
<!ENTITY % Conf.test_markup.qname "%Conf.pfx;test_markup" >

<!-- Define the content model -->
<!ELEMENT %Conf.test.qname;
    (%Conf.instruction.qname;,
    (%Conf.reference_markup.qname;)?,
    %Conf.test_markup.qname;) >

<!ATTLIST %Conf.test.qname; %Conf.xmlns.attrib; >

<!ELEMENT %Conf.instruction.qname; (#PCDATA) >

<!ELEMENT %Conf.reference_markup.qname; (speak)? >

<!ELEMENT %Conf.test_markup.qname; (speak) >
