Access Technology Extensions


DHCP Technology Extension

This extension includes support for ALE technology as part of a DHCP server that has BOOTP relays capable of including information from Reference 5, DHCP option 82.

DHCP Terminal Identification

A terminal in the DHCP context uses the information listed in Table A.10.

Table A.10: Terminal Identification for DHCP

Name

Type

#

Description

ip

Element (ipAddress)

1

The IP address of the terminal, which is the value included in the ciaddr parameter of the DHCP header.

hwaddr

Element (chaddrType)

1

The hardware address, which is the value included in the chaddr parameter of the DHCP header.

remote-id

Element (hexBinary)

01

This value may contain the information included in sub-option 2 of Reference 6 option, the remote identifier of the terminal.

DHCP Access Information

For DHCP, the time and expires attributes, as described in the earlier section titled "Access Information Type," correspond to the DHCP lease grant and expiry times, respectively. In addition to the time values, the DHCP access uses the values listed in Table A.11.

Table A.11: Access Information Extension Values for DHCP

Name

Type

#

Description

server

Element (token)

01

This is an identifier that is unique from the context of the ALE for the DHCP server that provided this information. This element is not necessary unless multiple DHCP servers are managed by a single ALE.

relay

Element (ipv4)

1

This is the IPv4 address of the DHCP relay. This value is extracted from the giaddr parameter in the DHCP header.

circuit-id

Element (hexBinary)

1

This element contains the value of sub-option 1 as described by Reference 6, the circuit identifier.

DHCP Technology Extension Schema

 <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"             targetNamespace="http://www.andrew.com/ns/flap/dhcp"             xmlns="http://sitacs.uow.edu.au/ns/location/flap/beep/dhcp"             xmlns:flap="http://sitacs.uow.edu.au/ns/location/flap/beep"             elementFormDefault="qualified"             attributeFormDefault="unqualified">   <xsd:annotation>     <xsd:documentation>       This is the DHCP extension for LIS-ALE communications.     </xsd:documentation>   </xsd:annotation>   <xsd:import namespace="http://sitacs.uow.edu.au/ns/location/flap/beep"               schemaLocation="flap.xsd"/>   <!-- ==== Define type for 'terminal' ==== -->   <xsd:element name="hwaddr" type="chaddrType"/>   <xsd:simpleType name="chaddrType">     <xsd:restriction base="xsd:hexBinary">       <xsd:minLength value="2"/>       <xsd:maxLength value="32"/>       <xsd:pattern value="([0-9a-fA-F]{2}){l,16}"/>     </xsd:restriction>   </xsd:simpleType>   <xsd:element name="remote-id" type="xsd:hexBinary"/>   <xsd:element name="terminal" type="terminalType"                substitutionGroup="flap:terminal"/> <xsd:complexType name="terminalType">   <xsd:complexContent>     <xsd:restriction base="flap:terminalType">       <xsd:sequence>         <xsd:element ref="hwaddr" />         <xsd:element ref="remote-id" minOccurs="0"/>         <xsd:element ref="flap:_vendor"                      minOccurs="0" maxOccurs="unbounded"/>       </xsd:sequence>     </xsd:restriction>   </xsd:complexContent> </xsd:complexType> <!-- ==== Define type for 'access' ==== --> <xsd:element name="server" type="xsd:token"/> <xsd:element name="relay" type="ipv4"/> <xsd:element name="circuit-id" type="xsd:hexBinary"/> <xsd:element name="access" type="accessType"              substitutionGroup="flap:access"/> <xsd:complexType name="accessType">   <xsd:complexContent>     <xsd:restriction base="flap:accessType">       <xsd:sequence minOccurs="0">         <xsd:element ref="server" minOccurs="0"/>         <xsd:element ref="relay"/>         <xsd:element ref="circuit-id"/>         <xsd:element ref="flap:_vendor"                      minOccurs="0" maxOccurs="unbounded"/>       </xsd:sequence>     </xsd:restriction>   </xsd:complexContent> </xsd:complexType> <!-- ==== Restrict core messages  ==== --> <xsd:attributeGroup name="techAttr">   <xsd:attribute name="tech" type="xsd:anyURI" fixed="dhcp"/> </xsd:attributeGroup> <xsd:complexType name="ntfy">   <xsd:complexContent>     <xsd:restriction base="flap:ntfyType">       <xsd:sequence>         <xsd:element ref="terminal"/>         <xsd:element ref="access"/>       </xsd:sequence>       <xsd:attributeGroup ref="techAttr"/>     </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <xsd:complexType name="sync">     <xsd:complexContent>       <xsd:restriction base="flap:syncType">         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <xsd:complexType name="syncr">     <xsd:complexContent>       <xsd:restriction base="flap:syncrType">         <xsd:sequence>           <xsd:element ref="terminal"/>           <xsd:element ref="access"/>         </xsd:sequence>         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <xsd:complexType name="aq">     <xsd:complexContent>       <xsd:restriction base="flap:aqType">         <xsd:sequence>           <xsd:element ref="terminal"/>         </xsd:sequence>         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <xsd:complexType name="aqr">     <xsd:complexContent>       <xsd:restriction base="flap:aqrType">         <xsd:sequence minOccurs="0">           <xsd:element ref="terminal" minOccurs="0"/>           <xsd:element ref="access"/>         </xsd:sequence>         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType> </xsd:schema> 

Ethernet Switch Technology Extension

This extension includes support for ALE technology embedded in a managed Ethernet switch.

Ethernet Switch Terminal Identification

Terminal identification for the Ethernet switch ALE is similar to the DHCP extension, except that the hwaddr element is replaced by a MAC address. One or both IP and MAC addresses must be specified.

An Ethernet terminal is identified by IP and MAC addresses, as shown in Table A.12.

Table A.12: Terminal Identification for Ethernet Switches

Name

Type

#

Description

ip

Element (ipAddress)

01

The IP address of the terminal

mac

Element (chaddrType)

01

The MAC address of the terminal

Ethernet Switch Access Information

In addition to the time values described in the earlier section titled "Access Information Type," the Ethernet switch access uses the values listed in Table A.13.

Table A.13: Ethernet Switch Access Information

Name

Type

#

Description

switch

Complex element (ip and name)

1

The switch may be identified by name, IP address, or both. Enough information must be included to uniquely identify a switch.

name

Element (token)

01

The name of the switch.

ip

Element (ipAddress)

01

This is the IP address of the switch that the terminal is connected to. This datum should be included if the switch has been assigned an IP address.

port

Element (nonNegativeInteger)

1

This is the physical port on the switch that the terminal is connected to.

vlan

Element (nonNegativeInteger)

01

The VLAN element optionally identifies the VLAN number that the port is assigned.

Ethernet Switch Technology Extension Schema

 <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"     targetNamespace="http://sitacs.uow.edu.au/ns/location/flap/beep/ethernet"     xmlns="http://sitacs.uow.edu.au/ns/location/flap/beep/ethernet"     xmlns:flap="http://sitacs.uow.edu.au/ns/location/flap/beep"     elementFormDefault="qualified"     attributeFormDefault="unqualified">   <xsd:annotation>     <xsd:documentation>       This is the wired Ethernet part for the LIS-ALE protocol schema.     </xsd:documentation>   </xsd:annotation>]   <xsd:import namespace="http://sitacs.uow.edu.au/ns/location/flap/beep"               schemaLocation="flap.xsd"/>   <!-- ==== Define type for 'terminal' ==== -->   <xsd:element name="mac" type="macAddress"/>   <xsd:simpleType name="macAddress">     <xsd:restriction base="xsd:token">       <xsd:pattern value=" ( [0-9A-Fa-f]{2} [\-:]?) {5}[0-9A-Fa-f] {2}"/>     </xsd:restriction>   </xsd:simpleType>   <xsd:element name="terminal" type="terminalType"                substitutionGroup="flap:terminal"/>   <xsd:complexType name="terminalType">      <xsd:complexContent>       <xsd:restriction base="flap:terminalType">         <xsd:sequence>           <xsd:choice>             <xsd:sequence>               <xsd:element ref="flap:ip"/>               <xsd:element ref="mac" minOccurs="0"/>             </xsd:sequence>           <xsd:element ref="mac"/>         </xsd:choice>         <xsd:element ref="flap:_vendor"                    minOccurs="0" maxOccurs="unbounded"/>         </xsd:sequence>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <!-- ==== Define type for 'access' ==== -->   <xsd:complexType name="switch">     <xsd:complexContent>       <xsd:restriction base="xsd:anyType">         <xsd:choice>         <xsd:sequence>             <xsd:element name="name" type="xsd:token"/>             <xsd:element ref="flap:ip" minOccurs="0"/>           </xsd:sequence>           <xsd:element ref="flap:ip"/>         </xsd:choice>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <xsd:element name="switch" type="switch"/>   <xsd:element name="port" type="xsd:nonNegativeInteger"/>   <xsd:element name="vlan" type="xsd:nonNegativeInteger"/>   <xsd:element name="access" type="accessType"                substitutionGroup="flap:access"/>   <xsd:complexType name="accessType">     <xsd:complexContent>       <xsd:restriction base="flap:accessType">         <xsd:sequence minOccurs="0"> <xsd:element ref="switch"/>           <xsd:element ref="port"/>           <xsd:element ref="vlan" minOccurs="0"/>           <xsd:element ref="flap:_vendor"                        minOccurs="0" maxOccurs="unbounded"/>         </xsd:sequence>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <!-- ==== Restrict core messages  ==== -->   <xsd:attributeGroup name="techAttr">     <xsd:attribute name="tech" type="xsd:anyURI" fixed="ethernet"/>   </xsd:attributeGroup>   <xsd:complexType name="ntfy">     <xsd:complexContent>       <xsd:restriction base="flap:ntfyType">         <xsd:sequence>           <xsd:element ref="terminal"/>           <xsd:element ref="access"/>         </xsd:sequence>         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <xsd:complexType name="sync">     <xsd:complexContent>       <xsd:restriction base="flap:syncType">         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <xsd:complexType name="syncr">     <xsd:complexContent>       <xsd:restriction base="flap:syncrType">         <xsd:sequence>           <xsd:element ref="terminal"/>           <xsd:element ref="access"/>         </xsd:sequence>         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:complexContent>   </xsd:comp1exType>   <xsd:complexType name="aq">     <xsd:complexContent>       <xsd:restriction base="flap:aqType">         <xsd:sequence>           <xsd:element ref="terminal"/>         </xsd:sequence>         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:comp1exContent>   </xsd:comp1exType>   <xsd:complexType name="aqr">     <xsd:comp1exContent>       <xsd:restriction base="flap:aqrType">         <xsd:sequence minOccurs="0">           <xsd:element ref="terminal" minOccurs="0"/>           <xsd:element ref="access"/>         </xsd:sequence>         <xsd:attributeGroup ref="techAttr"/>      </xsd:restriction>     </xsd:complexContent>   </xsd:complexType> </xsd:schema> 

DHCP Lease Query Technology Extension

The DHCP Lease Query Technology extension includes support for ALE technology that can support a DHCP Lease Query, as defined in Reference 6.

DHCP Lease Query Terminal Identification

Terminal identification for the DHCP Lease Query ALE is similar to the DHCP extension except that DHCP Option 61 (client identifier) is also supported. Only one IP, hwaddr address, or client-identifier must be specified.

DHCP Lease Query terminal identifiers are shown in Table A.14.

Table A.14: Terminal Identification for DHCP Lease Query

Name

Type

#

Description

ip

Element (ipAddress)

01

The IP address of the terminal

hwaddr

Element (chaddrType)

01

The unique value used by the DHCP client to identify itself to the DHCP server

client-id

Element (token)

01

The hardware address, which is the value included in the chaddr parameter of the DHCP header

DHCP Lease Query Access Information

In addition to the time values described in the earlier section titled "Access Information Type," the DHCP Lease Query access uses the values listed in Table A.15.

Table A.15: DHCP Lease Query Access Values

Name

Type

#

Description

server

Element (token)

01

This is an identifier that is unique from the context of the ALE for the DHCP server that provided this information. This element is not necessary unless multiple DHCP servers are managed by a single ALE.

relay

Element (ipv4)

1

This is the IPv4 address of the DHCP relay. This value is extracted from the giaddr parameter in the DHCP header.

circuit-id

Element (hexBinary)

1

This element contains the value of sub-option 1 as described by Reference 6, the circuit identifier.

ip

Element (ipAddress)

01

The IP address of the terminal.

hwaddr

Element (chaddrType)

01

The hardware address, which is the value included in the chaddr parameter of the DHCP header.

client-id

Element (token)

01

The unique value used by the DHCP client to identify itself to the DHCP server.

DHCP Lease Query Technology Extension Schema

 <?xml version="1.0"?>   <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"        targetNamespace="http://sitacs.uow.edu.au/ns/location/flap/dhcp-lq"        xmlns="http://sitacs.uow.edu.au/ns/location/flap/dhcp-lq"        xmlns:flap="http://sitacs.uow.edu.au/ns/location/flap"        elementFormDefault="qualified"        attributeFormDefault="unqualified">   <xsd:annotation>     <xsd:documentation>       This is the DHCP Lease Query extension for LIS-ALE communications.     </xsd:documentation>   </xsd:annotation>   <xsd:import namespace="http://sitacs.uow.edu.au/ns/location/flap"               schemaLocation="flap.xsd"/>   <!-- ==== Define type for 'terminal' ==== -->   <xsd:element name="hwaddr" type="chaddrType"/>   <xsd:simpleType name="chaddrType">      <xsd:restriction base="xsd:hexBinary">         <xsd:minLength value="2"/>         <xsd:maxLength value="32"/>         <xsd:pattern value="([0-9a-fA-F]{2}){1,16}"/>      </xsd:restriction>   </xsd:simpleType>   <xsd:element name="remote-id" type="xsd:hexBinary"/>   <xsd:element name="client-id" type="xsd:token"/>   <xsd:element name="terminal" type="terminalType"                substitutionGroup="flap:terminal"/>   <xsd:complexType name="terminalType">      <xsd:complexContent>         <xsd:restriction base="flap:terminalType">            <xsd:sequence>               <xsd:choice>                  <xsd:element ref="flap:ip"/>                  <xsd:element ref="hwaddr" />                  <xsd:element ref="client-id"/>               </xsd:choice>               <xsd:element ref="flap:_vendor"                    minOccurs="0" maxOccurs="unbounded"/>            </xsd:sequence>         </xsd:restriction>      </xsd:complexContent>    </xsd:complexType>   <!-- ==== Define type for 'access' ==== -->   <xsd:element name="server" type="xsd:token"/>   <xsd:element name="relay" type="flap:ipv4"/>   <xsd:element name="circuit-id" type="xsd:hexBinary"/>   <xsd:element name="access" type="accessType"                substitutionGroup="flap:access"/>   <xsd:complexType name="accessType">      <xsd:complexContent>         <xsd:restriction base="flap:accessType">            <xsd:sequence minOccurs="0">               <xsd:element ref="server" minOccurs="0"/>               <xsd:element ref="relay"  minOccurs="0"/>               <xsd:element ref="circuit-id" minOccurs="0"/>               <xsd:element ref="flap:ip" minOccurs="0"/>               <xsd:element ref="hwaddr" minOccurs="0"/>               <xsd:element ref="client-id" minOccurs="0"/>               <xsd:element ref="flap:_vendor"                 minOccurs="0" maxOccurs="unbounded"/>         </xsd:sequence>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <!-- ==== Restrict core messages  ==== -->   <xsd:attributeGroup name="techAttr">       <xsd:attribute name="tech" type="xsd:anyURI" fixed="dhcp-lq"/>   </xsd:attributeGroup>   <xsd:complexType name="aq">     <xsd:complexContent>       <xsd:restriction base="flap:aqType">         <xsd:sequence>           <xsd:element ref="terminal"/>         </xsd:sequence>         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <xsd:complexType name="aqr">     <xsd:complexContent>       <xsd:restriction base="flap:aqrType">         <xsd:sequence minOccurs="0">           <xsd:element ref="terminal" minOccurs="0"/>           <xsd:element ref="access"/> </xsd:sequence>         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType> </xsd:schema> 

RADIUS Technology Extension

This extension provides support for the RADIUS ALE that is able to provide information relating to RADIUS sessions to the LIS.

RADIUS Terminal Identification

Terminal identification for the RADIUS ALE is quite different compared to those described thus far. How these identifiers are used in DSL deployments are described in detail in Chapter 6, and the list of terminal identifiers is shown in Table A.16.

Table A.16: Terminal Identification for a RADIUS ALE

Name

Type

#

Description

user-name

Element (token)

01

The NAI for the user establishing the session

framed-ip-address

Element (ipAddress)

1

The IP address of the terminal

RADIUS Access Information

In addition to the time values described in the earlier section titled "Access Information Type," the RADIUS access uses the values listed in Table A.17.s

Table A.17: Access Values for a RADIUS ALE

Name

Type

#

Description

nas-ip-address

Element (ipAddress)

01

This is the IP address of the Network Access Server (NAS) originating the RADIUS request.

nas-identifier

Element (token)

01

A name that can be used to identify the NAS originating the RADIUS request. This can be used instead of, or as well as, nas-ip-address.

nas-port

Element (token max length = 12)

01

The physical port on the NAS on which the session origination was received. Normally this will be a number.

nas-port-id

Element (token min length = 3)

01

The port on the NAS on which the session origination was received. This is generally more descriptive than nas-port and is often formatted.

callback-number

Element (callback-number-type)

01

Used to represent the number on which the user originating the session can be called back. This is formatted as an E.164 number.

12tp

Element (complexType)

01

Contains information relating to L2TP tunnel accounting session identification. It identifies the IP addresses for either end of the tunnel, plus acct-session-id.

RADIUS ALE Technology Extension Schema

 <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"             targetNamespace="http://sitacs.uow.edu.au/ns/location/flap/radius"             xmlns="http://sitacs.uow.edu.au/ns/location/flap/radius"             xmlns:flap="http://sitacs.uow.edu.au/ns/location/flap"             elementFormDefault="qualified"             attributeFormDefault="unqualified">   <xsd:annotation>     <xsd:documentation>        This is the RADIUS extension for LIS-ALE communications.     </xsd:documentation>   </xsd:annotation>   <xsd:import namespace=http://sitacs.uow.edu.au/ns/location/flap               schemaLocation="flap.xsd"/>   <!-- ==== Define type for 'terminal' ==== -->   <xsd:element name="user-name" type="xsd:token"/>   <xsd:element name="framed-ip-address" type="flap:ipAddress"/>   <xsd:element name="terminal" type="terminalType"                substitutionGroup="flap:terminal"/>   <xsd:complexType name="terminalType">     <xsd:complexContent>       <xsd:restriction base="flap:terminalType">         <xsd:sequence>           <xsd:element ref="user-name" minOccurs="0"/>           <xsd:element ref="framed-ip-address"/>           <xsd:element ref="flap:_ vendor"                        minOccurs="0" maxOccurs="unbounded"/>         </xsd:sequence>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <!-- ==== Define type for 'access' ==== -- !>   <!-- Layer 2 Tunneling Protocol attributes -->   <xsd:complexType name="12tp-type">     <xsd:sequence>       <xsd:element name="tunnel-client-endpoint"     type="flap:ipAddress"/>       <xsd:element name="tunnel-server-endpoint" type="flap:ipAddress"/>       <xsd:element name="acct-session-id" type="xsd:nonNegativeInteger"/>     </xsd:sequence>   </xsd:complexType>   <xsd:simpleType name="nas-port-type">     <xsd:restriction base="xsd:token">       <xsd:maxLength value="12"/>     </xsd:restriction>   </xsd:simpleType>   <xsd:simpleType name="nas-port-id-type">     <xsd:restriction base="xsd:token">       <xsd:minLength value="3"/>     </xsd:restriction>   </xsd:simpleType>   <xsd:simpleType name="callback-number-type">     <xsd:restriction base="xsd:token">       <xsd:pattern value=" [0-9] {l,15}"/>     </xsd:restriction>   </xsd:simpleType>   <xsd:element name="nas-ip-address" type="flap:ipAddress"/>   <xsd:element name="nas-identifier" type="nas-port-id-type"/>   <xsd:element name="nas-port" type="nas-port-type"/>   <xsd:element name="callback-number" type="callback-number-type"/>   <xsd:element name="nas-port-id" type="nas-port-id-type"/>   <xsd:element name="12tp" type="12tp-type"/>   <xsd:element name="access" type="accessType"                substitutionGroup="flap:access"/>   <xsd:complexType name="accessType">     <xsd:complexContent>       <xsd:restriction base="flap:accessType">         <xsd:sequence minOccurs="0">           <xsd:element ref="nas-ip-address" minOccurs="0"/>           <xsd:element ref="nas-identifier" minOccurs="0"/>           <xsd:element ref="nas-port" minOccurs="0"/>           <xsd:element ref="nas-port-id" minOccurs="0"/>           <xsd:element ref="callback-number" minOccurs="0"/>           <xsd:element ref="12tp" minOccurs="0"/>           <xsd:element ref="flap:_vendor"                        minOccurs="0" maxOccurs="unbounded"/>         </xsd:sequence>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <!-- ==== Restrict core messages ==== -- !>   <xsd:attributeGroup name="techAttr">     <xsd:attribute name="tech" type="xsd:anyURI" fixed="radius"/>   </xsd:attributeGroup>   <xsd:complexType name="ntfy">     <xsd:complexContent>       <xsd:restriction base="flap:ntfyType">         <xsd:sequence>           <xsd:element ref="terminal"/>           <xsd:element ref="access"/>         </xsd:sequence>       <xsd:attributeGroup ref="techAttr"/>     </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <xsd:complexType name="sync">     <xsd:complexContent>       <xsd:restriction base="flap:syncType">         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <xsd:complexType name="syncr">     <xsd:complexContent>       <xsd:restriction base="flap:syncrType">         <xsd:sequence>           <xsd:element ref="terminal"/>           <xsd:element ref="access"/>           </xsd:sequence>         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType>   <xsd:complexType name="aq">     <xsd:complexContent>       <xsd:restriction base="flap:aqType">         <xsd:sequence>           <xsd:element ref="terminal"/>         </xsd:sequence>         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:complexContent>   </xsd:comp1exType>   <xsd:complexType name="aqr">     <xsd:complexContent>       <xsd:restriction base="f1ap:aqrType">         <xsd:sequence minOccurs="0">           <xsd:element ref="terminal" minOccurs="0"/>           <xsd:element ref="access"/>         </xsd:sequence>         <xsd:attributeGroup ref="techAttr"/>       </xsd:restriction>     </xsd:complexContent>   </xsd:complexType> </xsd:schema> 



IP Location
IP Location
ISBN: 0072263776
EAN: 2147483647
Year: 2004
Pages: 129

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net