新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 关于 XML 的一般性技术讨论,提供 XML入门资料 和 XML教程
    [返回] 计算机科学论坛XML.ORG.CN讨论区 - XML技术『 XML基础 』 → 求英文版的XML文献和其翻译,谢谢了~~ 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 3901 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 求英文版的XML文献和其翻译,谢谢了~~ 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     Kadis 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:6
      积分:80
      门派:XML.ORG.CN
      注册:2004/3/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Kadis发送一个短消息 把Kadis加入好友 查看Kadis的个人资料 搜索Kadis在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看Kadis的博客楼主
    发贴心情 求英文版的XML文献和其翻译,谢谢了~~

    非常需要这些内容,希望各位大侠帮帮忙~~谢谢

       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/5/28 17:18:00
     
     fayy 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:1
      积分:59
      门派:XML.ORG.CN
      注册:2004/4/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给fayy发送一个短消息 把fayy加入好友 查看fayy的个人资料 搜索fayy在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看fayy的博客2
    发贴心情 
    我有7000字的翻译,你有JAVA读取XML文件的程序麽?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/5/28 21:12:00
     
     腰果 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:63
      门派:XML.ORG.CN
      注册:2004/5/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给腰果发送一个短消息 把腰果加入好友 查看腰果的个人资料 搜索腰果在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看腰果的博客3
    发贴心情 
    楼上的美女,是不是要这个类型的咚咚,LOOK ↓

    PS:那段翻译也贡献出来吧

    sonnet.xml  

    这是在本教程中贯穿使用的示例 XML 文档。

    <?xml version="1.0"?>  
    <!DOCTYPE sonnet SYSTEM "sonnet.dtd">  
    <sonnet type="Shakespearean">  
    <author>  
    <last-name>Shakespeare</last-name>  
    <first-name>William</first-name>  
    <nationality>British</nationality>  
    <year-of-birth>1564</year-of-birth>  
    <year-of-death>1616</year-of-death>  
    </author>  
    <title>Sonnet 130</title>  
    <text>  
    <line>My mistress` eyes are nothing like the sun,</line>  
    <line>Coral is far more red than her lips red.</line>  
    <line>If snow be white, why then her breasts are dun,</line>  
    <line>If hairs be wires, black wires grow on her head.</line>  
    <line>I have seen roses damasked, red and white,</line>  
    <line>But no such roses see I in her cheeks.</line>  
    <line>And in some perfumes is there more delight</line>  
    <line>Than in the breath that from my mistress reeks.</line>  
    <line>I love to hear her speak, yet well I know</line>  
    <line>That music hath a far more pleasing sound.</line>  
    <line>I grant I never saw a goddess go,</line>  
    <line>My mistress when she walks, treads on the ground.</line>  
    <line>And yet, by Heaven, I think my love as rare</line>  
    <line>As any she belied with false compare.</line>  
    </text>  
    </sonnet>  

    sonnet.dtd  

    这是我们示例文档所用的 DTD。


    <!-- sonnet.dtd -->  
    <!ELEMENT sonnet (author,title?,text) >  
    <!ATTLIST sonnet  
    type (Shakespearean | Petrarchan) "Shakespearean">  

    <!ELEMENT text (line,line,line,line,  
    line,line,line,line,  
    line,line,line,line,  
    line,line) >  

    <!ELEMENT author (last-name,first-name,nationality,  
    year-of-birth?,year-of-death?) >  

    <!ELEMENT title (<!ELEMENT last-name (<!ELEMENT first-name (<!ELEMENT nationality (<!ELEMENT year-of-birth (<!ELEMENT year-of-death (<!ELEMENT line (
    domOne.java  

    这是我们的第一个 DOM 应用。它解析一个 XML 文档并将其内容输出到标准输出。


    /*  
    * (C) Copyright IBM Corp. 1999 All rights reserved.  
    *  
    * US Government Users Restricted Rights Use, duplication or  
    * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.  
    *  
    * The program is provided "as is" without any warranty express or  
    * implied, including the warranty of non-infringement and the implied  
    * warranties of merchantibility and fitness for a particular purpose.  
    * IBM will not be liable for any damages suffered by you as a result  
    * of using the Program. In no event will IBM be liable for any  
    * special, indirect or consequential damages or lost profits even if  
    * IBM has been advised of the possibility of their occurrence. IBM  
    * will not be liable for any third party claims against you.  
    */  

    import java.io.OutputStreamWriter;  
    import java.io.PrintWriter;  
    import java.io.UnsupportedEncodingException;  

    import org.w3c.dom.Attr;  
    import org.w3c.dom.Document;  
    import org.w3c.dom.NamedNodeMap;  
    import org.w3c.dom.Node;  
    import org.w3c.dom.NodeList;  
    import com.ibm.xml.parsers.*;  

    /**  
    * domOne.java  
    * Illustrates how to go through a DOM tree.  
    */  

    public class domOne  
    {  
    public void parseAndPrint(String uri)  
    {  
    Document doc = null;  

    try  
    {  
    DOMParser parser = new DOMParser();  
    parser.parse(uri);  
    doc = parser.getDocument();  
    }  
    catch (Exception e)  
    {  
    System.err.println("Sorry, an error occurred: " + e);  
    }  

    // We`ve parsed the document now, so let`s print it.  
    if (doc != null)  
    printDOMTree(doc);  
    }  

    /** Prints the specified node, then prints all of its children. */  
    public void printDOMTree(Node node)  
    {  
    int type = node.getNodeType();  
    switch (type)  
    {  
    // print the document element  
    case Node.DOCUMENT_NODE:  
    {  
    System.out.println("<?xml version="1.0" ?>");  
    printDOMTree(((Document)node).getDocumentElement());  
    break;  
    }  

    // print element with attributes  
    case Node.ELEMENT_NODE:  
    {  
    System.out.print("<");  
    System.out.print(node.getNodeName());  
    NamedNodeMap attrs = node.getAttributes();  
    for (int i = 0; i < attrs.getLength(); i++)  
    {  
    Node attr = attrs.item(i);  
    System.out.print(" " + attr.getNodeName() +  
    "="" + attr.getNodeValue() +  
    """);  
    }  
    System.out.println(">");  

    NodeList children = node.getChildNodes();  
    if (children != null)  
    {  
    int len = children.getLength();  
    for (int i = 0; i < len; i++)  
    printDOMTree(children.item(i));  
    }  

    break;  
    }  

    // handle entity reference nodes  
    case Node.ENTITY_REFERENCE_NODE:  
    {  
    System.out.print("&");  
    System.out.print(node.getNodeName());  
    System.out.print(";");  
    break;  
    }  

    // print cdata sections  
    case Node.CDATA_SECTION_NODE:  
    {  
    System.out.print("<![CDATA[");  
    System.out.print(node.getNodeValue());  
    System.out.print("]]>");  
    break;  
    }  

    // print text  
    case Node.TEXT_NODE:  
    {  
    System.out.print(node.getNodeValue());  
    break;  
    }  

    // print processing instruction  
    case Node.PROCESSING_INSTRUCTION_NODE:  
    {  
    System.out.print("<?");  
    System.out.print(node.getNodeName());  
    String data = node.getNodeValue();  
    {  
    System.out.print(" ");  
    System.out.print(data);  
    }  
    System.out.print("?>");  
    break;  
    }  
    }  

    if (type == Node.ELEMENT_NODE)  
    {  
    System.out.println();  
    System.out.print("</");  
    System.out.print(node.getNodeName());  
    System.out.print(`>`);  
    }  
    }  

    /** Main program entry point. */  
    public static void main(String argv[])  
    {  
    if (argv.length == 0)  
    {  
    System.out.println("Usage: java domOne uri");  
    System.out.println(" where uri is the URI of the XML document you want to print.");  
    System.out.println(" Sample: java domOne sonnet.xml");  
    System.exit(1);  
    }  

    domOne d1 = new domOne();  
    d1.parseAndPrint(argv[0]);  
    }  
    }  

    domCounter.java  

    这段代码解析一个 XML 文档,然后遍历 DOM 树来采集有关该文档的数据。当数据采集后将其输出到标准输出。


    /*  
    * (C) Copyright IBM Corp. 1999 All rights reserved.  
    *  
    * US Government Users Restricted Rights Use, duplication or  
    * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.  
    *  
    * The program is provided "as is" without any warranty express or  
    * implied, including the warranty of non-infringement and the implied  
    * warranties of merchantibility and fitness for a particular purpose.  
    * IBM will not be liable for any damages suffered by you as a result  
    * of using the Program. In no event will IBM be liable for any  
    * special, indirect or consequential damages or lost profits even if  
    * IBM has been advised of the possibility of their occurrence. IBM  
    * will not be liable for any third party claims against you.  
    */  

    import java.io.OutputStreamWriter;  
    import java.io.PrintWriter;  
    import java.io.UnsupportedEncodingException;  

    import org.w3c.dom.Document;  
    import org.w3c.dom.Node;  
    import org.w3c.dom.NodeList;  
    import com.ibm.xml.parsers.DOMParser;  

    /**  
    * domCounter.java  
    * This code creates a DOM parser, parses a document, then  
    * prints statistics about the number and type of nodes  
    * found in the document.  
    */  

    public class domCounter  
    {  
    int documentNodes = 0;  
    int elementNodes = 0;  
    int entityReferenceNodes = 0;  
    int cdataSections = 0;  
    int textNodes = 0;  
    int processingInstructions = 0;  

    public void parseAndCount(String uri)  
    {  
    Document doc = null;  
    try  
    {  
    DOMParser parser = new DOMParser();  
    parser.parse(uri);  
    doc = parser.getDocument();  
    }  
    catch (Exception e)  
    {  
    System.err.println("Sorry, an error occurred: " + e);  
    }  

    // We`ve parsed the document now, so let`s scan the DOM tree and  
    // print the statistics.  
    if (doc != null)  
    {  
    scanDOMTree(doc);  
    System.out.println("Document Statistics for " + uri + ":");  
    System.out.println("====================================");  
    System.out.println("Document Nodes: " + documentNodes);  
    System.out.println("Element Nodes: " + elementNodes);  
    System.out.println("Entity Reference Nodes: " + entityReferenceNodes);  
    System.out.println("CDATA Sections: " + cdataSections);  
    System.out.println("Text Nodes: " + textNodes);  
    System.out.println("Processing Instructions: " + processingInstructions);  
    System.out.println(" ----------");  
    int totalNodes = documentNodes + elementNodes + entityReferenceNodes +  
    cdataSections + textNodes + processingInstructions;  
    System.out.println("Total: " + totalNodes + " Nodes");  
    }  
    }  

    /** Scans the DOM tree and counts the different types of nodes. */  
    public void scanDOMTree(Node node)  
    {  
    int type = node.getNodeType();  
    switch (type)  
    {  
    case Node.DOCUMENT_NODE:  
    documentNodes++;  
    scanDOMTree(((Document)node).getDocumentElement());  
    break;  

    case Node.ELEMENT_NODE:  
    elementNodes++;  
    NodeList children = node.getChildNodes();  
    if (children != null)  
    {  
    int len = children.getLength();  
    for (int i = 0; i < len; i++)  
    scanDOMTree(children.item(i));  
    }  
    break;  

    case Node.ENTITY_REFERENCE_NODE:  
    entityReferenceNodes++;  
    break;  

    case Node.CDATA_SECTION_NODE:  
    cdataSections++;  
    break;  

    case Node.TEXT_NODE:  
    textNodes++;  
    break;  

    case Node.PROCESSING_INSTRUCTION_NODE:  
    processingInstructions++;  
    break;  
    }  
    }  

    /** Main program entry point. */  
    public static void main(String argv[])  
    {  
    if (argv.length == 0)  
    {  
    System.out.println("Usage: java domCounter uri");  
    System.out.println(" where uri is the URI of your XML document.");  
    System.out.println(" Sample: java domCounter sonnet.xml");  
    System.exit(1);  
    }  

    domCounter dc = new domCounter();  
    dc.parseAndCount(argv[0]);  
    }  
    }  

    saxOne.java
    /*  
    * (C) Copyright IBM Corp. 1999 All rights reserved.  
    *  
    * US Government Users Restricted Rights Use, duplication or  
    * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.  
    *  
    * The program is provided "as is" without any warranty express or  
    * implied, including the warranty of non-infringement and the implied  
    * warranties of merchantibility and fitness for a particular purpose.  
    * IBM will not be liable for any damages suffered by you as a result  
    * of using the Program. In no event will IBM be liable for any  
    * special, indirect or consequential damages or lost profits even if  
    * IBM has been advised of the possibility of their occurrence. IBM  
    * will not be liable for any third party claims against you.  
    */  

    import java.io.OutputStreamWriter;  
    import java.io.PrintWriter;  
    import java.io.UnsupportedEncodingException;  

    import org.xml.sax.AttributeList;  
    import org.xml.sax.HandlerBase;  
    import org.xml.sax.Parser;  
    import org.xml.sax.SAXException;  
    import org.xml.sax.SAXParseException;  
    import org.xml.sax.helpers.ParserFactory;  

    import com.ibm.xml.parsers.SAXParser;  

    /**  
    * saxOne.java  
    * This sample program illustrates how to use a SAX parser. It  
    * parses a document and writes the document? contents back to  
    * standard output.  
    */  

    public class saxOne  
    extends HandlerBase  
    {  
    public void parseURI(String uri)  
    {  
    SAXParser parser = new SAXParser();  
    parser.setDocumentHandler(this);  
    parser.setErrorHandler(this);  
    try  
    {  
    parser.parse(uri);  
    }  
    catch (Exception e)  
    {  
    System.err.println(e);  
    }  
    }  

    /** Processing instruction. */  
    public void processingInstruction(String target, String data)  
    {  
    System.out.print("<?");  
    System.out.print(target);  
    if (data != null && data.length() > 0)  
    {  
    System.out.print(` `);  
    System.out.print(data);  
    }  
    System.out.print("?>");  
    }  

    /** Start document. */  
    public void startDocument()  
    {  
    System.out.println("<?xml version="1.0"?>");  
    }  

    /** Start element. */  
    public void startElement(String name, AttributeList attrs)  
    {  
    System.out.print("<");  
    System.out.print(name);  
    if (attrs != null)  
    {  
    int len = attrs.getLength();  
    for (int i = 0; i < len; i++)  
    {  
    System.out.print(" ");  
    System.out.print(attrs.getName(i));  
    System.out.print("="");  
    System.out.print(attrs.getValue(i));  
    System.out.print(""");  
    }  
    }  
    System.out.print(">");  
    }  

    /** Characters. */  
    public void characters(char ch[], int start, int length)  
    {  
    System.out.print(new String(ch, start, length));  
    }  

    /** Ignorable whitespace. */  
    public void ignorableWhitespace(char ch[], int start, int length)  
    {  
    characters(ch, start, length);  
    }  

    /** End element. */  
    public void endElement(String name)  
    {  
    System.out.print("</");  
    System.out.print(name);  
    System.out.print(">");  
    }  

    /** End document. */  
    public void endDocument()  
    {  
    // No need to do anything.  
    }  

    //  
    // ErrorHandler methods  
    //  

    /** Warning. */  
    public void warning(SAXParseException ex)  
    {  
    System.err.println("[Warning] "+  
    getLocationString(ex)+": "+  
    ex.getMessage());  
    }  

    /** Error. */  
    public void error(SAXParseException ex)  
    {  
    System.err.println("[Error] "+  
    getLocationString(ex)+": "+  
    ex.getMessage());  
    }  

    /** Fatal error. */  
    public void fatalError(SAXParseException ex)  
    throws SAXException  
    {  
    System.err.println("[Fatal Error] "+  
    getLocationString(ex)+": "+  
    ex.getMessage());  
    throw ex;  
    }  

    /** Returns a string of the location. */  
    private String getLocationString(SAXParseException ex)  
    {  
    StringBuffer str = new StringBuffer();  

    String systemId = ex.getSystemId();  
    if (systemId != null)  
    {  
    int index = systemId.lastIndexOf(`/`);  
    if (index != -1)  
    systemId = systemId.substring(index + 1);  
    str.append(systemId);  
    }  
    str.append(`:`);  
    str.append(ex.getLineNumber());  
    str.append(`:`);  
    str.append(ex.getColumnNumber());  

    return str.toString();  
    }  

    /** Main program entry point. */  
    public static void main(String argv[])  
    {  
    if (argv.length == 0)  
    {  
    System.out.println("Usage: java saxOne uri");  
    System.out.println(" where uri is the URI of your XML document.");  
    System.out.println(" Sample: java saxOne sonnet.xml");  
    System.exit(1);  
    }  

    saxOne s1 = new saxOne();  
    s1.parseURI(argv[0]);  
    }  
    }  

    saxCounter.java  

    /*  
    * (C) Copyright IBM Corp. 1999 All rights reserved.  
    *  
    * US Government Users Restricted Rights Use, duplication or  
    * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.  
    *  
    * The program is provided "as is" without any warranty express or  
    * implied, including the warranty of non-infringement and the implied  
    * warranties of merchantibility and fitness for a particular purpose.  
    * IBM will not be liable for any damages suffered by you as a result  
    * of using the Program. In no event will IBM be liable for any  
    * special, indirect or consequential damages or lost profits even if  
    * IBM has been advised of the possibility of their occurrence. IBM  
    * will not be liable for any third party claims against you.  
    */  

    import java.io.OutputStreamWriter;  
    import java.io.PrintWriter;  
    import java.io.UnsupportedEncodingException;  

    import org.xml.sax.AttributeList;  
    import org.xml.sax.HandlerBase;  
    import org.xml.sax.Parser;  
    import org.xml.sax.SAXException;  
    import org.xml.sax.SAXParseException;  
    import org.xml.sax.helpers.ParserFactory;  
    import com.ibm.xml.parsers.SAXParser;  

    /**  
    * saxCounter.java  
    * This sample program calculates statistics for an XML document,  
    * based on the SAX events received. When the parse is complete,  
    * it prints the statistics to standard output.  
    */  

    public class saxCounter  
    extends HandlerBase  
    {  
    int startDocumentEvents = 0;  
    int endDocumentEvents = 0;  
    int startElementEvents = 0;  
    int endElementEvents = 0;  
    int processingInstructionEvents = 0;  
    int characterEvents = 0;  
    int ignorableWhitespaceEvents = 0;  
    int warningEvents = 0;  
    int errorEvents = 0;  
    int fatalErrorEvents = 0;  

    public void parseURI(String uri)  
    {  
    SAXParser parser = new SAXParser();  
    parser.setDocumentHandler(this);  
    parser.setErrorHandler(this);  
    try  
    {  
    parser.parse(uri);  
    }  
    catch (Exception e)  
    {  
    System.err.println(e);  
    }  

    System.out.println("Document Statistics for " + uri + ":");  
    System.out.println("====================================");  
    System.out.println("DocumentHandler Events:");  
    System.out.println(" startDocument " +  
    startDocumentEvents);  
    System.out.println(" endDocument " +  
    endDocumentEvents);  
    System.out.println(" startElement " +  
    startElementEvents);  
    System.out.println(" endElement " +  
    endElementEvents);  
    System.out.println(" processingInstruction " +  
    processingInstructionEvents);  
    System.out.println(" character " +  
    characterEvents);  
    System.out.println(" ignorableWhitespace " +  
    ignorableWhitespaceEvents);  
    System.out.println("ErrorHandler Events:");  
    System.out.println(" warning " +  
    warningEvents);  
    System.out.println(" error " +  
    errorEvents);  
    System.out.println(" fatalError " +  
    fatalErrorEvents);  
    System.out.println(" ----------");  
    int totalEvents = startDocumentEvents + endDocumentEvents +  
    startElementEvents + endElementEvents +  
    processingInstructionEvents +  
    characterEvents + ignorableWhitespaceEvents +  
    warningEvents + errorEvents + fatalErrorEvents;  
    System.out.println("Total: " +  
    totalEvents + " Events");  
    }  

    /** Processing instruction. */  
    public void processingInstruction(String target, String data)  
    {  
    processingInstructionEvents++;  
    }  

    /** Start document. */  
    public void startDocument()  
    {  
    startDocumentEvents++;  
    }  

    /** Start element. */  
    public void startElement(String name, AttributeList attrs)  
    {  
    startElementEvents++;  
    }  

    /** Characters. */  
    public void characters(char ch[], int start, int length)  
    {  
    characterEvents++;  
    }  

    /** Ignorable whitespace. */  
    public void ignorableWhitespace(char ch[], int start, int length)  
    {  
    ignorableWhitespaceEvents++;  
    }  

    /** End element. */  
    public void endElement(String name)  
    {  
    endElementEvents++;  
    }  

    /** End document. */  
    public void endDocument()  
    {  
    endDocumentEvents++;  
    }  

    //  
    // ErrorHandler methods  
    //  

    /** Warning. */  
    public void warning(SAXParseException ex)  
    {  
    warningEvents++;  
    }  

    /** Error. */  
    public void error(SAXParseException ex)  
    {  
    errorEvents++;  
    }  

    /** Fatal error. */  
    public void fatalError(SAXParseException ex)  
    throws SAXException  
    {  
    fatalErrorEvents++;  
    throw ex;  
    }  

    /** Main program entry point. */  
    public static void main(String argv[])  
    {  
    if (argv.length == 0)  
    {  
    System.out.println("Usage: java saxCounter uri");  
    System.out.println(" where uri is the URI of your XML document.");  
    System.out.println(" Sample: java saxCounter sonnet.xml");  
    System.exit(1);  
    }  

    saxCounter sc = new saxCounter();  
    sc.parseURI(argv[0]);  
    } }   
    在保留http://www.javajia.com原出处的情况下,欢迎转载!

    ----------------------------------------------
    一点灵光在何处...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/5/28 23:42:00
     
     Kadis 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:6
      积分:80
      门派:XML.ORG.CN
      注册:2004/3/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Kadis发送一个短消息 把Kadis加入好友 查看Kadis的个人资料 搜索Kadis在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看Kadis的博客4
    发贴心情 
    我有的,谢谢,请发到我的邮箱:yamol@vip.sina.com
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/5/30 16:36:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML基础 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/6/23 11:06:40

    本主题贴数4,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    9,265.625ms