Guest User

Untitled

a guest
Mar 22nd, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.31 KB | None | 0 0
  1. <xs:schema targetNamespace="test-namespace" xmlns:tns="test-namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  2. <!-- 'bam.xsd' defines 'complexTypeBam' to have child 'addedByBam' -->
  3. <!-- 'baz.xsd' redefines 'bam.xsd: complexTypeBam' to have children 'addedByBam', 'addedByBaz' -->
  4. <!-- 'foo.xsd is redefining 'baz.xsd: complexTypeBam' to have children 'addedByBam', 'addedByBaz', 'addedByFoo' -->
  5. <xs:redefine schemaLocation="baz.xsd">
  6. <xs:complexType name="complexTypeBam"><xs:complexContent>
  7. <xs:extension base="tns:complexTypeBam"><xs:sequence>
  8. <xs:element minOccurs="1" name="addedByFoo" type="xs:string" />
  9. </xs:sequence></xs:extension>
  10. </xs:complexContent></xs:complexType>
  11. </xs:redefine>
  12.  
  13. <!-- It seems like 'complexTypeBam' is intermediately defined to have children 'addedByBam', 'addedByBaz' -->
  14. <!-- not yet including the 'addedByFoo' nor 'addedByBar' as happens below -->
  15.  
  16. <!-- REMINDER: 'bam.xsd' defines 'complexTypeBam' to have child 'addedByBam' -->
  17. <!-- 'bar.xsd' redefines 'bam.xsd complexTypeBam' to have children 'addedByBam', 'addedByBar' -->
  18. <!-- BUT content included through 'bar.xsd' thinks that 'complexTypeBam' has children 'addedByBam', 'addedByBaz', 'addedByBar' -->
  19. <xs:include schemaLocation="bar.xsd" />
  20.  
  21. <!-- content local to this schema ('foo.xsd') thinks that 'complexTypeBam' has children 'addedByBam', 'addedByBaz', 'addedByFoo' -->
  22. <xs:element name="redefinedByFoo" type="tns:complexTypeBam" />
  23.  
  24. <xs:element name="elementRootFoo"><xs:complexType><xs:sequence>
  25. <!-- this element uses the local redefine -->
  26. <xs:element ref="tns:redefinedByFoo" />
  27. <!-- the below use the redefine included in 'bar.xsd' -->
  28. <xs:element ref="tns:redefinedByBar" />
  29. <xs:element ref="tns:redefinedByBaz" />
  30. <xs:element ref="tns:elementBam" />
  31. </xs:sequence></xs:complexType></xs:element>
  32. </xs:schema>
  33.  
  34. <elementRootFoo xmlns="test-namespace" xsi:schemaLocation="test-namespace foo.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  35. <redefinedByFoo>
  36. <addedByBam />
  37. <addedByBaz />
  38. <addedByFoo /> <!-- NOTE: 'addedByFoo' -->
  39. </redefinedByFoo>
  40. <redefinedByBar>
  41. <addedByBam />
  42. <addedByBaz /> <!-- NOTE: 'addedByBaz' when 'bar.xsd' redefines from 'bam.xsd' directly -->
  43. <addedByBar /> <!-- NOTE: 'addedByBar' -->
  44. </redefinedByBar>
  45. <redefinedByBaz>
  46. <addedByBam />
  47. <addedByBaz />
  48. <addedByBar /> <!-- NOTE 'addedByBar' -->
  49. </redefinedByBaz>
  50. <elementBam>
  51. <addedByBam />
  52. <addedByBaz />
  53. <addedByBar /> <!-- NOTE: 'addedByBar' -->
  54. </elementBam>
  55. </elementRootFoo>
  56.  
  57. <xs:schema targetNamespace="test-namespace" xmlns:tns="test-namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  58.  
  59. <xs:redefine schemaLocation="bam.xsd">
  60. <xs:complexType name="complexTypeBam"><xs:complexContent>
  61. <xs:extension base="tns:complexTypeBam"><xs:sequence>
  62. <xs:element minOccurs="1" name="addedByBar" type="xs:string" />
  63. </xs:sequence></xs:extension>
  64. </xs:complexContent></xs:complexType>
  65. </xs:redefine>
  66.  
  67. <xs:element name="redefinedByBar" type="tns:complexTypeBam" />
  68. </xs:schema>
  69.  
  70. <xs:schema targetNamespace="test-namespace" xmlns:tns="test-namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  71.  
  72. <xs:redefine schemaLocation="bam.xsd">
  73. <xs:complexType name="complexTypeBam"><xs:complexContent>
  74. <xs:extension base="tns:complexTypeBam"><xs:sequence>
  75. <xs:element minOccurs="1" name="addedByBaz" type="xs:string" />
  76. </xs:sequence></xs:extension>
  77. </xs:complexContent></xs:complexType>
  78. </xs:redefine>
  79.  
  80. <xs:element name="redefinedByBaz" type="tns:complexTypeBam" />
  81. </xs:schema>
  82.  
  83. <xs:schema targetNamespace="test-namespace" xmlns:tns="test-namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  84. <xs:complexType name="complexTypeBam">
  85. <xs:sequence>
  86. <xs:element minOccurs="1" name="addedByBam" type="xs:string" />
  87. </xs:sequence>
  88. </xs:complexType>
  89.  
  90. <xs:element name="elementBam" type="tns:complexTypeBam" />
  91. </xs:schema>
Add Comment
Please, Sign In to add comment