我通過轉換遺留系統的專有數據模型來定期創建XSD模式。這工作很好。但是,遺留系統僅允許我指定參數的非常基本的屬性,例如數據類型(int
,string
等)。使用XSLT元數據驅動生成
我想通過一種機制來增強XSL轉換,該機制允許我添加元數據以提供更多轉換細節。我想到了像Java屬性符號這樣的將屬性分配給XPath的方法。
想象一下下面的例子:
遺留系統的數據模型(實際上是整齊的,但最適合於演示目的)
<datamodel>
<customer>
<firstName type="string"/>
<lastName type="string"/>
<age type="int">
<customer>
</datamodel>
元數據
customer/firstName/@nillable=false
customer/lastName/@nillable=false
customer/age/@nillable=true
customer/firstName/@minOccurs=1
customer/firstName/@maxOccurs=1
customer/lastName/@minOccurs=1
customer/lastName/@maxOccurs=1
產生XSD架構
...
<xs:complexType name="customerType">
<xs:sequence>
<xs:element name="firstName" type="xs:string" nillable="false" minOccurs="1" maxOccurs="1"/>
<xs:element name="lastName" type="xs:string" nillable="false" minOccurs="1" maxOccurs="1"/>
<xs:element name="age" type="xs:int" nillable="true"/>
</xs:sequence>
</xs:complexType>
...
您對此有何看法?有沒有辦法將元數據包含到XSL樣式表中?
1)行,是誠實的:傳統系統是不與數據模型生成代碼擺弄而不是整齊如上所述的任何機會閉源。但是,這足以用於演示目的。 2)我意識到維護方面的缺點 – poezn 2008-11-11 13:00:38