Out of Memory

本ブログは更新を停止しました。Aerieをよろしくお願いいたします。

目次

Blog 利用状況

ニュース

2009年3月31日
更新を停止しました。引き続きAerieを御愛顧くださいませ。
2009年2月3日
原則としてコメント受付を停止しました。コメントはAerieまでお願いいたします。
詳細は2月3日のエントリをご覧ください。
2008年7月1日
Microsoft MVP for Developer Tools - Visual C++ を再受賞しました。
2008年2月某日
MVPアワードがVisual C++に変更になりました。
2007年10月23日
blogタイトルを変更しました。
2007年7月1日
Microsoft MVP for Windows - SDKを受賞しました!
2007年6月20日
スキル「ニュース欄ハック」を覚えた!
2006年12月14日
記念すべき初エントリ
2006年12月3日
わんくま同盟に加盟しました。

カレンダー

中の人

αετο? / aetos / あえとす

シャノン? 誰それ。

顔写真

埼玉を馬鹿にする奴は俺が許さん。

基本的に知ったかぶり。興味を持った技術に手を出して、ちょっと齧りはするものの、それを応用して何か形にするまでは及ばずに飽きて放り出す人。

書庫

日記カテゴリ

暇つぶし

恵比寿神のアレのXMLスキーマ。
fsm@initial と transit@state が state@name と一致しなければならないという制約を組み込んだりしてみたが、それナシでもDTDよりずいぶん膨れるんだなぁ。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xsd:schema
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 targetNamespace="http://episteme.wankuma.com/namespaces/smc"
 xmlns:smc="http://episteme.wankuma.com/namespaces/smc"
 elementFormDefault="qualified">
 
 <xsd:element name="fsm" type="smc:fsm">
  <xsd:key name="stateName">
   <xsd:selector xpath="smc:state"/>
   <xsd:field xpath="@name"/>
  </xsd:key>
  
  <xsd:keyref name="initialStateRef" refer="smc:stateName">
   <xsd:selector xpath="."/>
   <xsd:field xpath="@initial"/>
  </xsd:keyref>
  
  <xsd:keyref name="transitStateRef" refer="smc:stateName">
   <xsd:selector xpath="smc:state/smc:event/smc:transit"/>
   <xsd:field xpath="@state"/>
  </xsd:keyref>
 </xsd:element>
 
 <xsd:complexType name="fsm">
  <xsd:choice minOccurs="0" maxOccurs="unbounded">
   <xsd:element name="state" type="smc:state"/>
  </xsd:choice>
  <xsd:attribute name="name" type="xsd:NMTOKEN" use="required"/>
  <xsd:attribute name="initial" type="xsd:NMTOKEN" use="required"/>
 </xsd:complexType>
 
 <xsd:complexType name="state">
  <xsd:choice minOccurs="0" maxOccurs="unbounded">
   <xsd:element name="event" type="smc:event"/>
  </xsd:choice>
  <xsd:attribute name="name" type="xsd:NMTOKEN" use="required"/>
  <xsd:attribute name="entry" type="xsd:NMTOKEN"/>
  <xsd:attribute name="exit" type="xsd:NMTOKEN"/>
 </xsd:complexType>
 
 <xsd:complexType name="event">
  <xsd:choice minOccurs="0" maxOccurs="unbounded">
   <xsd:element name="execute" type="smc:execute"/>
   <xsd:element name="transit" type="smc:transit"/>
  </xsd:choice>
  <xsd:attribute name="name" type="xsd:NMTOKEN" use="required"/>
  <xsd:attribute name="guard" type="xsd:NMTOKEN"/>
 </xsd:complexType>
 
 <xsd:complexType name="execute">
  <xsd:attribute name="action" type="xsd:NMTOKEN" use="required"/>
 </xsd:complexType>
 
 <xsd:complexType name="transit">
  <xsd:attribute name="state" type="xsd:NMTOKEN" use="required"/>
  <xsd:attribute name="if" type="xsd:NMTOKEN"/>
 </xsd:complexType>
 
</xsd:schema>

投稿日時 : 2007年12月24日 15:50

Feedback

# re: 暇つぶし 2007/12/24 16:12 επιστημη

ありがとさんです。
XML-schemaに自信がねぇのでdtdでごまかしてますです。

# re: あふたけあ 2007/12/24 16:16 東方算程譚

re: あふたけあ

タイトル
名前
Url
コメント