機能dtdParseはありません。
dtdparseは、SGML :: DTDParseモジュールに付属するプログラムです。
xmlをdtdファイルからダンプするために使用できます。 あなたはdtdparse使用することができますどのように簡単な例:
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT DatabaseInventory (DatabaseName+)>
<!ELEMENT DatabaseName ( GlobalDatabaseName
, OracleSID
, DatabaseDomain
, Administrator+
, DatabaseAttributes
, Comments)
>
<!ELEMENT GlobalDatabaseName (#PCDATA)>
<!ELEMENT OracleSID (#PCDATA)>
<!ELEMENT DatabaseDomain (#PCDATA)>
<!ELEMENT Administrator (#PCDATA)>
<!ELEMENT DatabaseAttributes EMPTY>
<!ELEMENT Comments (#PCDATA)>
<!ATTLIST Administrator EmailAlias CDATA #REQUIRED>
<!ATTLIST Administrator Extension CDATA #IMPLIED>
<!ATTLIST DatabaseAttributes Type (Production|Development|Testing) #REQUIRED>
<!ATTLIST DatabaseAttributes Version (7|8|8i|9i) "9i">
<!ENTITY AUTHOR "Jeffrey Hunter">
<!ENTITY WEB "www.iDevelopment.info">
<!ENTITY EMAIL "[email protected]">
出力のようなものだろうどの:
$VAR1 = {
'namecase-entity' => '0',
'created-by' => 'DTDParse V2.00',
'public-id' => '',
'version' => '1.0',
'attlist' => {
'DatabaseAttributes' => {
'attribute' => {
'Type' => {
'value' => 'Production Development Testing',
'type' => '#REQUIRED',
'default' => '',
'enumeration' => 'yes'
},
'Version' => {
'value' => '7 8 8i 9i',
'type' => '',
'default' => '9i',
'enumeration' => 'yes'
}
},
'attdecl' => ' Type (Production|Development|Testing) #REQUIRED'
},
'Administrator' => {
'attribute' => {
'EmailAlias' => {
'value' => 'CDATA',
'type' => '#REQUIRED',
'default' => ''
},
'Extension' => {
'value' => 'CDATA',
'type' => '#IMPLIED',
'default' => ''
}
},
'attdecl' => ' EmailAlias CDATA #REQUIRED'
}
},
'element' => {
'OracleSID' => {
'content-type' => 'mixed',
'content-model-expanded' => {
'sequence-group' => {
'pcdata' => {}
}
},
'content-model' => {
'sequence-group' => {
'pcdata' => {}
}
}
},
'Comments' => {
'content-type' => 'mixed',
'content-model-expanded' => {
'sequence-group' => {
'pcdata' => {}
}
},
'content-model' => {
'sequence-group' => {
'pcdata' => {}
}
}
},
'DatabaseAttributes' => {
'content-type' => 'element',
'content-model-expanded' => {
'empty' => {}
},
'content-model' => {
'empty' => {}
}
},
'GlobalDatabaseName' => {
'content-type' => 'mixed',
'content-model-expanded' => {
'sequence-group' => {
'pcdata' => {}
}
},
'content-model' => {
'sequence-group' => {
'pcdata' => {}
}
}
},
'Administrator' => {
'content-type' => 'mixed',
'content-model-expanded' => {
'sequence-group' => {
'pcdata' => {}
}
},
'content-model' => {
'sequence-group' => {
'pcdata' => {}
}
}
},
'DatabaseInventory' => {
'content-type' => 'element',
'content-model-expanded' => {
'sequence-group' => {
'element-name' => {
'occurrence' => '+',
'name' => 'DatabaseName'
}
}
},
'content-model' => {
'sequence-group' => {
'element-name' => {
'occurrence' => '+',
'name' => 'DatabaseName'
}
}
}
},
'DatabaseDomain' => {
'content-type' => 'mixed',
'content-model-expanded' => {
'sequence-group' => {
'pcdata' => {}
}
},
'content-model' => {
'sequence-group' => {
'pcdata' => {}
}
}
},
'DatabaseName' => {
'content-type' => 'element',
'content-model-expanded' => {
'sequence-group' => {
'element-name' => {
'Comments' => {},
'OracleSID' => {},
'DatabaseAttributes' => {},
'DatabaseDomain' => {},
'GlobalDatabaseName' => {},
'Administrator' => {
'occurrence' => '+'
}
}
}
},
'content-model' => {
'sequence-group' => {
'element-name' => {
'Comments' => {},
'OracleSID' => {},
'DatabaseAttributes' => {},
'DatabaseDomain' => {},
'GlobalDatabaseName' => {},
'Administrator' => {
'occurrence' => '+'
}
}
}
}
}
},
'entity' => {
'WEB' => {
'text-expanded' => 'www.iDevelopment.info',
'text' => 'www.iDevelopment.info',
'type' => 'gen'
},
'AUTHOR' => {
'text-expanded' => 'Jeffrey Hunter',
'text' => 'Jeffrey Hunter',
'type' => 'gen'
},
'EMAIL' => {
'text-expanded' => '[email protected]',
'text' => '[email protected]',
'type' => 'gen'
}
},
'system-id' => 'test.dtd',
'unexpanded' => '1',
'created-on' => 'Tue Feb 28 00:44:52 2012',
'declaration' => '',
'xml' => '0',
'title' => '?untitled?',
'namecase-general' => '1'
};
ここでdtdparseの使い方がわかりません。私はどこに宣言されているか分かりませんし、このエラーが発生します。「コードをステップ実行すると、「 'dtdparse'は内部または外部のコマンド、実行可能なプログラムまたはバッチファイルとして認識されません。 –
それから、 '$ PATH'に' dtdparse'のディレクトリを追加していません。 – reinierpost
本当にDTDを解析しようとしているのでなければ、とにかくそれを使いたくないでしょう。 – reinierpost