XML ドキュメントをロードする ASP.NET (VB) ユーザー コントロールがあります。このドキュメントは、2 つの可能なルート ノード名のいずれかを持つことができます。.NET を介して xml ファイルの先頭に追加する必要がある 3 つの xsl ファイルがあります。xsl 参照を追加することは問題ではありませんが、追加する xsl ファイルを決定する際に問題が発生しています。
XML ドキュメントをロードした後、最初に決定する必要があるのは、ルート ノードとは何かということです。どちらでもかまいません
<Document xmlns="urn:hl7-org:v3">
<templateId root="usetemplate_1" />
また
<Document xmlns="urn:hl7-org:v3">
<templateId root="usetemplate_2" />
また
<Record xmlns="urn:astm-org:REC">
<objectId>useobjectid</objectId>
最初の 2 つの名前空間には 1 つの名前空間があり、3 つ目の名前空間には別の名前空間があることに注意してください (私の頭の中でそれを調整する方法もまだわかりません)。
これらの各オプションには、参照される異なる xsl ファイルがあります。私が言ったように、私は再利用できる別の場所に同様のコードを持っています。参照する正しいファイルを決定するだけの問題です。私はこれまでのところこれを持っています:
Dim m_xmld As XmlDocument
Dim m_nodelist As XmlNodeList
Dim m_node As XmlNode
m_xmld = New XmlDocument
m_xmld.Load(Me.XMLFileName)
Dim nsmgr As New XmlNamespaceManager(m_xmld.NameTable)
nsmgr.AddNamespace("x", "urn:hl7-org:v3")
m_nodelist = m_xmld.SelectNodes("x:Document/", nsmgr)
For Each m_node In m_nodelist
Next
上記のオプションからどれを選択するか、またはそれが必要であり、別の方法でより効率的に実行できるかどうかを判断するために、 for each/next 行の間に何を配置するかについて、私は途方に暮れています。