code_junkie

XSD class generation nested tables problem

Nov 13th, 2011
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.90 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xs:schema id="XSDobject" targetNamespace="http://tempuri.org/XSDobject.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XSDobject.xsd" xmlns:mstns="http://tempuri.org/XSDobject.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  3. <xs:element name="order">
  4. <xs:complexType>
  5. <xs:sequence>
  6. <xs:element name="contact">
  7. <xs:complexType>
  8. <xs:sequence>
  9. <xs:element name="name" type="xs:string" />
  10. <xs:element name="phone" type="xs:string" />
  11. </xs:sequence>
  12. </xs:complexType>
  13. </xs:element>
  14. <xs:element name="buyer">
  15. <xs:complexType>
  16. <xs:sequence>
  17. <xs:element name="contact">
  18. <xs:complexType>
  19. <xs:sequence>
  20. <xs:element name="name" type="xs:string" />
  21. <xs:element name="phone" type="xs:string" />
  22. </xs:sequence>
  23. </xs:complexType>
  24. </xs:element>
  25. </xs:sequence>
  26. </xs:complexType>
  27. </xs:element>
  28. </xs:sequence>
  29. </xs:complexType>
  30. </xs:element>
  31. </xs:schema>
  32.  
  33. <?xml version="1.0" encoding="utf-8"?>
  34. <xs:schema id="XSDobject" targetNamespace="http://tempuri.org/XSDobject.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XSDobject.xsd" xmlns:mstns="http://tempuri.org/XSDobject.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  35. <xs:group name="Contact">
  36. <xs:sequence>
  37. <xs:element name="name" type="xs:string" />
  38. <xs:element name="phone" type="xs:string" />
  39. </xs:sequence>
  40. </xs:group>
  41. <xs:element name="order">
  42. <xs:complexType>
  43. <xs:sequence>
  44. <xs:element name="OrderContact">
  45. <xs:complexType>
  46. <xs:sequence>
  47. <xs:group ref="Contact"/>
  48. </xs:sequence>
  49. </xs:complexType>
  50. </xs:element>
  51. <xs:element name="buyer">
  52. <xs:complexType>
  53. <xs:sequence>
  54. <xs:element name="BuyerContact">
  55. <xs:complexType>
  56. <xs:sequence>
  57. <xs:group ref="Contact"/>
  58. </xs:sequence>
  59. </xs:complexType>
  60. </xs:element>
  61. </xs:sequence>
  62. </xs:complexType>
  63. </xs:element>
  64. </xs:sequence>
  65. </xs:complexType>
  66. </xs:element>
  67. </xs:schema>
  68.  
  69. ...
  70. <xsl:template match="*">
  71. <xsl:param name="parentElm">
  72. <xsl:value-of select="name(..)" />
  73. </xsl:param>
  74. <xsl:choose>
  75. <xsl:when test="local-name() = 'Contact'">
  76. <xsl:element name="{concat('Contact',$parentElm)}">
  77. <xsl:apply-templates select="@* | node()" />
  78. </xsl:element>
  79. </xsl:when> <xsl:otherwise>
  80. <xsl:element name="{local-name()}">
  81. <xsl:copy-of select="@*" />
  82. <xsl:apply-templates select="@* | node()" />
  83. </xsl:element>
  84. </xsl:otherwise>
  85. </xsl:choose> </xsl:template> ...
Add Comment
Please, Sign In to add comment