Více akcí

  • v jednom pravidle je možné uvést více akcí najednou, provádějí se pak paralelně

Příklad 9. Dvě akce najednou

<rules xmlns="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" startMode="xhtml">
  <mode name="xhtml">
    <namespace ns="http://www.w3.org/1999/xhtml">
      <validate schema="xhtml.xsd"
                useMode="svg"/>      
    </namespace>
  </mode>
  <mode name="svg">
    <namespace ns="http://www.w3.org/1999/xhtml">
      <attach/>
    </namespace>
    <namespace ns="http://www.w3.org/2000/svg">
      <unwrap/>
      <validate schema="svg.rng" useMode="xhtml"/>
    </namespace>
  </mode>
</rules>

  • chování je stejné jako v předchozím případě

  • navíc se však vůči svému schématu validují i sekce SVG

Příklad 10. SVG sekce se pomocí unwrap odfiltrují a zároveň pošlou k validaci, XHTML sekce se pomocí attach navzájem napojí a výsledné fragmenty se validuje

Fragment 1 --> xhtml.xsd:
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:svg="http://www.w3.org/2000/svg">
  <head>
    <title>Ukázka SVG obrázku</title>
  </head>
  <body>
    <h1>Vektorový obrázek v SVG</h1>
    <p>ahoj</p>  <!-- Připojená XHTML sekce -->
  </body>
</html>

Fragment 2 --> svg.rng:
<svg:svg width="4in" height="3in">
  <svg:desc>This is a yellow circle with a red outline</svg:desc>
  <svg:g>
    <svg:circle style="fill: yellow; stroke: red" cx="200" cy="200" r="150"/>
    <svg:text x="80" y="200"
      style="font-size: 36px; font-family: Verdana; color: red; fill: red"
      >Dobrou chuť</svg:text>
  </svg:g>
</svg:svg>