Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 51
pluginSpec
achimnol edited this page Oct 8, 2012
·
2 revisions
플러그인 스펙을 정의합니다.
아래의 xsd 스펙은 태터툴즈 1.1.3 기준의 plugin 바인더 xml 의 스펙입니다. 아래에서 xsd 파일을 내려 받을 수 있습니다.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schemaxmlns:xs="http://www.w3.org/2001/XMLSchema"elementFormDefault="qualified">
<xs:importnamespace="http://www.w3.org/XML/1998/namespace"schemaLocation="xml.xsd"/>
<xs:elementname="plugin">
<xs:complexType>
<xs:sequence>
<xs:elementname="title"minOccurs="1"maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extensionbase="xs:normalizedString">
<xs:attributeref="xml:lang"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:elementname="link"minOccurs="1"maxOccurs="1"type="xs:anyURI"/>
<xs:elementname="version"minOccurs="1"maxOccurs="1"type="xs:token"/>
<xs:elementname="description"minOccurs="1"maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extensionbase="xs:string">
<xs:attributeref="xml:lang"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:elementname="license"minOccurs="1"maxOccurs="1"type="xs:normalizedString"/>
<xs:elementname="author"minOccurs="1"maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extensionbase="xs:normalizedString">
<xs:attributeref="xml:lang"/>
<xs:attributename="link"use="required"type="xs:anyURI"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:elementname="safety"minOccurs="1"maxOccurs="1">
<xs:complexType>
<xs:attributename="accessLocal"use="required"type="yesno"/>
<xs:attributename="accessRaw"use="required"type="yesno"/>
<xs:attributename="accessRemote"use="required"type="yesno"/>
<xs:attributename="changeData"use="required"type="yesno"/>
<xs:attributename="exposeData"use="required"type="yesno"/>
</xs:complexType>
</xs:element>
<xs:elementname="requirements"minOccurs="1"maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:elementname="tattertools"minOccurs="1"maxOccurs="1"type="xs:token"/>
<xs:elementname="textcube"minOccurs="0"maxOccurs="1"type="xs:token"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:elementname="storage"minOccurs="0"maxOccurs="1"type="storage"/>
<xs:elementname="binding"minOccurs="0"maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:elementname="listener"type="listener"minOccurs="0"maxOccurs="unbounded"/>
<xs:elementname="tag"type="tag"minOccurs="0"maxOccurs="unbounded"/>
<xs:elementname="sidebar"type="sidebar"minOccurs="0"maxOccurs="unbounded"/>
<xs:elementname="center"type="center"minOccurs="0"maxOccurs="unbounded"/>
<xs:elementname="adminMenu"type="adminMenu"minOccurs="0"maxOccurs="unbounded"/>
<xs:elementname="config"type="config"minOccurs="0"maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attributename="version"use="required"type="xs:decimal"/>
</xs:complexType>
</xs:element>
<xs:complexTypename="storage">
<xs:sequence>
<xs:elementname="table"minOccurs="1"maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:elementname="name"minOccurs="1"maxOccurs="1"type="xs:token"/>
<xs:elementname="fields"minOccurs="1"maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:elementname="field"minOccurs="1"maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:elementname="name"minOccurs="1"maxOccurs="1"type="xs:token"/>
<xs:elementname="attributes"minOccurs="1"maxOccurs="1"type="xs:token"/>
<xs:elementname="length"minOccurs="0"maxOccurs="1"type="xs:unsignedInt"/>
<xs:elementname="isnull"minOccurs="0"maxOccurs="1"type="xs:boolean"/>
<xs:elementname="default"minOccurs="0"maxOccurs="1"type="xs:string"/>
<xs:elementname="autoincrement"minOccurs="0"maxOccurs="1"type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:elementname="key"minOccurs="0"maxOccurs="unbounded"type="xs:token"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexTypename="tag">
<xs:attributename="name"use="required"type="xs:token"/>
<xs:attributename="handler"use="required"type="functionName"/>
</xs:complexType>
<xs:complexTypename="sidebar">
<xs:sequence>
<xs:elementname="params">
<xs:complexType>
<xs:sequence>
<xs:elementname="param">
<xs:complexType>
<xs:sequence>
<xs:elementname="name"minOccurs="1"maxOccurs="1"type="xs:token"/>
<xs:elementname="type"minOccurs="1"maxOccurs="1"type="paramType"/>
<xs:elementname="title"minOccurs="1"maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extensionbase="xs:normalizedString">
<xs:attributeref="xml:lang"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attributename="title"use="required"type="xs:token"/>
<xs:attributename="handler"use="required"type="functionName"/>
</xs:complexType>
<xs:complexTypename="listener">
<xs:simpleContent>
<xs:extensionbase="functionName">
<xs:attributename="event"use="required"type="xs:token"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexTypename="center">
</xs:complexType>
<xs:complexTypename="adminMenu">
<xs:sequence>
<xs:elementname="viewMethods">
<xs:complexType>
<xs:sequence>
<xs:elementname="method">
<xs:complexType>
<xs:sequence>
<xs:elementname="title"minOccurs="1"maxOccurs="unbounded"type="xs:token"/>
<xs:elementname="position"type="xs:token"/>
<xs:elementname="helpurl"type="xs:anyURI"/>
<xs:elementname="handler"minOccurs="1"maxOccurs="1"type="functionName"/>
<xs:elementname="params">
<xs:complexType>
<xs:sequence>
<xs:elementmaxOccurs="unbounded"name="param">
<xs:complexType>
<xs:sequence>
<xs:elementname="name"minOccurs="1"maxOccurs="1"type="xs:token"/>
<xs:elementname="type"minOccurs="1"maxOccurs="1"type="parameterType"/>
<xs:choiceminOccurs="0"maxOccurs="1">
<xs:elementname="default"type="xs:string"/>
<xs:elementname="mandatory"type="boolean"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexTypename="config">
<xs:sequence>
<xs:elementname="fieldset"minOccurs="0"maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:elementname="field"minOccurs="0"maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:elementname="op"minOccurs="0"maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extensionbase="xs:string">
<xs:attributename="name"use="required"type="xs:token"/>
<xs:attributename="value"type="xs:string"/>
<xs:attributename="checked"type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:elementname="caption"minOccurs="0"maxOccurs="1"type="xs:string"/>
</xs:sequence>
<xs:attributename="title"use="required"type="xs:normalizedString"/>
<xs:attributename="name"use="required"type="xs:token"/>
<xs:attributename="type"use="required"type="fieldType"/>
<xs:attributename="value"type="xs:string"/>
<xs:attributename="titledirection"type="fieldTitleDirection"/>
<xs:attributename="size"type="xs:unsignedInt"/>
<xs:attributename="rows"type="xs:unsignedInt"/>
<xs:attributename="cols"type="xs:unsignedInt"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attributename="legend"type="xs:normalizedString"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attributename="dataValHandler"type="functionName"/>
<xs:attributename="manifestHandler"type="functionName"/>
</xs:complexType>
<xs:simpleTypename="yesno">
<xs:restrictionbase="xs:string">
<xs:patternvalue="yes|no"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleTypename="boolean">
<xs:restrictionbase="xs:integer">
<xs:minInclusivevalue="0"/>
<xs:maxInclusivevalue="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleTypename="functionName">
<xs:restrictionbase="xs:NMTOKEN"/>
</xs:simpleType>
<xs:simpleTypename="paramType">
<xs:restrictionbase="xs:token">
<xs:enumerationvalue="string"/>
<xs:enumerationvalue="int"/>
<xs:enumerationvalue="textarea"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleTypename="parameterType">
<xs:restrictionbase="xs:token">
<xs:enumerationvalue="any"/>
<xs:enumerationvalue="bool"/>
<xs:enumerationvalue="number"/>
<xs:enumerationvalue="int"/>
<xs:enumerationvalue="id"/>
<xs:enumerationvalue="url"/>
<xs:enumerationvalue="string"/>
<xs:enumerationvalue="list"/>
<xs:enumerationvalue="timestamp"/>
<xs:enumerationvalue="period"/>
<xs:enumerationvalue="ip"/>
<xs:enumerationvalue="domain"/>
<xs:enumerationvalue="email"/>
<xs:enumerationvalue="language"/>
<xs:enumerationvalue="filename"/>
<xs:enumerationvalue="directory"/>
<xs:enumerationvalue="path"/>
<xs:enumerationvalue="file"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleTypename="fieldType">
<xs:restrictionbase="xs:string">
<xs:enumerationvalue="text"/>
<xs:enumerationvalue="textarea"/>
<xs:enumerationvalue="select"/>
<xs:enumerationvalue="checkbox"/>
<xs:enumerationvalue="radio"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleTypename="fieldTitleDirection">
<xs:restrictionbase="xs:string">
<xs:enumerationvalue="bk"/>
<xs:enumerationvalue=""/>
</xs:restriction>
</xs:simpleType>
</xs:schema>- Source | Wiki Front | Main | Notice