von Patrick Gundlach |

Feature der Woche: Frame

Der Befehl <Frame> innerhalb von <PlaceObject> kann um ein anderes Objekt herum gelegt werden, um abgerundete Ecken und einen Rahmen zu erzeugen.

<Layout
  xmlns="urn:speedata.de:2009/publisher/en"
  xmlns:sd="urn:speedata:2009/publisher/functions/en">
  <Pageformat width="180mm" height="180mm" />

  <Record element="data">
    <PlaceObject>
      <Frame
        border-bottom-left-radius="2mm"
        border-bottom-right-radius="2mm"
        border-top-left-radius="2mm"
        border-top-right-radius="2mm"
        >
        <Image file="Kranj_19.jpg" width="10"/>
      </Frame>
    </PlaceObject>
    <PlaceObject>
      <Textblock>
        <Paragraph>
          <Value>Bild von </Value>
          <A href="https://commons.wikimedia.org/wiki/File:Kranj_19.jpg">
          <Value>Mihael Grmek</Value></A>
          <Value>. Lizenz: CC Attribution-Share Alike 3.0 Unported</Value>
        </Paragraph>
      </Textblock>
    </PlaceObject>
  </Record>
</Layout>

Wenn die Datei unter dem Dateinamen layout.xml gespeichert wird, kann mit sp --dummy (um auf die Datendatei zu verzichten) die Datei publisher.pdf erzeugt werden:

Das Ergebnis aus der layout.xml von oben.

Mit rulewidth="0pt" in <Frame> wird der Rahmen nicht gezeichnet.

Der Rahmen und die Linienstärke lassen sich auch über CSS steuern:

<Stylesheet>
  frame {
    border-bottom-left-radius: 2mm;
    border-bottom-right-radius: 2mm;
    border-top-left-radius: 2mm;
    border-top-right-radius: 2mm;
  }
</Stylesheet>

Ergibt genau dasselbe wie oben.

In der Serie »Feature der Woche« beschreibe ich jeden Montag mehr oder weniger nützliche Eigenschaften des Publishers. Kommentare gerne an mich per E-Mail oder einfach im Kommentarfeld.