2011-07-25 7 views
1

私はいくつかの子ノードを繰り返します。 f1とf2が#PCDATAを使用するように内部DTD名前空間を作成するにはどうすればよいですか?dtd#xmlの子ノードのPCDATA

<xsl:for-each select="a/b/c/d/e[1]/f"> 
     <tr> 
      <td><xsl:value-of select="f1"></td>  
      <td><xsl:value-of select="f2">/td> 
      <td> 
</xsl:for-each> 
<xsl:for-each select="a/b/c/d/e[2]/f"> 
     <tr> 
      <td><xsl:value-of select="f1"></td>  
      <td><xsl:value-of select="f2">/td> 
      <td> 
</xsl:for-each> 

XML:私は内部DTD名前空間F1作るとf2は#PCDATAを使用するためにはどのようにつくります

<a> 
<b> 
<c> 
<d> 
<e section="1"> 
<f> 
<f1></f1><f2></f2> 
</f> 
</e> 
<e section="2"> 
<f> 
<f1></f1><f2></f2> 
</f> 
</e> 
</d> 
</c> 
</b> 
</a> 

+0

はあなたのXMLを提供します。 –

+0

okが追加されました。 – tdjfdjdj

答えて

1

適切なDTD:

<!DOCTYPE a [ 

    <!ELEMENT a (b)> 
    <!ELEMENT b (c)> 
    <!ELEMENT c (d)> 
    <!ELEMENT d (e*)> 
    <!ELEMENT e (f)> 
    <!ELEMENT f (f1, f2)> 
    <!ELEMENT f1 (#PCDATA)> 
    <!ELEMENT f2 (#PCDATA)> 

    <!ATTLIST e section CDATA #REQUIRED> 

]> 
+0

しかし、私はf1とf2のためだけにpcdataが必要な場合、私はスルー電子から各要素を指定する必要がありますか? – tdjfdjdj

+0

@ user719825、確かに。 –