Jump to: navigation, search

STP/Full logging xsd

< STP

Fully Annotated Example Policy

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  xmlns:xef="http://schemas.eclipse.org/stp/xsd/2006/05/xef"
  xmlns:xefgui="http://schemas.eclipse.org/stp/xsd/2006/05/xef/gui"
  targetNamespace="http://www.acme.com/xsd/2007/08/logging" 
  xmlns:tns="http://www.acme.com/xsd/2007/08/logging">

  <xs:complexType name="fileLoggingType">
    <xs:attribute name="filename" type="xs:string" use="required">
      <xs:annotation>
        <xs:documentation>The name of the log file to write to.</xs:documentation>
        <xs:appinfo>
          <xef:displayName>File name</xef:displayName>
        </xs:appinfo>
      </xs:annotation>      
    </xs:attribute>
    <xs:attribute name="echo" type="xs:boolean" default="false">
      <xs:annotation>
        <xs:appinfo>
          <xef:displayName>Echo to screen</xef:displayName>
        </xs:appinfo>
      </xs:annotation>      
    </xs:attribute>     
    <xs:attribute name="rolling_file" type="xs:boolean">
      <xs:annotation>
        <xs:appinfo>
          <xef:displayName>Rolling file</xef:displayName>
          <xefgui:widget>check</xefgui:widget>
        </xs:appinfo>
      </xs:annotation>      
    </xs:attribute>
    <xs:attribute name="max_size" type="xs:integer" default="50000">
      <xs:annotation>
        <xs:appinfo>
          <xef:displayName>Max file size</xef:displayName>
          <xef:units>kb.</xef:units>
        </xs:appinfo>
      </xs:annotation>            
    </xs:attribute>     
    <xs:attribute name="encryption_type">
      <xs:annotation>           
        <xs:appinfo>
          <xef:category>Encryption</xef:category>
          <xef:displayName>Encryption type</xef:displayName>
        </xs:appinfo>
      </xs:annotation>            
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="none"/>
          <xs:enumeration value="AES"/>
          <xs:enumeration value="DES"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="encryption_password" type="xs:string" use="required">
      <xs:annotation>
        <xs:appinfo>
          <xef:category>Encryption</xef:category>
          <xef:displayName>Encryption password</xef:displayName>
          <xef:filter>ReverseTextFilter</xef:filter>
          <xefgui:widget>password</xefgui:widget>
        </xs:appinfo>
      </xs:annotation>            
    </xs:attribute>
    <xs:attribute name="write_interval" type="xs:integer" default="10000">
      <xs:annotation>
        <xs:documentation>Specifies how often the file should be written to.</xs:documentation>
        <xs:appinfo>
          <xef:category>Advanced</xef:category>
          <xef:displayName>Write interval</xef:displayName>
          <xef:units>ms.</xef:units>                  
        </xs:appinfo>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="Logging">
    <xs:annotation>
      <xs:documentation>
        The Logging element defines the type of logging done by the Service.
        <p/>
        Services can log to:
        <li>Files</li>
        <li>The console</li>
        <li>The <i>Log4J</i> logging system</li>    
      </xs:documentation>
    </xs:annotation>

    <xs:complexType>    
      <xs:choice>
        <xs:element name="file" type="tns:fileLoggingType"/>
        <xs:element name="console">
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>   
</xs:schema>