0
XSLT新手的問題,所以請裸跟我說:XSL Transormation爲IEEE LOM XML具有重複的命名空間
我試圖用LOM的內聯重複命名空間聲明來轉換XML文檔。該文件包含以下內容:
<metadata>
<schema>http://ltsc.ieee.org/xsd/LOM/imslode/ilox/any/rights</schema>
<lom xmlns="http://ltsc.ieee.org/xsd/LOM/imslode/ilox/any/rights" xsi:schemaLocation="http://ltsc.ieee.org/xsd/LOM/imslode/ilox/any/rights http://www.imsglobal.org/profile/lode/lodev1p0/lodev1p0_ilox_any_rights_lom_v1p0.xsd">
<rights>
<cost>
<source>costValues</source>
<value>no</value>
</cost>
<copyrightAndOtherRestrictions>
<source>copyrightAndOtherRestrictionsValues</source>
<value>yes</value>
</copyrightAndOtherRestrictions>
<description>
<string language="x-t-cc-url">Licence text goes gere</string>
</description>
</rights>
</lom>
</metadata>
<metadata>
<schema>http://ltsc.ieee.org/xsd/LOM</schema>
<lom xmlns="http://ltsc.ieee.org/xsd/LOM" xsi:schemaLocation="http://ltsc.ieee.org/xsd/LOM http://ltsc.ieee.org/xsd/lomv1.0/lomLoose.xsd">
<general>
<title>
<string language="es">Title goes here</string>
</title>
<description>
<string language="es">Description goes here</string>
</description>
<keyword>
<string language="en">a_nice_keyword</string>
</keyword>
</general>
</lom>
</metadata>
我們看到lom被定義了兩次。
在我的XSLT文件,我當我使用以下命名空間聲明:
xmlns:lom="http://ltsc.ieee.org/xsd/LOM/imslode/ilox/any/rights"
我設法解析使用標識第一部分的內容如下,例如
lom:rights/lom:cost/lom:value
,並同樣適用於當我用下面的命名空間聲明
xmlns:lom="http://ltsc.ieee.org/xsd/LOM"
使用標識符,如第二種情況:
lom:general/lom:description/lom:string
我似乎不能夠解析/一次轉換。
有沒有辦法解決這個問題?
絕對是正確的方法,但我認爲'lom'和'lomRights'具有更多有意義的前綴(畢竟,通過非後綴名稱調用具有更多專用的名稱空間有點令人誤解)。也許'lom'和'lomR',如果簡潔是更重要的。 –