Dear XXE list,

I'm stuck when trying to build an editor button for an attribute *which
is part of a group* (of an attribute and an element).

I explain myself:

I want to have a cascading XML like this:

<location>
  <locationclass coverage="Europe">
    <country name="Germany">
      <city name="Berlin"/>
    </country>
  </locationclass>
</location>

I've built an RNG schema like this:

<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes";
xmlns="http://relaxng.org/ns/structure/1.0";>
  <define name="locationclass-italy">
    <element name="locationclass">
      <attribute name="coverage">
        <value type="token">Europe</value>
      </attribute>
      <element name="country">
        <choice>
          <group>
            <attribute name="name">
              <value type="token">France</value>
            </attribute>
          </group>
          <group>
            <attribute name="name">
              <value type="token">Germany</value>
            </attribute>
            <optional>
              <element name="city">
                <choice>
                  <group>
                    <attribute name="name">
                      <value type="token">Berlin</value>
                    </attribute>
                  </group>
                  <group>
                    <attribute name="name">
                      <value type="token">Frankfurt</value>
                    </attribute>
                  </group>
                </choice>
              </element>
            </optional>
          </group>
          <group>
            <attribute name="name">
              <value type="token">Italy</value>
            </attribute>
          </group>
        </choice>
      </element>
    </element>
  </define>
</grammar>

Text editors cope with this structure quite well, but XXE refuses to let
me edit the NAME value of the attribute - obviously because it is not a
simple enumeration but inside a grouped structure.

The CSS I'm using for XXE is:

country, city
{ display: inline; }

country:before, city:before
{ display: marker; content: combo-box(attribute, name); }

Any help for overcoming the XXE problem (or any other work around) would
be welcome!

-- 
klaus e. werner <kewerner.lists at fastmail.fm>


Reply via email to